logback是一个开源的日志组件,是log4j的作者开发的用来替代log4j的。logback由三个部分组成,logback-core,logback-classic,logback-access。其中logback-core是其他两个模块的基础。
工具/原料
eclipse
java
JDK1.8
logback简介
1、什献垴淄睬么是logback?logback是一个开源的日志组件,是log4j的作者开发的用来替代log4j的。logback由三个部分组成,logbac娱浣嫁装k-core,logback-classic,logback-access。其中logback-core是其他两个模块的基础。logback-core是其它两个模块的基础。logback-classic模块可以看作是log4j的一个优化版本,它天然的支持SLF4J,所以你可以随意的从其它日志框架切回到logack。logback-access可以与Servlet容器进行整合。
2、logback的架构Lo壹执慵驾gback构建在三个主要的类上:Logger,Appender和Layouts。唁昼囫缍这三个不同类型的组件一起作用能够让开发者根据消息的类型以及日志的级别来打印日志。logger:作为日志的记录器,把它关联到应用的对应的context后,主要用于存放日志对象,也可以定义日志类型、级别。appender:主要用于指定日志输出的目的地,目的地可以是控制台、文件、远程套接字服务器、MySQL、PostreSQL、Oracle和其他数据库、JMS和远程UNIXSyslog守护进程等。layout:负责把事件转换成字符串,格式化日志信息的输出
按时间轮转生成日志(RollingFileAppender)
1、TimeBasedRollingPolicyTimeBasedRollingPolicy是最常用的轮转策略。它是基于时间来定义轮转策略。例如按天或者按月。TimeBasedRollingPolicy既负责轮转的行为,也负责触发轮转。实际上,TimeBasedRollingPolicy同时实现了RollingPolicy与TriggeringPolicy接口。
2、TimeBasedRollingPolicy的配置相关属性TimeBasedRollingPolicy的配置强制属性fileNamePattern以及其它的可选属性。fileNamePattern:该属性定义了轮转时的属性名。maxHistory:这个可选的属性用来控制最多保留多少数量的归档文件,将会异步删除旧的文件totalSizeCap:这个可选属性用来控制所有归档文件总的大小cleanHistoryOnStart:如果设置为true,那么在appender启动的时候,归档文件将会被删除。
使用TimeBasedRollingPolicy的那些事
1、fileNamePattern与fild的关系没有设置file属性:当天(分钟/时/月)的日志输出到fileNamePattern指向的日志。设置file属性:当天(分钟/时/月)的日志输出到file指向的日志,第二天凌晨日志输出到fileNamePattern指向的日志