Java >> Java tutorial >  >> Tag >> Log4j

farve slf4j/log4j output i eclipse

Jeg stødte lige på det samme problem, og det ser ud til, at logback-beagle simpelthen ikke virker i kepler. Jeg tror, ​​det virker i tidligere versioner af eclipse, men at følge installationsinstruktionerne fra http://logback.qos.ch/beagle/ og prøve et par andre ting (som farvemulighederne for logback med JAnsi) førte mig ingen vegne.

Det bedste alternativ, jeg har fundet (siden du bad om en), er Grep Console, som fungerer sammen med min kepler-installation og er meget konfigurerbar, så du kan anvende regex-baserede farvebetingelser på dit konsoloutput.

Med hensyn til dit "navigering fra log output"-punkt, som jeg antager betyder, at du vil være i stand til at klikke på et (Java) klassenavn og automatisk navigere til den tilsvarende klassedefinition, skal du blot konfigurere din konsoltilføjelse til at inkludere outputtet for fil og linjenummer, dvs. (%file:%line) (eller %F og %L hvis du foretrækker det; se mulighederne for mønsterlayout for flere detaljer). For eksempel, her er hvad jeg bruger i min logback.xml-fil:

<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>%-5level %d{dd/MM/yyyy HH:mm:ss.SSS} \(%file:%line\) - %message%n</pattern>
    </encoder>
</appender>

Det eneste problem med at bruge både Grep-konsollen og fil-linje-mønsteret er, at Grep-konsollens stiling af linjer skjuler det faktum, at klassens navn og linjenummer er klikbare (Grep-konsol-stilen tilsidesætter eclipses blå understregning af "linket") . Jeg formoder, at hvis du vil have "linkstilen", skal du omgå det ved at konfigurere et mønster i Grep-konsollen for at genkende disse links og style dem selv.

Rediger:Bare fordi det forstyrrede mig ikke at se de linkede Java-klasser, brugte jeg følgende mønster til at "linkify" Java-klasserne og linjenumrene:

([a-zA-Z]+\.java:\d+)

Jeg tilføjede et udtryk i "Administrer udtryk"-dialogen, kaldte det "Java-link", brugte ovenstående regex-mønster og stylede det til ikke at bruge nogen stil for "Hele linjen" (dvs. det vil arve stilen baseret på logniveauet) og definerede "Gruppe 1"-stil som blå (#0000ff) forgrundsfarve og blå understregning med en lyseblå baggrund (#c0ffff), så den vil tilsidesætte baggrundsfarven på resten af ​​linjen:


Java tag