<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true">
<property name="LOG_PATH" value="/data/logs/push-open-unicast-service"/>
<property name="DEBUG_PATTERN" value="%-20(%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread]) %-5level [%logger{80}:%line] - %msg%n"/>
<property name="INFO_PATTERN" value="%-20(%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread]) %-5level %logger{80} - %msg%n"/>
<property name="MONITOR_PATTEN" value="%-10(%d{HH:mm:ss.SSS}) - %msg%n"/>
<!-- 控制檯輸出 -->
<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
<Target>System.out</Target>
<encoder>
<pattern>%-20(%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread]) %-5level %logger{80} - %msg%n</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>DEBUG</level>
</filter>
</appender>
<!-- DEBUG -->
<appender name="DEBUG" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${LOG_PATH}/debug.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${LOG_PATH}/%d{yyyy-MM-dd}/debug_%d{yyyy-MM-dd}.log.gz</FileNamePattern>
</rollingPolicy>
<maxHistory>3</maxHistory>
<encoder charset="UTF-8">
<pattern>${DEBUG_PATTERN}</pattern>
</encoder>
</appender>
<appender name="ASYNC_DEBUG" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="DEBUG"/>
</appender>
<!-- INFO -->
<appender name="INFO" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${LOG_PATH}/info.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${LOG_PATH}/%d{yyyy-MM-dd}/info_%d{yyyy-MM-dd}.log.gz</FileNamePattern>
</rollingPolicy>
<maxHistory>3</maxHistory>
<encoder charset="UTF-8">
<pattern>${INFO_PATTERN}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<OnMismatch>DENY</OnMismatch>
<OnMatch>ACCEPT</OnMatch>
</filter>
</appender>
<appender name="ASYNC_INFO" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="INFO"/>
</appender>
<!-- WARN -->
<appender name="WARN" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${LOG_PATH}/warn.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${LOG_PATH}/%d{yyyy-MM-dd}/warn_%d{yyyy-MM-dd-HH}.log.gz</FileNamePattern>
</rollingPolicy>
<maxHistory>48</maxHistory>
<encoder charset="UTF-8">
<pattern>${INFO_PATTERN}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>WARN</level>
<OnMismatch>DENY</OnMismatch>
<OnMatch>ACCEPT</OnMatch>
</filter>
</appender>
<appender name="ASYNC_WARN" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="WARN"/>
</appender>
<!-- ERROR -->
<appender name="ERROR" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${LOG_PATH}/error.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${LOG_PATH}/%d{yyyy-MM-dd}/error_%d{yyyy-MM-dd}.log.gz</FileNamePattern>
</rollingPolicy>
<maxHistory>3</maxHistory>
<encoder charset="UTF-8">
<pattern>${INFO_PATTERN}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<OnMismatch>DENY</OnMismatch>
<OnMatch>ACCEPT</OnMatch>
</filter>
</appender>
<appender name="ASYNC_ERROR" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="ERROR"/>
</appender>
<!-- DISCONF -->
<appender name="DISCONF" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${LOG_PATH}/error.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${LOG_PATH}/%d{yyyy-MM-dd}/error_%d{yyyy-MM-dd}.log.gz</FileNamePattern>
</rollingPolicy>
<encoder charset="UTF-8">
<pattern>${INFO_PATTERN}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<OnMismatch>DENY</OnMismatch>
<OnMatch>ACCEPT</OnMatch>
</filter>
</appender>
<appender name="ASYNC_DISCONF" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="DISCONF"/>
</appender>
<!-- UNICAST TRACE -->
<appender name="UNICAST_TRACE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${LOG_PATH}/unicast_trace.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${LOG_PATH}/%d{yyyy-MM-dd}/unicast_trace_%d{yyyy-MM-dd-HH}.log.gz</FileNamePattern>
</rollingPolicy>
<maxHistory>48</maxHistory>
<encoder charset="UTF-8">
<pattern>%msg%n</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<OnMismatch>DENY</OnMismatch>
<OnMatch>ACCEPT</OnMatch>
</filter>
</appender>
<appender name="ASYNC_UNICAST_TRACE" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="UNICAST_TRACE"/>
</appender>
<!-- UNICAST NOTIFICATION -->
<appender name="UNICAST_NOTIFICATION" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${LOG_PATH}/unicast_push.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${LOG_PATH}/%d{yyyy-MM-dd}/unicast_push_%d{yyyy-MM-dd-HH}.log.gz</FileNamePattern>
</rollingPolicy>
<maxHistory>48</maxHistory>
<encoder charset="UTF-8">
<pattern>%msg%n</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<OnMismatch>DENY</OnMismatch>
<OnMatch>ACCEPT</OnMatch>
</filter>
</appender>
<appender name="ASYNC_UNICAST_NOTIFICATION" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="UNICAST_NOTIFICATION"/>
</appender>
<!-- UNICAST DATAMESSAGE -->
<appender name="UNICAST_DATA_MESSAGE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${LOG_PATH}/unicast_push_datamsg.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${LOG_PATH}/%d{yyyy-MM-dd}/unicast_push_datamsg_%d{yyyy-MM-dd-HH}.log.gz</FileNamePattern>
</rollingPolicy>
<maxHistory>48</maxHistory>
<encoder charset="UTF-8">
<pattern>%msg%n</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<OnMismatch>DENY</OnMismatch>
<OnMatch>ACCEPT</OnMatch>
</filter>
</appender>
<appender name="ASYNC_UNICAST_DATA_MESSAGE" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="UNICAST_DATA_MESSAGE"/>
</appender>
<!-- 統計 -->
<appender name="UNICAST_MONITOR" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${LOG_PATH}/monitor.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${LOG_PATH}/%d{yyyy-MM-dd}/monitor_%d{yyyy-MM-dd}.log.gz</FileNamePattern>
</rollingPolicy>
<maxHistory>3</maxHistory>
<encoder charset="UTF-8">
<pattern>${MONITOR_PATTEN}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<OnMismatch>DENY</OnMismatch>
<OnMatch>ACCEPT</OnMatch>
</filter>
</appender>
<appender name="ASYNC_UNICAST_MONITOR" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="UNICAST_MONITOR"/>
</appender>
<!-- 限量日誌 -->
<appender name="LIMIT_LOGGER" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${LOG_PATH}/limit.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${LOG_PATH}/%d{yyyy-MM-dd}/limit_%d{yyyy-MM-dd}.log.gz</FileNamePattern>
</rollingPolicy>
<maxHistory>3</maxHistory>
<encoder charset="UTF-8">
<pattern>${MONITOR_PATTEN}</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<OnMismatch>DENY</OnMismatch>
<OnMatch>ACCEPT</OnMatch>
</filter>
</appender>
<appender name="ASYNC_LIMIT_LOGGER" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="LIMIT_LOGGER"/>
</appender>
<!-- 智能短信 -->
<appender name="UNICAST_SMS_MESSAGE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${LOG_PATH}/unicast_push_smsmsg.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${LOG_PATH}/%d{yyyy-MM-dd}/unicast_push_smsmsg%d{yyyy-MM-dd}.log.gz</FileNamePattern>
</rollingPolicy>
<encoder charset="UTF-8">
<pattern>%msg%n</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<OnMismatch>DENY</OnMismatch>
<OnMatch>ACCEPT</OnMatch>
</filter>
</appender>
<appender name="ASYNC_UNICAST_SMS_MESSAGE" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="UNICAST_SMS_MESSAGE"/>
</appender>
<!-- 定時上報統計 -->
<appender name="STAT" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${LOG_PATH}/stat.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${LOG_PATH}/%d{yyyy-MM-dd}/stat%d{yyyy-MM-dd}.log.gz</FileNamePattern>
</rollingPolicy>
<encoder charset="UTF-8">
<pattern>%msg%n</pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<OnMismatch>DENY</OnMismatch>
<OnMatch>ACCEPT</OnMatch>
</filter>
</appender>
<appender name="ASYNC_STAT" class="ch.qos.logback.classic.AsyncAppender">
<appender-ref ref="STAT"/>
</appender>
<!-- 定義日誌 -->
<logger name="org.apache" level="ERROR"/>
<logger name="org.springframework" level="info"/>
<logger name="com.baidu.disconf" level="debug"/>
<logger name="io.netty" level="ERROR"/>
<logger name="com.oppo.push" level="INFO"/>
<logger name="com.baidu.disconf" additivity="false" level="INFO">
<appender-ref ref="ASYNC_DISCONF"/>
</logger>
<logger name="UNICAST_TRACE" additivity="false" level="INFO">
<appender-ref ref="ASYNC_UNICAST_TRACE"/>
</logger>
<logger name="UNICAST_NOTIFICATION" additivity="false" level="INFO">
<appender-ref ref="ASYNC_UNICAST_NOTIFICATION"/>
</logger>
<logger name="UNICAST_DATA_MESSAGE" additivity="false" level="INFO">
<appender-ref ref="ASYNC_UNICAST_DATA_MESSAGE"/>
</logger>
<logger name="UNICAST_MONITOR" additivity="false" level="INFO">
<appender-ref ref="ASYNC_UNICAST_MONITOR"/>
</logger>
<logger name="LIMIT_LOGGER" additivity="false" level="INFO">
<appender-ref ref="ASYNC_LIMIT_LOGGER"/>
</logger>
<logger name="UNICAST_SMS_MESSAGE" additivity="false" level="INFO">
<appender-ref ref="ASYNC_UNICAST_SMS_MESSAGE"/>
</logger>
<logger name="com.oppo.push.open.unicast.commons.stat" additivity="false" level="INFO">
<appender-ref ref="ASYNC_STAT"/>
</logger>
<!-- 根日誌 -->
<root>
<!--<appender-ref ref="stdout"/>-->
<level value="INFO"/>
<appender-ref ref="ASYNC_INFO"/>
<appender-ref ref="ASYNC_WARN"/>
<appender-ref ref="ASYNC_ERROR"/>
</root>
</configuration>
logback配置Demo
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.