logback.xml日志文件
2016-03-02 18:29
232 查看
<?xml version="1.0" encoding="UTF-8" ?> <configuration scan="true" scanPeriod="1800 seconds" debug="false"> <property name="USER_HOME" value="logs" /> <property scope="context" name="FILE_NAME" value="flow-log" /> <property scope="context" name="FILE_SIZE" value="500MB" /> <timestamp key="byDateTime" datePattern="yyyy-MM-dd" /> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n </pattern> </encoder> <!-- 此日志appender是为开发使用,只配置最底级别,控制台输出的日志级别是大于或等于此级别的日志信息--> <filter class="ch.qos.logback.classic.filter.ThresholdFilter"> <level>DEBUG</level> </filter> </appender> <appender name="file-info" class="ch.qos.logback.core.rolling.RollingFileAppender"> <append>true</append> <prudent>false</prudent> <file>${catalina.home}/logs/${FILE_NAME}-INFO.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- rollover daily hours --> <fileNamePattern>${catalina.home}/logs/${byDateTime}/${FILE_NAME}-INFO-%d{yyyy-MM-dd-HH}-%i.log.zip </fileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <!-- or whenever the file size reaches 100MB --> <maxFileSize>${FILE_SIZE}</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> <minIndex>1</minIndex> <maxIndex>30</maxIndex> </rollingPolicy> <encoder> <pattern>%-4relative %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg%n </pattern> </encoder> <!-- 此日志文件只记录info级别,不记录大于info级别的日志 --> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>INFO</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <!-- 异步输出 --> <appender name ="async-file-info" class= "ch.qos.logback.classic.AsyncAppender"> <!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 --> <discardingThreshold >0</discardingThreshold> <!-- 更改默认的队列的深度,该值会影响性能.默认值为256 --> <queueSize>512</queueSize> <!-- 添加附加的appender,最多只能添加一个 --> <appender-ref ref ="file-info"/> </appender> <appender name="file-debug" class="ch.qos.logback.core.rolling.RollingFileAppender"> <append>true</append> <prudent>false</prudent> <file>${catalina.home}/logs/${FILE_NAME}-DEBUG.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- rollover daily hours --> <fileNamePattern>${catalina.home}/logs/${byDateTime}/${FILE_NAME}-DEBUG-%d{yyyy-MM-dd-HH}-%i.log.zip </fileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <!-- or whenever the file size reaches 100MB --> <maxFileSize>${FILE_SIZE}</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> <minIndex>1</minIndex> <maxIndex>30</maxIndex> </rollingPolicy> <encoder> <pattern>%-4relative %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg%n </pattern> </encoder> <!-- 此日志文件只记录DEBUG级别,不记录大于DEBUG级别的日志 --> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>DEBUG</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <!-- 异步输出 --> <appender name ="async-file-debug" class= "ch.qos.logback.classic.AsyncAppender"> <!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 --> <discardingThreshold >0</discardingThreshold> <!-- 更改默认的队列的深度,该值会影响性能.默认值为256 --> <queueSize>512</queueSize> <!-- 添加附加的appender,最多只能添加一个 --> <appender-ref ref ="file-debug"/> </appender> <appender name="file-warn" class="ch.qos.logback.core.rolling.RollingFileAppender"> <append>true</append> <prudent>false</prudent> <file>${catalina.home}/logs/${FILE_NAME}-WARN.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- rollover daily hours --> <fileNamePattern>${catalina.home}/logs/${byDateTime}/${FILE_NAME}-WARN-%d{yyyy-MM-dd-HH}-%i.log.zip </fileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <!-- or whenever the file size reaches 100MB --> <maxFileSize>${FILE_SIZE}</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> <minIndex>1</minIndex> <maxIndex>30</maxIndex> </rollingPolicy> <encoder> <pattern>%-4relative %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg%n </pattern> </encoder> <!-- 此日志文件只记录warn级别,不记录大于warn级别的日志 --> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>WARN</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <appender name ="async-file-warn" class= "ch.qos.logback.classic.AsyncAppender"> <!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 --> <discardingThreshold >0</discardingThreshold> <!-- 更改默认的队列的深度,该值会影响性能.默认值为256 --> <queueSize>512</queueSize> <!-- 添加附加的appender,最多只能添加一个 --> <appender-ref ref ="file-warn"/> </appender> <appender name="file-error" class="ch.qos.logback.core.rolling.RollingFileAppender"> <append>true</append> <prudent>false</prudent> <file>${catalina.home}/logs/${FILE_NAME}-ERROR.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- rollover daily hours --> <fileNamePattern>${catalina.home}/logs/${byDateTime}/${FILE_NAME}-ERROR-%d{yyyy-MM-dd-HH}-%i.log.zip </fileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <!-- or whenever the file size reaches 100MB --> <maxFileSize>${FILE_SIZE}</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> <minIndex>1</minIndex> <maxIndex>30</maxIndex> </rollingPolicy> <encoder> <pattern>%-4relative %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg%n </pattern> </encoder> <!-- 此日志文件只记录ERROR级别,不记录大于ERROR级别的日志 --> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <appender name ="async-file-error" class= "ch.qos.logback.classic.AsyncAppender"> <!-- 不丢失日志.默认的,如果队列的80%已满,则会丢弃TRACT、DEBUG、INFO级别的日志 --> <discardingThreshold >0</discardingThreshold> <!-- 更改默认的队列的深度,该值会影响性能.默认值为256 --> <queueSize>512</queueSize> <!-- 添加附加的appender,最多只能添加一个 --> <appender-ref ref ="file-error"/> </appender> <logger name="java.sql.PreparedStatement" level="DEBUG" /> <logger name="java.sql.Connection" level="DEBUG" /> <logger name="java.sql.Statement" level="DEBUG" /> <logger name="com.ibatis" level="DEBUG" /> <logger name="com.ibatis.common.jdbc.SimpleDataSource" level="DEBUG" /> <logger name="com.ibatis.common.jdbc.ScriptRunner" level="DEBUG"/> <logger name="com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate" level="DEBUG" /> <logger name="venus" level="WARN" /> <logger name="com.meidusa" level="WARN" /> <logger name="org.quartz" level="WARN" /> <logger name="org.apache.activemq" level="ERROR" /> <logger name="org.springframework.jms.connection" level="ERROR" /> <!-- 生产环境,将此级别配置为适合的级别,以免日志文件太多或影响程序性能 --> <root level="DEBUG"> <appender-ref ref="STDOUT" /> <appender-ref ref="async-file-info" /> <appender-ref ref="async-file-warn" /> <appender-ref ref="async-file-debug" /> <appender-ref ref="async-file-error" /> </root> </configuration>
相关文章推荐
- 文本分类之降维技术之特征抽取之SVD矩阵的分解的原理的介绍
- 软件测试(一)——曾经遇到的Bug
- 上海交通大学2016年硕士复试基本分数线
- 搭建自己的ngrok服务
- 网页操作唤醒APP
- 知道两点坐标,怎么计算两点方向的方位角
- Ipython
- Activity TouchEvent 源码分析
- 基础练习 杨辉三角形
- 5职业源码的问题
- Huffman树概念及理解
- 关于java中的try-catch-finally语句和return
- Swift - 生成二维码
- centos编译hadoop2.7.2 本地库
- 基础练习 杨辉三角形
- mysql 参数调优
- redis安装
- B. Far Relative’s Problem
- 使用JS显示弹出窗口
- HTML5触摸屏touch事件使用实例1