log4j2配置

 参考文章:点此

感觉还是xml配置的好看些。


<?xml version="1.0" encoding="UTF-8"?>
<!-- 该xml配置中,xml元素大小写不敏感 -->
<!-- status="off",log4j2把自身事件记录到控制台的配置,off表示不记录,其余的记录有trace,debug,info,warn,error,fatal -->
<!-- monitorInterval表示检测更改配置的时间,单位是秒,最小间隔为5秒,0或负数表示不检测 -->
<configuration name="log4j2_xml" status="warn" monitorInterval="0">

    <!-- 常量引用 -->
    <properties>
    <!-- linux下 -->
        <property name="LOG_HOME">/usr/logs/</property>
        <!--<property name="LOG_HOME">./logs</property> -->
        <property name="FORMAT">%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n</property>
    </properties>

    <!-- appender用于接收各种日志 -->
    <appenders>
        <!-- 常见的输出到console,常用于开发环境中,默认是system_err,还有一个system_out -->
      <!--   <console name="console" target="system_err">
            appender级别的日志过滤
            <thresholdFilter level="info" onMatch="accept" onMismatch="deny"/>
            <patternLayout pattern="${FORMAT}"/>
        </console> -->
        <!-- 常用于开发环境,把日志记录到文件中,默认追加 -->
       <!--  <file name="db_log" fileName="${LOG_HOME}/my-blog-db.log" append="true">
            <patternLayout pattern="${FORMAT}"/>
        </file> -->
        <file name="service_log" fileName="${LOG_HOME}/my-blog-service.log" append="true">
            <patternLayout pattern="${FORMAT}"/>
        </file>
        <!--只输出info及以上的记录-->
  <!--       <RollingFile name="RollingFileInfo" fileName="${LOG_HOME}/logs/info.log"
                     filePattern="${LOG_HOME}/logs/$${date:yyyy-MM}/info-%d{yyyy-MM-dd}-%i.log">
            <Filters>
                控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)
                <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
                <ThresholdFilter level="WARN" onMatch="DENY" onMismatch="NEUTRAL"/>
            </Filters>
            <PatternLayout pattern="${FORMAT}"/>
            <Policies>
                <TimeBasedTriggeringPolicy/>
                <SizeBasedTriggeringPolicy size="100MB"/>
            </Policies>
        </RollingFile> -->
        <!--只接收warn-->
        <RollingFile name="RollingFileWarn" fileName="${LOG_HOME}/logs/warn.log"
                     filePattern="${LOG_HOME}/logs/$${date:yyyy-MM}/warn-%d{yyyy-MM-dd}-%i.log">
            <Filters>
                <ThresholdFilter level="WARN" onMatch="ACCEPT" onMismatch="DENY"/>
            </Filters>
            <PatternLayout pattern="${FORMAT}"/>
            <Policies>
                <TimeBasedTriggeringPolicy/>
                <SizeBasedTriggeringPolicy size="20 MB"/>
            </Policies>
            <!-- DefaultRolloverStrategy属性如不设置,则默认为最多同一文件夹下7个文件,这里设置了10 -->
            <DefaultRolloverStrategy max="10"/>
        </RollingFile>
        <!--只接收error-->
        <RollingFile name="RollingFileError" fileName="${LOG_HOME}/logs/error.log"
                     filePattern="${LOG_HOME}/logs/$${date:yyyy-MM}/error-%d{yyyy-MM-dd}-%i.log">
            <ThresholdFilter level="ERROR"/>
            <PatternLayout pattern="${FORMAT}"/>
            <Policies>
                <TimeBasedTriggeringPolicy/>
                <SizeBasedTriggeringPolicy size="50 MB"/>
            </Policies>
        </RollingFile>
    </appenders>

    <!-- 接收appender -->
    <loggers>
        <logger name="org.apache.http" level="warn" additivity="true"/>
        
        <!-- Spring -->
        <logger name="org.springframework" level="warn" additivity="true"/>
        
        <!-- mybatis loggers -->
        <!--   <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"/>-->
           
        <!-- sql loggers -->
        
        <logger name="java.sql.Connection" level="warn" additivity="true"/>
        <logger name="java.sql.Statement" level="warn" additivity="true"/>
        <logger name="java.sql.PreparedStatement" level="warn" additivity="true"/>
        <logger name="java.sql.ResultSet" level="warn" additivity="true"/>
        <logger name="org.apache" level="WARN" additivity="true"/>
        
        

        <!-- 对包进行更详细的配置 -->
        <!-- additivity表示是否追加到root,防止重复,因为已经接收过一次了 -->
       <!--  <logger name="com.cl.model.repo" level="info" additivity="false">
            <appender-ref ref="db_log"/>
        </logger> -->
        <!-- 此处定义后,java类中使用LoggerFactory.getLogger("exception_logger")即可获取相应实例 -->
        <logger name="exception_logger" level="error" additivity="false">
        <appender-ref ref="service_log"/>
        </logger>
        <logger name="interceptor_logger" level="info" additivity="false">
        <appender-ref ref="service_log"/>
        </logger>
        </logger>
        <!-- root logger,一般用于放置所有的appender -->
        <root level="warn">
            <!-- <appender-ref ref="db_log"/> -->
            <!-- <appender-ref ref="console"/> -->
            <!-- <appender-ref ref="RollingFileInfo"/> -->
            <appender-ref ref="service_log"/>
            <appender-ref ref="RollingFileWarn"/>
            <appender-ref ref="RollingFileError"/>
        </root>
    </loggers>

</configuration>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值