日志配置文件 Demo

logback

<?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.xxx.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.xxx.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>


log4j2

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
	<property name="LOG_PATH" value="/data/logs/push-trace"/>

	<appender name="pushTrace" class="ch.qos.logback.core.rolling.RollingFileAppender">
		<File>${LOG_PATH}/push-trace-${APP_NAME}.log</File>
		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<FileNamePattern>
				${LOG_PATH}/push-trace-${APP_NAME}.%d{yyyy-MM-dd-HH}.log.gz
			</FileNamePattern>
			<maxHistory>24</maxHistory>
		</rollingPolicy>
		<encoder charset="UTF-8">
			<pattern>%msg%n</pattern>
		</encoder>
	</appender>

	<appender name="asyncPushTrace" class="ch.qos.logback.classic.AsyncAppender">
		<discardingThreshold>0</discardingThreshold>
		<appender-ref ref="pushTrace"/>
	</appender>

 	<logger name="traceLogger" level="INFO" >
		<appender-ref ref="asyncPushTrace"/>
	</logger>

	<root>
		<level value="INFO" />
	</root>
</configuration>


<?xml version="1.0" encoding="UTF-8"?>
<Configuration monitorInterval="30" status="WARN">
    <Properties>
        <Property name="LOG_NAME" value="phecda-strategy-indonesia" />
        <Property name="APP_ID" value="phecda-strategy-indonesia" />
        <Property name="LOG_PATH" value="/home/service/var/logs/${APP_ID}/" />
        <Property name="LOG_PATTERN" value="[%level{length=5}] %date[%t] [%X{ThreadName}] [%logger:%line] >>> %msg%n" />
        <Property name="ROOT_LOG_LEVEL" value="INFO" />
    </Properties>
    <Appenders>
        <Console name="CONSOLE" target="SYSTEM_OUT">
            <ThresholdFilter level="${CONSOLE_LEVEL}" onMatch="ACCEPT" onMismatch="DENY" />
            <PatternLayout pattern="${LOG_PATTERN}" />
        </Console>
        <RollingFile name="FILE" fileName="${LOG_PATH}/${LOG_NAME}.log" filePattern="${LOG_PATH}/${LOG_NAME}.log-%d{yyyy-MM-dd}-%i.log">
            <PatternLayout>
                <Pattern>${LOG_PATTERN}</Pattern>
            </PatternLayout>
            <Policies>
                <TimeBasedTriggeringPolicy />
                <SizeBasedTriggeringPolicy size="2048 MB" />
            </Policies>
            <DefaultRolloverStrategy min="1" max="100" />
        </RollingFile>
        <RollingFile name="ERROR" fileName="${LOG_PATH}/error.log" filePattern="${LOG_PATH}/error-%d{yyyy-MM-dd}.log">
            <ThresholdFilter level="WARN" onMatch="ACCEPT" onMismatch="DENY" />
            <PatternLayout>
                <Pattern>${LOG_PATTERN}</Pattern>
            </PatternLayout>
            <Policies>
                <TimeBasedTriggeringPolicy />
            </Policies>
        </RollingFile>
        <HTTP_xxx name="MONITOR" appId="${APP_ID}" />
    </Appenders>
    <Loggers>
        <logger name="org.springframework" level="${FRAMEWORK_LEVEL}" additivity="true" />
        <logger name="org.mybatis" level="${FRAMEWORK_LEVEL}" additivity="true" /> 
  		<logger name="ruleLogger" level="ALL" additivity="false" >
            <AppenderRef ref="RULE_LOG" />
        </logger> 
        <AsyncRoot level="${ROOT_LOG_LEVEL}" includeLocation="true">
            <AppenderRef ref="FILE" />
            <AppenderRef ref="CONSOLE" />
            <AppenderRef ref="ERROR" />
            <AppenderRef ref="MONITOR" />
        </AsyncRoot>
    </Loggers>
</Configuration>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值