日志格式配置

社会主义新天地 提交于 2019-11-30 02:10:21

日志格式配置

###日志配置方式
1.log4j.properties

### 设置###
log4j.rootLogger = debug,stdout,D,E

### 输出信息到控制抬 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.Threshold = INFO
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
#log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss} method:%l%n%m%n
log4j.appender.stdout.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [%t:%r] %p [%c{3}::%M(%L)] - %m%n
#log4j.appender.stdout.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %p %-5level [%c{2}::%M(%L)] - %msg%n
#log4j.appender.stdout.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %p %-5level [%c{2}::%M(%L)] - %msg%n

log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = log/info.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = info
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [%t:%r] %p [%c{3}::%M(%L)] - %m%n
#log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %p %-5level [%c{2}::%M(%L)] - %msg%n

log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =log/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = error
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [%t:%r] %p [%c{3}::%M(%L)] - %m%n
#log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %p %-5level [%c{2}::%M(%L)] - %msg%n

2.配置方式2

<?xml version="1.0" encoding="utf-8"?>
<!--log4j内部日志级别-->
<configuration status="info">
    <properties>
        <property name="log_home">log</property>
        <!--<property name="log_pattern">%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level [%l] - %msg%n</property>-->
        <!--<property name="log_pattern">%5p [%t] %d{yy-MM-dd HH:mm:ss} %c{1} (line %L) - %m%n</property>-->
        <!--<property name="log_pattern">%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level [%l] - %msg%n</property>-->
        <!--<property name="log_pattern">%5p [%t] %d{yy-MM-dd HH:mm:ss} %c{1} (line %L) - %m%n</property>-->
        <!--<property name="log_pattern">%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level [%c{3}::%M(%L)] - %msg%n</property>-->
        <!--<property name="log_pattern">%d{yyyy-MM-dd HH:mm:ss} [%t:%r] %-5level [%c{3}::%M(%L)] - %msg%n</property>-->
        <property name="log_pattern">%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level [%c{2}::%M(%L)] - %msg%n</property>
    </properties>
    <appenders>
        <!--控制台-->
        <console name="stdout">
            <thresholdfilter level="info" onmatch="accept" onmismatch="deny"/>
            <patternlayout pattern="${log_pattern}" charset="utf-8"/>
        </console>

        <!--文件-->
        <rollingrandomaccessfile name="info" filename="${log_home}/info.log" filepattern="${log_home}/info.%d{yyyy-mm-dd}.log">
            <thresholdfilter level="info" onmatch="accept" onmismatch="deny"/>
            <patternlayout pattern="${log_pattern}" charset="utf-8"/>
            <timebasedtriggeringpolicy interval="24"/>
            <defaultrolloverstrategy max="1">
                <delete basepath="${log_home}" maxdepth="2">
                    <iffilename glob="*info.*.log"/>
                    <iflastmodified age="24h"/>
                </delete>
            </defaultrolloverstrategy>
        </rollingrandomaccessfile>

        <rollingrandomaccessfile name="warn" filename="${log_home}/warn.log" filepattern="${log_home}/warn.%d{yyyy-mm-dd}.log">
            <thresholdfilter level="warn" onmatch="accept" onmismatch="deny"/>
            <patternlayout pattern="${log_pattern}" charset="utf-8"/>
            <timebasedtriggeringpolicy interval="24"/>
            <defaultrolloverstrategy max="1">
                <delete basepath="${log_home}" maxdepth="2">
                    <iffilename glob="*warn.*.log"/>
                    <iflastmodified age="24h"/>
                </delete>
            </defaultrolloverstrategy>
        </rollingrandomaccessfile>


        <rollingrandomaccessfile name="error" filename="${log_home}/error.log" filepattern="${log_home}/error.%d{yyyy-mm-dd}.log">
            <thresholdfilter level="error" onmatch="accept" onmismatch="deny"/>
            <patternlayout pattern="${log_pattern}" charset="utf-8"/>
            <timebasedtriggeringpolicy interval="24"/>
            <defaultrolloverstrategy max="1">
                <delete basepath="${log_home}" maxdepth="2">
                    <iffilename glob="*error.*.log"/>
                    <iflastmodified age="24h"/>
                </delete>
            </defaultrolloverstrategy>
        </rollingrandomaccessfile>
    </appenders>

    <loggers>
        <asynclogger name="org.springframework" level="off"/>
        <asynclogger name="com.alibaba.druid" level="off"/>
        <asynclogger name="druid.sql.Statement" level="debug" additivity="false"/>
        <asyncroot level="info" includelocation="true">
            <appenderref ref="stdout"/>
            <appenderref ref="info"/>
            <appenderref ref="warn"/>
            <appenderref ref="error"/>
        </asyncroot>
    </loggers>
</configuration>
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!