log4j2.xml

来源:互联网 发布:西门子plc最新编程软件 编辑:程序博客网 时间:2024/06/05 09:51

1. spring boot 日志

 1.4以上的版本perties后缀的日志配置文件,只能使用 json.jsn,xml 这类配置文件。

2. log4j2.xml 配置文件如下:

<?xml version="1.0" encoding="UTF-8"?><configuration status="error">    <Properties>        <Property name="logbasedir">e:/log</Property>        <Property name="log.layout">%d %-5p %t (%c:%L) - %m%n</Property>    </Properties>    <!--先定义所有的appender-->    <appenders>        <!--这个输出控制台的配置-->        <Console name="Console" target="SYSTEM_OUT">            <!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)-->            <ThresholdFilter level="debug" onMatch="ACCEPT" onMismatch="DENY"/>            <!--这个都知道是输出日志的格式-->            <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n"/>        </Console>        <!--文件会打印出所有信息,这个log每次运行程序会自动清空,由append属性决定,这个也挺有用的,适合临时测试用-->        <File name="log" fileName="log/test.log" append="false">            <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n"/>        </File>        <!--这个会打印出所有的信息,每次大小超过size,则这size大小的日志会自动存入按年份-月份建立的文件夹下面并进行压缩,作为存档-->        <RollingFile name="RollingFileInfo" fileName="logs/info.log"                     filePattern="log/$${date:yyyy-MM}/info-%d{MM-dd-yyyy}-%i.log.gz">            <!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)-->            <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/>            <PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n"/>            <Policies>                <TimeBasedTriggeringPolicy/>                <SizeBasedTriggeringPolicy size="100 MB"/>            </Policies>        </RollingFile>        <RollingFile name="RollingFileWarn" fileName="logs/warn.log"    filePattern="log/$${date:yyyy-MM}/warn-%d{MM-dd-yyyy}-%i.log.gz">            <ThresholdFilter level="warn" onMatch="ACCEPT" onMismatch="DENY"/>            <PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n"/>            <Policies>                <TimeBasedTriggeringPolicy/>                <SizeBasedTriggeringPolicy size="100 MB"/>            </Policies>            <!-- DefaultRolloverStrategy属性如不设置,则默认为最多同一文件夹下7个文件,这里设置了20 -->            <DefaultRolloverStrategy max="20"/>        </RollingFile>        <RollingFile name="RollingFileError" fileName="logs/error.log"   filePattern="log/$${date:yyyy-MM}/err-%d{MM-dd-yyyy}-%i.log.gz" >            <ThresholdFilter level="error" onMatch="ACCEPT" onMismatch="DENY"/>            <PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n"/>            <Policies>                <TimeBasedTriggeringPolicy/>                <SizeBasedTriggeringPolicy size="100 MB"/>            </Policies>        </RollingFile>    </appenders>    <!--然后定义logger,只有定义了logger并引入的appender,appender才会生效-->    <loggers>        <!--过滤掉spring和mybatis的一些无用的DEBUG信息-->        <!--<logger name="org.springframework" level="INFO"></logger>-->        <!--<logger name="org.mybatis" level="INFO"></logger>-->        <!--建立一个默认的root的logger-->        <root level="info">            <appender-ref ref="RollingFileInfo"/>            <appender-ref ref="RollingFileWarn"/>            <appender-ref ref="RollingFileError"/>            <appender-ref ref="Console"/>        </root>    </loggers></configuration>