我使用logback 1.0.0,我的配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="true">
<appender name="STDOUT"
class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<charset>UTF-8</charset>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>
</encoder>
</appender>
<!--Daily rolling file appender -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>logsmotivosity_logback.log</File> <!-- make sure you have permissions on this file -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover -->
<FileNamePattern>logslogFile.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- or whenever the file size reaches 100MB -->
<maxFileSize>50MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!-- keep 30 days' worth of history -->
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<charset>UTF-8</charset>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>
</encoder>
</appender>
<logger name="com.myapp">
<level value="debug" />
</logger>
<logger name="org.ocpsoft.rewrite.faces">
<level value="debug" />
</logger>
<logger name="org.springframework.security.web.authentication">
<level value="debug" />
</logger>
<logger name="org.apache">
<level value="info" />
</logger>
<root>
<level value="info" />
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</root>
</configuration>
它在本地运行良好,但在cloudbees上,当我打开主页时
我在papertrailapp 中看不到任何日志
我使用日志如下:
private static Logger log = LoggerFactory.getLogger(MyBean.class);
if (log.isDebugEnabled()) {
log.debug("INIT MyBean");
}
请说明为什么它不起作用。
更新:
- 标准系统运行良好:
System.out.println("INIT MyBean");
我想记录.debug的类在com.myapp.web.controllers包中,我为com.myapp配置了记录器,如下所示:
但当我试着退出系统时System.out.println("######## DEBUG ENABLED: " + log.isDebugEnabled());
它打印false,这意味着这个类没有启用调试,这很奇怪。
- 我尝试了
log.info("@PostConstruct MyBean");
,结果很好,我尝试将根日志记录级别更改为debug,但仍然只记录信息
您需要让它适当地登录到STDOUT或STDERR:例如,请参阅:
logback.xml 中的文件和stdout附加程序
(可能有一些更好的)-确保日志可以进入任何子系统,并在应用程序迁移时集群工作。
证明我的配置是正确的,但它只适用于信息,错误级别和调试级别不起作用。