我在我的項目中使用logback並且它不登錄到文件。Logback不會登錄到文件
我logback.xml看起來像這樣
<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>
並且將其放置在WEB-INF/classes中。
我用這些依賴
<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>
當我跑我的WebLogic服務器上的應用程序,我在控制檯中我的日誌消息,但不會創建日誌文件。 任何人都知道什麼可能是錯的?
編輯: 我試圖同時使用
private static final Logger logger = LoggerFactory.getLogger("JDBC");
和
private static final Logger logger = LoggerFactory.getLogger(Roles.class);
作爲類是在JDBC包。 然後,我只是做
logger.info("Initializing roles");
EDIT2: 因爲日誌消息我在控制檯中看到顯示的內容與在logback.xml它看起來像它不會忽略我logback.xml都不同。
請出示你的代碼,你在的logback配置中使用不同的記錄器。 – Rouliboy
@Rouliboy我已將其添加到編輯中 –
嘗試刪除' c:/archived/debug.%d {yyyy-MM-dd}。%i.log'和' fileNamePattern>之間的換行符和空格「 。你確定應用程序有權限創建相應的文件並且'c:/ archived'目錄已經存在嗎? –
yeputons