2009-01-19 4 views
10

Dans la console IntelliJ, les traces de pile contiennent automatiquement des liens hypertexte qui vous dirigent vers les fichiers source pertinents. Les liens apparaissent à la fin de chaque ligne dans le format (Log4jLoggerTest.java:25). Je peux configurer log4j pour sortir le texte dans un format similaire. En Eclipse, la console a automatiquement transformé ce texte en liens. Dans IntelliJ, les traces de la pile sont des liens mais ma propre sortie sous la même forme reste non liée. Y a-t-il un moyen de faire en sorte qu'IntelliJ fasse de même?Can IntelliJ peut-il créer des hyperliens vers le code source à partir de la sortie de log4j?

Répondre

12

Oui, vous le pouvez, essayez ce modèle:

 
<param name="ConversionPattern" value="%-5p - [%-80m] - at %c.%M(%F:%L)%n"/> 
+1

Merci, cela fonctionne. La partie pertinente du modèle semble être la chaîne entière "at% c.% M (% F:% L)" –

+0

Je viens d'essayer cela avec intellij 12.0.4 et cela ne semble pas fonctionner, serait un grand fonctionnalité si –

+1

gratter ce commentaire précédent, j'ai simplement oublié de compiler mon code avec des informations de débogage: http://stackoverflow.com/questions/9937485/line-number-not-showing –

1

Je ne pense pas qu'il existe un moyen. Mais je pense que j'ai soumis cela comme une demande de fonctionnalité il y a longtemps. Peut-être que vous devriez faire la même chose. Jetbrains écoute ses clients. Mais cela peut prendre des années avant qu'ils mettent en œuvre des choses comme ça.

2

Pour votre information, dans Loback et Intellij 13 cela a fonctionné pour moi:

<pattern>%d{dd-MM-yyyy} %d{HH:mm:ss} %p %m - at %C.%M\(%F:%L\)%n</pattern> 

Note: Je avais besoin "à" et j'ai aussi besoin pour échapper aux parenthèses. De plus, la lettre «C» est le nom complet de la classe dans Logback.

Avec cette config je reçois une sortie comme:

10-06-2014 10:10:58 INFO Bean 'mbeanServer' of type [class com.sun.jmx.mbeanserver.JmxMBeanServer] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying) - at org.springframework.context.support.AbstractApplicationContext$BeanPostProcessorChecker.postProcessAfterInitialization(AbstractApplicationContext.java:1374) 

Et la dernière partie entre parenthèses apparaît comme un lien dans Intellij.

3

Il existe un plugin pour IntelliJ IDEA permettant d'obtenir des liens cliquables dans votre console appelés Awesome Console.

Questions connexes