Ich verwende Logback in meinem Projekt und es wird nicht in eine Datei protokolliert.Logback protokolliert nicht in Datei
Meine logback.xml sieht aus wie dieses
<property file="api.properties"/>
<appender name="FILE-AUDIT"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>c:/debug.log</file>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<Pattern>
%d{yyyy-MM-dd HH:mm:ss} - %msg%n
</Pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- rollover daily -->
<fileNamePattern>c:/archived/debug.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
</appender>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- encoders are assigned the type
ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern>
</encoder>
</appender>
<logger name="JDBC" level="INFO" additivity="false">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE-AUDIT" />
</logger>
<logger name="RESTSecurity" level="INFO" additivity="false">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE-AUDIT" />
</logger>
<logger name="models" level="INFO" additivity="false">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE-AUDIT" />
</logger>
<!-- Strictly speaking, the level attribute is not necessary since -->
<!-- the level of the root level is set to DEBUG by default. -->
<root level="DEBUG">
<appender-ref ref="STDOUT" />
</root>
und es ist in WEB-INF/classes gestellt.
Ich benutze diese Abhängigkeiten
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${logback.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>${logback.version}</version>
</dependency>
Wenn ich meine App-Server auf WebLogic betreibe ich meine Log-Meldungen in der Konsole aber nicht Protokolldateien erstellen. Wer weiß, was könnte falsch sein?
EDIT: I versucht, beide
private static final Logger logger = LoggerFactory.getLogger("JDBC");
und
private static final Logger logger = LoggerFactory.getLogger(Roles.class);
verwenden wie die Klasse in JDBC-Paket ist. Dann mache ich nur
logger.info("Initializing roles");
EDIT2: Da Protokollmeldungen i in der Konsole erhalten anders aussieht als von dem, was in logback.xml ist es sieht aus wie es meine logback.xml überhaupt nicht ignorieren.
Bitte zeigen Sie Ihren Code, wie Sie verschiedene Logger in logback Konfiguration verwenden. – Rouliboy
@Rouliboy Ich habe es in EDIT –
hinzugefügt Versuchen Sie, Zeilenumbrüche und Leerzeichen zwischen ' c: /archived/debug.%d {JJJJ-MM-TT}.% I.log' und' fileNamePattern> 'zu entfernen . Sind Sie sicher, dass die Anwendung die Berechtigung zum Erstellen der entsprechenden Datei hat und das Verzeichnis "c:/archived" bereits existiert? –
yeputons