logback常用配置
2016-01-05 00:00
253 查看
摘要: logback-classic-1.1.3.jar
logback-core-1.1.3.jar
slf4j-api-1.7.12.jar
1实现.控制台输出
2实现:将所有的日志消息一直追加到指定的文件中
3实现:每天产生一个日志文件且只保存最近10天的日志
4实现.一天产生一个日志,如果当天日志超过10M将进行再分割
5实现:所有的日志消息追加到一个日志文件中,如果该文件超过100M,就将其打包成zip.(归档个数不限)
注意:*fileNamePattern不能使用%d,
*如果归档文件名为backup%i.zip,那么日志文件的后缀名(log)将丢失
6实现: 【在5实的基础上添加】只保存最近的3个归档文件(.zip)
7.输出到数据库
logback-core-1.1.3.jar
slf4j-api-1.7.12.jar
1实现.控制台输出
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <target>System.out</target> <encoder> <Pattern> %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36}-%msg%n </Pattern> <charset>utf-8</charset> </encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>error</level> <onMatch>DENY</onMatch> <onMismatch>ACCEPT</onMismatch> </filter> </appender> <appender name="STDOUT_ERROR" class="ch.qos.logback.core.ConsoleAppender"> <target>System.err</target> <encoder> <Pattern> %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} -%msg%n </Pattern> <charset>utf-8</charset> </encoder> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>error</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender>
2实现:将所有的日志消息一直追加到指定的文件中
<appender name="FILE_APPEND" class="ch.qos.logback.core.FileAppender"> <file>F:/log/test/logback.log</file> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <Pattern> %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} -%msg%n </Pattern> <charset>utf-8</charset> </encoder> <append>true</append> </appender>
3实现:每天产生一个日志文件且只保存最近10天的日志
<appender name="FILE_LIMITED_ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>F:/log/test/today.log</file> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] %logger{36} - %msg%n</pattern> <charset>utf-8</charset> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>F:/log/test/%d{yyyy-MM-dd}.log</fileNamePattern> <!-- 10 day --> <maxHistory>10</maxHistory> </rollingPolicy> </appender>
4实现.一天产生一个日志,如果当天日志超过10M将进行再分割
<appender name="FILE_DAILY_ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>F:/log/test/today.log</file> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <Pattern> %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n </Pattern> <charset>utf-8</charset> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- rollover daily --> <fileNamePattern>F:/log/test/%d.%i.log</fileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>10MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> </appender>
5实现:所有的日志消息追加到一个日志文件中,如果该文件超过100M,就将其打包成zip.(归档个数不限)
注意:*fileNamePattern不能使用%d,
*如果归档文件名为backup%i.zip,那么日志文件的后缀名(log)将丢失
<appender name="FILE_ARCHIVE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>F:/log/test/logback.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> <fileNamePattern>F:/log/test/backup%i.log.zip</fileNamePattern> </rollingPolicy> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>100MB</maxFileSize> </triggeringPolicy> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %level %logger{36} - %msg%n</pattern> </encoder> </appender>
6实现: 【在5实的基础上添加】只保存最近的3个归档文件(.zip)
<appender name="FILE_LIMITED_ARCHIVE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>F:/log/test/logback.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> <fileNamePattern>F:/log/test/backup%i.log.zip</fileNamePattern> <minIndex>1</minIndex> <maxIndex>3</maxIndex> </rollingPolicy> <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> <maxFileSize>100MB</maxFileSize> </triggeringPolicy> <encoder> <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %level %logger{36} - %msg%n</pattern> </encoder> </appender>
7.输出到数据库
<!--日志异步到数据库 --> <appender name="DB" class="ch.qos.logback.classic.db.DBAppender"> <!--日志异步到数据库 --> <connectionSource class="ch.qos.logback.core.db.DriverManagerConnectionSource"> <!--连接池 --> <dataSource class="com.mchange.v2.c3p0.ComboPooledDataSource"> <driverClass>com.mysql.jdbc.Driver</driverClass> <url>jdbc:mysql://127.0.0.1:3306/databaseName</url> <user>root</user> <password>root</password> </dataSource> </connectionSource> </appender> 建表如下: BEGIN; DROP TABLE IF EXISTS logging_event_property; DROP TABLE IF EXISTS logging_event_exception; DROP TABLE IF EXISTS logging_event; COMMIT; BEGIN; CREATE TABLE logging_event ( timestmp BIGINT NOT NULL, formatted_message TEXT NOT NULL, logger_name VARCHAR(254) NOT NULL, level_string VARCHAR(254) NOT NULL, thread_name VARCHAR(254), reference_flag SMALLINT, arg0 VARCHAR(254), arg1 VARCHAR(254), arg2 VARCHAR(254), arg3 VARCHAR(254), caller_filename VARCHAR(254) NOT NULL, caller_class VARCHAR(254) NOT NULL, caller_method VARCHAR(254) NOT NULL, caller_line CHAR(4) NOT NULL, event_id BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY ); COMMIT; BEGIN; CREATE TABLE logging_event_property ( event_id BIGINT NOT NULL, mapped_key VARCHAR(254) NOT NULL, mapped_value TEXT, PRIMARY KEY(event_id, mapped_key), FOREIGN KEY (event_id) REFERENCES logging_event(event_id) ); COMMIT; BEGIN; CREATE TABLE logging_event_exception ( event_id BIGINT NOT NULL, i SMALLINT NOT NULL, trace_line VARCHAR(254) NOT NULL, PRIMARY KEY(event_id, i), FOREIGN KEY (event_id) REFERENCES logging_event(event_id) ); COMMIT;
相关文章推荐
- 十二年磨一剑 泊众铸就棋牌行业 “铁血雄狮”
- 2016 Nike Air Max 90
- 2016 Timberland 6 Inch Homme
- SwitchHosts
- http requests初识与使用
- Xcode警告错误处理
- mysql导出、导入
- 美图案例,相册,AES加密,MD5, UIDevice_设备 ZXing
- 代理模式详解
- 帆软报表FineReport中数据连接之Jboss配置JNDI连接
- PDU的编码--SMS编码
- eclipse 安装 git 插件
- Solr的安装部署及简单使用
- Zbrush编辑物体教程
- 在蜂窝教育Java培训 毕业即就业
- Common Lisp集合运算
- JAVA中StringBuffer类使用方法详解
- UITextField
- Mac中如何使用终端SSH连接远程Linux服务器
- CentOS中使用wget下载远程ftp文件