Ich verwende Logback in meiner Spring-Boot-Anwendung.Logback kann nicht in Konsole schreiben
Das Problem ist logback nicht die Logger-Nachrichten in 'Eclipse' Konsole für meine beiden 2 Pakete dao und Web drucken.
Die Protokolldatei wird ohne Probleme geschrieben, und meine Loggermeldungen drucken.
Ich bin die Wurzel, also sollte ich wahrscheinlich meine Logger-Nachrichten in meiner Konsole sehen.
- logger.info ("Seite X INFO");
- logger.debug ("Seite X Debug");
Hier ist meine logback.xml Datei:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- Send debug messages to System.out -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- By default, encoders are assigned the type ch.qos.logback.classic.encoder.PatternLayoutEncoder -->
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern>
</encoder>
</appender>
<!-- Send debug messages to a file at "C:/logs/Log.log" -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>C:/logs/Log.log</file>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<Pattern>%d{yyyy-MM-dd_HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<FileNamePattern>C:/logs/Log.%i.log.zip</FileNamePattern>
<MinIndex>1</MinIndex>
<MaxIndex>10</MaxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>10MB</MaxFileSize>
</triggeringPolicy>
</appender>
<logger name="package.web" level="INFO" >
<appender-ref ref="FILE" />
</logger>
<logger name="package.dao" level="DEBUG" >
<appender-ref ref="FILE" />
</logger>
<!-- By default, the level of the root level is set to DEBUG -->
<root level="DEBUG">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</root>
</configuration>
Wie bekommen Sie die Logger? 'LoggerFactory.getLogger (Classname.class)' oder explizit 'getLogger (" package.web ")'? – Fildor
Ich benutze dies: private final Logger Logger = LoggerFactory.getLogger (this.getClass()); und dann schreibe ich meine Nachricht wie logger.info ("Page X INFO"); – NeptuneZ
Sie können stattdessen versuchen, 'getLogger (WhatEverClassName.class)' 'zu verwenden. Wenn du Dupe-Einträge erhältst, entferne die Appender Refs aus der Logger-Konfiguration. Wie ich in meinem Update schreibe, würde ich erwarten, dass die Appender von root geerbt werden. Sie können auch das 'private final static' machen, welches das empfohlene Muster ist. – Fildor