Log4j2 使用

1 lo4j2 是所有日志框架里面 性能最好的
2 简单配置如下

<?xml version="1.0" encoding="UTF-8"?>

<!--Configuration后面的status,这个用于设置log4j2自身内部的信息输出,可以不设置-->
<!--monitorInterval:Log4j能够自动检测修改配置 文件和重新配置本身,设置间隔秒数-->
<configuration status="off" monitorInterval="1800">
    <Properties>
        <Property name="APP_NAME">hyjj_back</Property>
        <!--设置日志文件存储路径为tomcat/logs/${APP_NAME}-->
        <Property name="LOG_FILE_PATH">${sys:catalina.homeOFF}/logs/${APP_NAME}</Property>
        <!--设置日志输出格式-->
        <Property name="PATTERN_FORMAT">%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n</Property>
    </Properties>


    <appenders>
        <Console name="Console" target="SYSTEM_OUT" >
            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] [%M] %-5level %logger{36} - %msg%n"/>
        </Console>

        <RollingFile name="RollingFile" fileName="logs/app.log"
                     filePattern="logs/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz">
            <PatternLayout pattern="%d{yyyy.MM.dd 'at' HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n"/>
            <SizeBasedTriggeringPolicy size="5 MB" />
            <!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)-->
            <Filters>
                <ThresholdFilter level="warn" onMatch="DENY" onMismatch="NEUTRAL"/>
                <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/>
            </Filters>
        </RollingFile>
    </appenders>



    <!--    logger代表用于输出日志信息的具体对象-->
    <loggers>

        <logger name="cn.springmvc" level="debug" />
        <logger name="org.springframework" level="debug" />
        <logger name="org.mybatis" level="info" />

        <logger name="com.zaxxer.hikari" level="off"/>

        <root level="debug">
            <appender-ref ref="Console"/>
            <appender-ref ref="RollingFile"/>
        </root>

    </loggers>

</configuration>

三个重要概念
appender : 追加器 ,日志信息需要写到那里 可以为控制台 文件 数据库
root和logger :logger设定的具体类的信息的打印日志会传输到root里面,但是如果没有具体指定某个类的打印级别,就是默认root,如果指定就会将指定的日志打印信息传输到root 小于root级别的信息就不会打出

高阶
如果 当前的logger 配置的appender 那么可能会打印两次 可选的是 不输入到root里面
就是用additivity=“false”,这个就代表,不传递给父节点,日志不传给父节点,就算父节点配置了appender也是不会输出日志的!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值