读书人

logback.xml配备讲解

发布时间: 2012-12-22 12:05:07 作者: rapoo

logback.xml配置讲解

logback是log4j作者推出的新日志系统,原生支持slf4j通用日志api,允许平滑切换日志系统,并且对简化应用部署中日志处理的工作做了有益的封装。

官方地址为:http://logback.qos.ch/

Logback日志需要依赖一下jar包:

slf4j-api-1.6.0.jar

logback-core-0.9.21.jar

logback-classic-0.9.21.jar

logback-access-0.9.21.jar

主配置文件为logback.xml,放在src目录下或是WEB-INF/classes下,logback会自动加载

logback.xml的基本结构如下:

view plaincopy to clipboardprint?
01.<?xml version="1.0" encoding="UTF-8"?>?
02.<configuration>?
03.<appender name="STDOUT" /></root>?
09.</configuration>?
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="STDOUT" /></root>
</configuration>

logback.xml的基本配置信息都包含在configuration标签中,需要含有至少一个appender标签用于指定日志输出方式和输出格式,root标签为系统默认日志进程,通过level指定日志级别,通过appender-ref关联前面指定顶的日志输出方式。

例子中的appender使用的是ch.qos.logback.core.ConsoleAppender类,用于对控制台进行日志输出

其中encoder标签指定日志输出格式为“时间 线程 级别 类路径 信息”

logback的文件日志输出方式还提供多种日志分包策略

1.文件日志

view plaincopy to clipboardprint?
01.<appender name="ROLLING" level="DEBUG">?
02.??????? <appender-ref ref="STDOUT" />?
03.????? </logger>?
<logger name="com.test" level="DEBUG">
??????? <appender-ref ref="STDOUT" />
????? </logger>

其中name指定线程针对的包路径,level是日志级别,<appender-ref>定义使用那种appender。

例如要实现打印jdbc提交的sql,可以加入如下logger:

<logger name="java.sql.Connection" level="DEBUG"><appender-ref ref="STDOUT" /></logger>

贴出我完整的logback.xml

view plaincopy to clipboardprint?
01.<?xml version="1.0" encoding="UTF-8"?>?
02.<configuration>?
03.? <!-- log output to file? -->?
04.? <appender name="ROLLING" level="DEBUG">?
40.??????? <appender-ref ref="STDOUT" />?
41.??? </logger>?
42.???
43.??? <logger name="java.sql.Connection" level="DEBUG"><appender-ref ref="STDOUT" /></logger>?
44.???? <!--? 打印sql??
45.??? <logger name="java.sql.Statement" level="DEBUG"><appender-ref ref="STDOUT" /></logger>?
46.??? <logger name="java.sql.PreparedStatement" level="DEBUG"><appender-ref ref="STDOUT" /></logger>?
47.??????
48.??? <logger name="java.sql.ResultSet" level="DEBUG"><appender-ref ref="STDOUT" /></logger>?
49.??? -->?
50.? <root level="DEBUG"><appender-ref ref="ROLLING" /></root>?
51.</configuration>?
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
? <!-- log output to file? -->
? <appender name="ROLLING" level="DEBUG">
??? ?<appender-ref ref="STDOUT" />
? ?</logger>
?
? ?<logger name="java.sql.Connection" level="DEBUG"><appender-ref ref="STDOUT" /></logger>
? ? <!--? 打印sql
? ?<logger name="java.sql.Statement" level="DEBUG"><appender-ref ref="STDOUT" /></logger>
? ?<logger name="java.sql.PreparedStatement" level="DEBUG"><appender-ref ref="STDOUT" /></logger>
? ?
? ?<logger name="java.sql.ResultSet" level="DEBUG"><appender-ref ref="STDOUT" /></logger>
? ?-->
? <root level="DEBUG"><appender-ref ref="ROLLING" /></root>
</configuration>

总结:logback提供了丰富而高效的日志输出方式,并通过滚动策略,将实施时复杂的备份策略整合,极大的简化的部署成本,有兴趣的朋友可已考虑放到自己的项目里.官方提供了几百页的文档,内容相当详细,更多的内容请参照官方文档。

?

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jiaincs/archive/2010/06/22/5686287.aspx

读书人网 >XML SOAP

热点推荐