log4j2配置

//1、依赖

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.6.1</version>
</dependency>

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-1.2-api</artifactId>
    <version>2.11.0</version>
</dependency>

//2、web.xml配置
<context-param>
     <param-name>log4jConfiguration</param-name>
     <param-value>classpath:log4j2.xml</param-value>
</context-param>
<context-param>
     <param-name>log4jRefreshInterval</param-name>
     <param-value>60000</param-value>
</context-param>

3、log4j2.xml文件配置

<?xml version="1.0" encoding="UTF-8"?>
<configuration status="info" monitorInterval="60">
    <Properties>
        <Property name="APP_LOG_HOME">/home/logs</Property>
        <Property name="LOG_BACKUP_DAYS">3d</Property>
    </Properties>

    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <!-- 控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch) -->
            <!-- <ThresholdFilter level="trace" onMatch="ACCEPT" onMismatch="DENY"/> -->
            <!-- 输出日志的格式 -->
            <PatternLayout
                    pattern="[%d{yyyy-MM-dd HH:mm:ss} %-5p] [%t] {%c:%L}-%X{ThreadID}%m%n"/>
        </Console>
        <RollingFile name="info_appender" fileName="${APP_LOG_HOME}/info.log"
                     filePattern="${APP_LOG_HOME}/info.log.%d{yyyy-MM-dd}.log.gz">
            <!-- 输出格式 -->
            <PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss} %-5p] [%t] {%c:%L}-%X{ThreadID}%m%n"/>
            <Filters>
                <ThresholdFilter level="warn" onMatch="DENY" onMismatch="NEUTRAL"/>
            </Filters>
            <Policies>
                <!-- 每1天更新一次,此处查阅网上和官方示例中,都是以小时出现,我测试是以天为单位。(官方文档中说明按item类型是否是小时,但没找到在哪里设置item类型)另有其他各类型策略,请参阅官方文档 -->
                <TimeBasedTriggeringPolicy modulate="true" interval="1"/>
                <!-- 此处为每个文件大小策略限制,使用它一般会在文件中filePattern采用%i模式 -->
                <!-- <SizeBasedTriggeringPolicy size="128KB" /> -->
            </Policies>
            <!-- 最多备份30天以内的日志,此处为策略限制,Delete中可以按自己需要用正则表达式编写 -->
            <DefaultRolloverStrategy>
                <Delete basePath="${APP_LOG_HOME}" maxDepth="1">
                    <IfFileName glob="info.*.log*"/>
                    <IfLastModified age="${LOG_BACKUP_DAYS}"/>
                </Delete>
            </DefaultRolloverStrategy>
        </RollingFile>
        <RollingFile name="error_appender" fileName="${APP_LOG_HOME}/error.log"
                     filePattern="${APP_LOG_HOME}/error.log.%d{yyyy-MM-dd}.log.gz">
            <!-- 输出格式 -->
            <PatternLayout pattern="[%d{yyyy-MM-dd HH:mm:ss} %-5p] [%t] {%c:%L}-%X{ThreadID}%m%n"/>
            <!--<Filters>-->
            <!--<ThresholdFilter level="error" onMatch="DENY" onMismatch="NEUTRAL"/>-->
            <!--<ThresholdFilter level="warn" onMatch="ACCEPT" onMismatch="DENY"/>-->
            <!--</Filters>-->
            <Filters>
                <ThresholdFilter level="warn" onMatch="ACCEPT" onMismatch="DENY"/>
            </Filters>
            <Policies>
                <!-- 每1天更新一次,此处查阅网上和官方示例中,都是以小时出现,我测试是以天为单位。(官方文档中说明按item类型是否是小时,但没找到在哪里设置item类型)另有其他各类型策略,请参阅官方文档 -->
                <TimeBasedTriggeringPolicy modulate="true" interval="1"/>
                <!-- 此处为每个文件大小策略限制,使用它一般会在文件中filePattern采用%i模式 -->
                <!-- <SizeBasedTriggeringPolicy size="128KB" /> -->
            </Policies>
            <!-- 最多备份30天以内的日志,此处为策略限制,Delete中可以按自己需要用正则表达式编写 -->
            <DefaultRolloverStrategy>
                <Delete basePath="${APP_LOG_HOME}" maxDepth="1">
                    <IfFileName glob="error.*.log*"/>
                    <IfLastModified age="${LOG_BACKUP_DAYS}"/>
                </Delete>
            </DefaultRolloverStrategy>
        </RollingFile>
    </Appenders>

    <Loggers>
        <logger name="com.demo" level="debug" additivity="false">
            <AppenderRef ref="Console"/>
            <AppenderRef ref="info_appender"/>
            <AppenderRef ref="error_appender"/>
        </logger>

        <root level="warn">
            <AppenderRef ref="Console"/>
            <AppenderRef ref="info_appender"/>
            <AppenderRef ref="error_appender"/>
        </root>
    </Loggers>

</configuration>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值