您的位置:首页 > 其它

使用SLF4J 实现热加载日志级别

2015-12-08 16:48 519 查看
官网链接:http://www.slf4j.org/        

简单的例子参考:http://download.csdn.net/detail/sxg0205/9337449

logback.xml(该配置文件必须要放到编译后的文件目录的classes目录下才会被读取): <?xml version="1.0" encoding="UTF-8"?>
<!-- scanPeriod default 1 minutes
milliseconds, seconds, minutes or hours -->
<!-- debug为true表示启动时会在控制台打印slf4j的启动日志,scan为true表示热加载,scanPeriod表示扫描周期
此处即表示项目正常使用过程中会每7秒重新扫描一次该配置文件-->
<configuration debug="true" scan="true" scanPeriod="7 seconds">

<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!-- 日志打印格式 时间 日志级别 -方法名称 日志内容-->
<pattern>%date %level [%thread] %logger - %msg%n</pattern>
</encoder>
</appender>

<!-- 生成日志文件 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover 文件名称 -->
<fileNamePattern>mediate-service.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- keep 30 days' worth of history -->
<!-- <maxHistory>30</maxHistory> -->
</rollingPolicy>
<encoder>
<pattern>%date %level [%thread] %logger - %msg%n</pattern>
</encoder>
</appender>

<!-- 日志级别 TRACE, DEBUG, INFO, WARN, ERROR -->
<root level="DEBUG">
<appender-ref ref="CONSOLE" />
<appender-ref ref="FILE" />
</root>

</configuration>

代码配置(测试类):package slf4j;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class slf4jPrint {

private static Logger logger = LoggerFactory.getLogger(slf4jPrint.class);

public static void main(String[] args) {
logger.debug("debug.....{}...{}", 1, 2);
logger.info("info.....{}", 1);

testPrint();
}

public static void testPrint() {
logger.debug("testPrint syso");
}
}

依赖jar包:

logback.xml加载方式:

项目运行加载到private static Logger logger = LoggerFactory.getLogger(slf4jPrint.class);时会到依赖包里寻找指定的配置文件logback.xml(详情参见logback-classic包ContextInitializer.class中的配置),故此处配置文件名称不可变动,加载完成后即可直接调用slf4j接口打印日志;根据实际需要修改配置文件中的<pre name="code" class="html"><root level="DEBUG">为指定日志级别,等下次扫描完成后当前日志级别即会变更为选择的日志级别;

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: