现在越来越多的项目用 Slfj,而与它结合最好的 Log4j 替代品就是 Logback,下面是 Logback 的一个可供参考的基本的配置文件 logback.xml,可以控制台和文件同时输出,文件可进行两种类型的归档,分天存储日志,或按文件大小压缩日志归档。
Logback 和 Log4J 同出一人之手,而作者的专注点也在 Logback,Logback 有更好的性能,特别是在现代 Java 程序中。
一般是 rollingPolicy 和 triggeringPolicy 搭配使用,rollingPolicy 负责做什么,triggeringPolicy 管理什么时候做,而 FixedWindowRollingPolicy 本身就实现了 TriggeringPolicy 接口,所以它能够自我管理,不需要别人来推动就会做的。
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<!-- Reference Manual http://logback.qos.ch/manual/index.html -->
<
configuration
>
appender
name
"stdout"
class
"ch.qos.logback.core.ConsoleAppender"
>
pattern
>%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</
>
</
encoder
>
appender
>
"RollingFile"
"ch.qos.logback.core.rolling.RollingFileAppender"
>
filter
"ch.qos.logback.classic.filter.ThresholdFilter"
>
level
>TRACE</
>
filter
>
rollingPolicy
"ch.qos.logback.core.rolling.TimeBasedRollingPolicy"
>
fileNamePattern
>d:/log/Unmi-%d{yyyy-MM-dd}.log</
>
maxHistory
>10</
>
rollingPolicy
>
<!--file>d:/log/Unmi.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>d:/log/Unmi.%i.log.zip</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>10</maxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>5MB</maxFileSize>
</triggeringPolicy-->
>
>
>
>
root
level
"DEBUG"
>
appender-ref
ref
"stdout"
/>
"RollingFile"
/>
root
>
<!-- 下面配置一些第三方包的日志过滤级别,用于避免刷屏 -->
logger
"org.hibernate"
"WARN"
/>
"org.springframework"
/>
"com.opensymphony"
/>
"org.apache"
/>
<!-- show parameters for hibernate sql 专为 Hibernate 定制 -->
"org.hibernate.type.descriptor.sql.BasicExtractor"
/>
"org.hibernate.sql"
/>
"org.hibernate.engine.QueryParameters"
/>
"org.hibernate.engine.query.HQLQueryPlan"
/>
>
原文链接:https://www.f2er.com/xml/297318.html