前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Log4j2使用案例

Log4j2使用案例

作者头像
mingjie
发布2022-05-12 10:16:21
1850
发布2022-05-12 10:16:21
举报
文章被收录于专栏:Postgresql源码分析

全干货记录

1 MAVEN配置

link

代码语言:javascript
复制
<dependencies>
  <dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>2.13.3</version>
  </dependency>
  <dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.13.3</version>
  </dependency>
</dependencies>

2 xml映射关系

两步映射

3 实用配置

console按等级分颜色,文件中无颜色,文件按100MB切换,保留20个

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<Configuration strict="true" status="info" monitorInterval="30">
    <Properties>
        <property name="LOG_HOME">./</property>
        <Property name="ERROR_LOG_FILE_NAME">server-error</Property>
        <Property name="ERROR_LOG_FILE_ROTATE_SIZE">100 MB</Property>
        <Property name="ERROR_LOG_FILE_MAX">20</Property>
        <Property name="COMMON_LOG_FILE_NAME">server-common</Property>
        <Property name="COMMON_LOG_FILE_ROTATE_SIZE">100 MB</Property>
        <Property name="COMMON_LOG_FILE_MAX">20</Property>
        <Property name="CONSOLE_PATTERLAYOUT">%d{yyyy-MM-dd HH:mm:ss} %highlight{%-5p %t %c{1} %L} - %m%n</Property>
        <Property name="PATTERLAYOUT">%d{yyyy-MM-dd HH:mm:ss} %-5p %t %c{1} %L - %m%n</Property>
    </Properties>
    <Appenders>
        <Appender name="console" type="console">
            <Layout type="PatternLayout" pattern="${CONSOLE_PATTERLAYOUT}" />
            <Filters>
                <Filter type="ThresholdFilter" level="info" onMatch="ACCEPT" onMismatch="DENY" />
            </Filters>
        </Appender>

        <Appender name="errorlog"
                  type="RollingRandomAccessFile"
                  fileName="${LOG_HOME}/${ERROR_LOG_FILE_NAME}.log"
                  filePattern="${LOG_HOME}/$${date:yyyy-MM}/${ERROR_LOG_FILE_NAME}-%d{yyyy-MM-dd HH-mm}-%i.log"
                  append="true">
            <Layout type="PatternLayout" pattern="${PATTERLAYOUT}" />
            <Filters>
                <Filter type="ThresholdFilter" level="error" onMatch="ACCEPT" onMismatch="DENY" />
            </Filters>
            <Policies>
                <SizeBasedTriggeringPolicy size="${ERROR_LOG_FILE_ROTATE_SIZE}" />
            </Policies>
            <DefaultRolloverStrategy max="${ERROR_LOG_FILE_MAX}" fileIndex="min" />
        </Appender>

        <Appender name="commonlog"
                  type="RollingRandomAccessFile"
                  fileName="${LOG_HOME}/${COMMON_LOG_FILE_NAME}.log"
                  filePattern="${LOG_HOME}/$${date:yyyy-MM}/${COMMON_LOG_FILE_NAME}-%d{yyyy-MM-dd HH-mm}-%i.log"
                  append="true">
            <Layout type="PatternLayout" pattern="${PATTERLAYOUT}" />
            <Filters>
                <Filter type="ThresholdFilter" level="info" onMatch="ACCEPT" onMismatch="DENY" />
            </Filters>
            <Policies>
                <SizeBasedTriggeringPolicy size="${COMMON_LOG_FILE_ROTATE_SIZE}" />
            </Policies>
            <DefaultRolloverStrategy max="${COMMON_LOG_FILE_MAX}" fileIndex="min" />
        </Appender>

    </Appenders>

    <Loggers>
        <Root level="debug">
            <AppenderRef ref="console" />
            <AppenderRef ref="errorlog" />
            <AppenderRef ref="commonlog" />
        </Root>
    </Loggers>
</Configuration>

ThresholdFilter

用一个root logger做入口,进入多个appender,在appender中分等级记录。 好处是root定一个级别,进去后可以灵活的使用多个级别。

SizeBasedTriggeringPolicy

基于文件大小切换

DefaultRolloverStrategy

最多文件保留个数

filePattern

文件切换后,命名规则

filePattern

https://logging.apache.org/log4j/2.x/manual/layouts.html#PatternLayout

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-06-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 MAVEN配置
  • 2 xml映射关系
  • 3 实用配置
    • ThresholdFilter
      • SizeBasedTriggeringPolicy
        • DefaultRolloverStrategy
          • filePattern
            • filePattern
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档