Log4j2.xml

首先要在yml中配置日志配置文件路径:
logging:
        config: classpath:log4j2.xml

 

<Configuration status="WARN">
    <!-- 日志文件目录、压缩文件目录、日志格式配置 -->
    <properties>
        <Property name="LOG_PATTERN">%d[%-5p][%-10t][ %l] -%m%n</Property>
        <Property name="APP_NAME" value="test-service"/>
        <Property name="LOG_PATH" value="/a/b/c/"/> //设置日志存放路径
    </properties>
    <Appenders>
        <!-- 输出控制台日志的配置 -->
        <Console name="console" target="SYSTEM_OUT">
            <UsPatternLayout pattern="${LOG_PATTERN}"/>
        </Console>
        <RollingFile name="allFile" immediateFlush="true" fileName="${LOG_PATH}/${APP_NAME}/logs/test.log"
                     filePattern="${LOG_PATH}/${APP_NAME}/logs/test-%d{MM-dd-yyyy}-%i.log.gz">
            <Policies>
                <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
                <SizeBasedTriggeringPolicy size="50 MB"/>
            </Policies>
            <DefaultRolloverStrategy max="10">
                <Delete basePath="${LOG_PATH}/${APP_NAME}/logs" maxDepth="2">
                    <IfFileName glob="*.{log,gz}"/>
                    <IfLastModified age="10d"/>
                </Delete>
            </DefaultRolloverStrategy>
            <UsPatternLayout pattern="${LOG_PATTERN}"/>
        </RollingFile>
        <RollingFile name="ftestLog" immediateFlush="true" fileName="${LOG_PATH}/${APP_NAME}/logs/ftest-service.log"
                     filePattern="logs/ftest-%d{MM-dd-yyyy}-%i.log.gz">
            <Policies>
                <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
                <SizeBasedTriggeringPolicy size="50 MB"/>
            </Policies>
            <DefaultRolloverStrategy max="0">
                <Delete basePath="${LOG_PATH}/${APP_NAME}/logs" maxDepth="2">
                    <IfFileName glob="*.{log,gz}"/>
                    <IfLastModified age="10d"/>
                </Delete>
            </DefaultRolloverStrategy>
            <UsPatternLayout pattern="${LOG_PATTERN}"/>
        </RollingFile>
    </Appenders>

    <Loggers>
        <root level="info"> //上面配置了2个日志路径 这里表示全部日志都在这里
            <appender-ref ref="console"/>
            <appender-ref ref="allFile"/>
        </root>
        <logger level="info">
            <AppenderRef ref="ftestLog"/>
            <name>com.test.test.ftest</name> // 这里配置了里面单独的module要单独打印日志 路径为包路径为com.test.test.ftest的在上面全路径打印外,
            还会单独依据上面<AppenderRef ref="ftestLog"/>指定配置在打印一遍
        </logger>
        <logger name="org.apache.servicecomb" level="error"></logger> //这里可以加一些路径要加的日志级别,比如下面要加hikia为debug
        <logger name=" com.zaxxer.hikari.pool.HikariPool" level="debug"></logger>
    </Loggers>
</Configuration>

monitorInterval="10" 表示监控间隔,单位是秒,比如删除日志、生成gz逻辑,10秒中判断一次
immediateFlush=“true” 设置成false以后有5 quintuple倍吞吐量的提升,但是,会有部分缓存的日志不会输出到日志文件里,如果这时,appender遇到错误会导致缓存的部分丢失(8192即8K的丢失)

日志中:获取yml或者-D参数${sys:log.dir} 获取环境变量${env:A_env}

%p 日志级别
%t 进程号
%d 日期,默认的是 %d{yyyy-MM--dd HH:mm:ss,SSS}格式
%i 递增的数字,如果当天日志是按2MB打包gz的,超过的会排序。仅限当天,第二天的又是从1开始。

 

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值