备注:上述配置表示每天生成一个日志文件,保存30天的日志文件 。
<configuration><appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>test.log</file><rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"><fileNamePattern>tests.%i.log.zip</fileNamePattern><minIndex>1</minIndex><maxIndex>3</maxIndex></rollingPolicy><triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"><maxFileSize>5MB</maxFileSize></triggeringPolicy><encoder><pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern></encoder></appender><root level="DEBUG"><appender-ref ref="FILE" /></root> </configuration>
备注:上述配置表示按照固定窗口模式生成日志文件,当文件大于5MB时,生成新的日志文件 。窗口大小是1到3,当保存了3个归档文件后,将覆盖最早的日志 。<encoder>:对记录事件进行格式化 。负责两件事,一是把日志信息转换成字节数组,二是把字节数组写入到输出流 。PatternLayoutEncoder 是唯一有用的且默认的encoder ,有一个<pattern>节点,用来设置日志的输入格式 。使用“%”加“转换符”方式,如果要输出“%”,则必须用“”对“%”进行转义 。
5.4、还有SocketAppender、SMTPAppender、DBAppender、SyslogAppender、SiftingAppender,并不常用,这里就不详解了 。大家可以参考官方文档(
http://logback.qos.ch/documentation.html),还可以编写自己的Appender 。
- (6)子节点<loger>:用来设置某一个包或具体的某一个类的日志打印级别、以及指定<appender> 。<loger>仅有一个name属性,一个可选的level和一个可选的additivity属性 。
name: 用来指定受此loger约束的某一个包或者具体的某一个类 。
level: 用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL和OFF,还有一个特殊值INHERITED或者同义词NULL,代表强制执行上级的级别 。如果未设置此属性,那么当前loger将会继承上级的级别 。
additivity: 是否向上级loger传递打印信息 。默认是true 。同<loger>一样,可以包含零个或多个<appender-ref>元素,标识这个appender将会添加到这个loger 。
- (7)子节点<root>:它也是<loger>元素,但是它是根loger,是所有<loger>的上级 。只有一个level属性,因为name已经被命名为"root",且已经是最上级了 。
六、常用logger配置
<!-- show parameters for hibernate sql 专为 Hibernate 定制 --><logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="TRACE" /><logger name="org.hibernate.type.descriptor.sql.BasicExtractor" level="DEBUG" /><logger name="org.hibernate.SQL" level="DEBUG" /><logger name="org.hibernate.engine.QueryParameters" level="DEBUG" /><logger name="org.hibernate.engine.query.HQLQueryPlan" level="DEBUG" /><!--myibatis log configure--><logger name="com.Apache.ibatis" level="TRACE"/><logger name="java.sql.Connection" level="DEBUG"/><logger name="java.sql.Statement" level="DEBUG"/><logger name="java.sql.PreparedStatement" level="DEBUG"/>
七、Demo- (1)添加依赖包logback使用需要和slf4j一起使用,所以总共需要添加依赖的包有slf4j-api
<properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><logback.version>1.1.7</logback.version><slf4j.version>1.7.21</slf4j.version></properties><dependencies><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>${slf4j.version}</version><scope>compile</scope></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-core</artifactId><version>${logback.version}</version></dependency><dependency><groupId>ch.qos.logback</groupId><artifactId>logback-classic</artifactId><version>${logback.version}</version></dependency></dependencies>
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 推荐算法为啥这么“灵”,又为啥会“失灵”?
- “显示器黑屏无信号,但电脑一直在运行”的解决办法
- |“同学你好,请携带好简历来我司面试”
- 数学|川大毕业的“红衣”空姐走红,抛出年龄数学题:两数相加等于6
- 乌龙茶属于什么茶?
- 中国发现的“神秘月球小屋”现真身
- 零食如何健康吃?挑选零食别“闯红灯”
- 年货买肘子,你知道“前肘”和“后肘”差别有多大吗?别买错了
- 买食盐时,要区分“2721”和“5461”,只是数字不同,差别却不小
- 有人说:“选红茶,要选陈年红茶。新红茶有土腥气。”请问:这种看法对吗?[红茶]