您的位置:首页 > 其它

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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: