【发布时间】:2018-01-12 02:43:00
【问题描述】:
我在我的 Spring Boot 应用程序中使用 Logback。
问题是 logback 不要在 'eclipse' 控制台中为我的 2 个包 dao 和 web 打印我的记录器消息。
日志文件写入没有任何问题,并打印我的记录器消息。
我是 root,所以我可能应该在控制台中看到我的记录器消息。
- logger.info("Page X INFO");
- logger.debug("Page X 调试");
这是我的 logback.xml 文件:
<?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>
【问题讨论】:
-
如何获得记录器?
LoggerFactory.getLogger( Classname.class )或明确的getLogger( "package.web" )? -
我正在使用这个:private final Logger logger = LoggerFactory.getLogger(this.getClass());然后我写我的消息,比如 logger.info("Page X INFO");
-
您可以尝试改用
getLogger( WhatEverClassName.class )。如果您收到重复条目,请从 logger 配置中删除 appender refs。正如我在更新中所写,我希望附加程序是从根目录继承的。此外,您可以将private final static设为推荐模式。
标签: java spring-mvc logging spring-boot logback