java中log4j2导入方法

使用springboot2.6.7做为示例

Maven文件导入,排除本身的日志

<!--    log4j2日志    -->
        <!-- 排除 Spring-boot-starter 默认的日志配置 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <!-- 引入log4j2依赖 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-log4j2</artifactId>
        </dependency>

application.yml添加对应的属性,基本不用修改

logging:
  config:  classpath:log4j2.xml
  level:
    root: INFO
    javax.activation: info
    org.apache.catalina: INFO
    org.apache.commons.beanutils.converters: INFO
    org.apache.coyote.http11.Http11Processor: INFO
    org.apache.http: INFO
    org.apache.tomcat: INFO
    org.springframework: INFO
    com.chinamobile.cmss.bdpaas.resource.monitor: DEBUG

在resources的目录下创建log4j2.xml,也是基本不用修改的

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
  <!--<Configuration status="WARN" monitorInterval="30"> -->
  <properties>
    <property name="LOG_HOME">./service-logs</property>
  </properties>
  <Appenders>
    <!--*********************控制台日志***********************-->
    <Console name="consoleAppender" target="SYSTEM_OUT">
      <!--设置日志格式及颜色-->
      <PatternLayout
        pattern="%style{%d{ISO8601}}{bright,green} %highlight{%-5level} [%style{%t}{bright,blue}] %style{%C{}}{bright,yellow}: %msg%n%style{%throwable}{red}"
        disableAnsi="false" noConsoleNoAnsi="false"/>
    </Console>

    <!--*********************文件日志***********************-->
    <!--all级别日志-->
    <RollingFile name="allFileAppender"
      fileName="${LOG_HOME}/all.log"
      filePattern="${LOG_HOME}/$${date:yyyy-MM}/all-%d{yyyy-MM-dd}-%i.log.gz">
      <!--设置日志格式-->
      <PatternLayout>
        <pattern>%d %p %C{} [%t] %m%n</pattern>
      </PatternLayout>
      <Policies>
        <!-- 设置日志文件切分参数 -->
        <!--<OnStartupTriggeringPolicy/>-->
        <!--设置日志基础文件大小,超过该大小就触发日志文件滚动更新-->
        <SizeBasedTriggeringPolicy size="100 MB"/>
        <!--设置日志文件滚动更新的时间,依赖于文件命名filePattern的设置-->
        <TimeBasedTriggeringPolicy/>
      </Policies>
      <!--设置日志的文件个数上限,不设置默认为7个,超过大小后会被覆盖;依赖于filePattern中的%i-->
      <DefaultRolloverStrategy max="100"/>
    </RollingFile>

    <!--debug级别日志-->
    <RollingFile name="debugFileAppender"
      fileName="${LOG_HOME}/debug.log"
      filePattern="${LOG_HOME}/$${date:yyyy-MM}/debug-%d{yyyy-MM-dd}-%i.log.gz">
      <Filters>
        <!--过滤掉info及更高级别日志-->
        <ThresholdFilter level="info" onMatch="DENY" onMismatch="NEUTRAL"/>
      </Filters>
      <!--设置日志格式-->
      <PatternLayout>
        <pattern>%d %p %C{} [%t] %m%n</pattern>
      </PatternLayout>
      <Policies>
        <!-- 设置日志文件切分参数 -->
        <!--<OnStartupTriggeringPolicy/>-->
        <!--设置日志基础文件大小,超过该大小就触发日志文件滚动更新-->
        <SizeBasedTriggeringPolicy size="100 MB"/>
        <!--设置日志文件滚动更新的时间,依赖于文件命名filePattern的设置-->
        <TimeBasedTriggeringPolicy/>
      </Policies>
      <!--设置日志的文件个数上限,不设置默认为7个,超过大小后会被覆盖;依赖于filePattern中的%i-->
      <DefaultRolloverStrategy max="100"/>
    </RollingFile>

    <!--info级别日志-->
    <RollingFile name="infoFileAppender"
      fileName="${LOG_HOME}/info.log"
      filePattern="${LOG_HOME}/$${date:yyyy-MM}/info-%d{yyyy-MM-dd}-%i.log.gz">
      <Filters>
        <!--过滤掉warn及更高级别日志-->
        <ThresholdFilter level="warn" onMatch="DENY" onMismatch="NEUTRAL"/>
      </Filters>
      <!--设置日志格式-->
            <PatternLayout>
                <pattern>%d %p %C{} [%t] %m%n</pattern>
            </PatternLayout>
            <Policies>
                <!-- 设置日志文件切分参数 -->
                <!--<OnStartupTriggeringPolicy/>-->
                <!--设置日志基础文件大小,超过该大小就触发日志文件滚动更新-->
                <SizeBasedTriggeringPolicy size="100 MB"/>
                <!--设置日志文件滚动更新的时间,依赖于文件命名filePattern的设置-->
                <TimeBasedTriggeringPolicy/>
            </Policies>
            <!--设置日志的文件个数上限,不设置默认为7个,超过大小后会被覆盖;依赖于filePattern中的%i-->
            <!--<DefaultRolloverStrategy max="100"/>-->
        </RollingFile>

        <!--warn级别日志-->
        <RollingFile name="warnFileAppender"
                     fileName="${LOG_HOME}/warn.log"
                     filePattern="${LOG_HOME}/$${date:yyyy-MM}/warn-%d{yyyy-MM-dd}-%i.log.gz">
            <Filters>
                <!--过滤掉error及更高级别日志-->
                <ThresholdFilter level="error" onMatch="DENY" onMismatch="NEUTRAL"/>
            </Filters>
            <!--设置日志格式-->
            <PatternLayout>
                <pattern>%d %p %C{} [%t] %m%n</pattern>
            </PatternLayout>
            <Policies>
                <!-- 设置日志文件切分参数 -->
                <!--<OnStartupTriggeringPolicy/>-->
                <!--设置日志基础文件大小,超过该大小就触发日志文件滚动更新-->
                <SizeBasedTriggeringPolicy size="100 MB"/>
                <!--设置日志文件滚动更新的时间,依赖于文件命名filePattern的设置-->
                <TimeBasedTriggeringPolicy/>
            </Policies>
            <!--设置日志的文件个数上限,不设置默认为7个,超过大小后会被覆盖;依赖于filePattern中的%i-->
            <DefaultRolloverStrategy max="100"/>
        </RollingFile>

        <!--error及更高级别日志-->
        <RollingFile name="errorFileAppender"
                     fileName="${LOG_HOME}/error.log"
                     filePattern="${LOG_HOME}/$${date:yyyy-MM}/error-%d{yyyy-MM-dd}-%i.log.gz">
            <!--设置日志格式-->
            <PatternLayout>
                <pattern>%d %p %C{} [%t] %m%n</pattern>
            </PatternLayout>
            <Policies>
                <!-- 设置日志文件切分参数 -->
                <!--<OnStartupTriggeringPolicy/>-->
                <!--设置日志基础文件大小,超过该大小就触发日志文件滚动更新-->
                <SizeBasedTriggeringPolicy size="100 MB"/>
                <!--设置日志文件滚动更新的时间,依赖于文件命名filePattern的设置-->
                <TimeBasedTriggeringPolicy/>
            </Policies>
            <!--设置日志的文件个数上限,不设置默认为7个,超过大小后会被覆盖;依赖于filePattern中的%i-->
            <DefaultRolloverStrategy max="100"/>
        </RollingFile>

        <!--json格式error级别日志-->
        <RollingFile name="errorJsonAppender"
                     fileName="${LOG_HOME}/error-json.log"
                     filePattern="${LOG_HOME}/error-json-%d{yyyy-MM-dd}-%i.log.gz">
            <JSONLayout compact="true" eventEol="true" locationInfo="true"/>
            <Policies>
                <SizeBasedTriggeringPolicy size="100 MB"/>
                <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
            </Policies>
        </RollingFile>
    </Appenders>

    <Loggers>
        <!-- 根日志设置 -->
        <Root level="debug">
            <AppenderRef ref="allFileAppender" level="all"/>
            <AppenderRef ref="consoleAppender" level="debug"/>
            <AppenderRef ref="debugFileAppender" level="debug"/>
            <AppenderRef ref="infoFileAppender" level="info"/>
            <AppenderRef ref="warnFileAppender" level="warn"/>
            <AppenderRef ref="errorFileAppender" level="error"/>
            <AppenderRef ref="errorJsonAppender" level="error"/>
        </Root>

        <!--spring日志-->
        <Logger name="org.springframework" level="debug"/>
        <!--druid数据源日志-->
        <Logger name="druid.sql.Statement" level="warn"/>
        <!-- mybatis日志 -->
        <Logger name="com.mybatis" level="warn"/>
        <Logger name="org.hibernate" level="warn"/>
        <Logger name="com.zaxxer.hikari" level="info"/>
        <Logger name="org.quartz" level="info"/>
        <Logger name="com.andya.demo" level="debug"/>
    </Loggers>

</Configuration>

启动之后就能发现日志颜色变了,说明log4j2导入成功

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Log4j是一个Java日志管理工具,它提供了一种灵活的配置方式,可以方便地生成和管理应用程序日志。 要使用Log4j配置格式解析日志文件,需要完成以下步骤: 1. 配置Log4j:在Java应用程序添加Log4j库并配置它。可以通过在项目添加log4j.properties或log4j.xml文件来配置Log4j。这些文件包含Log4j的配置信息,例如输出日志到控制台还是文件,日志级别,日志格式等。 2. 添加日志语句:在Java代码添加日志语句。可以使用Log4j的API来记录日志。例如: ``` import org.apache.log4j.Logger; public class MyClass { private static final Logger logger = Logger.getLogger(MyClass.class); public void myMethod() { logger.info("This is an info message"); logger.debug("This is a debug message"); } } ``` 在这个例子,我们使用Log4j的Logger类来创建一个日志对象,然后使用它的info()和debug()方法记录日志。 3. 运行应用程序:运行Java应用程序并让它记录日志。当程序运行时,它会按照Log4j的配置记录日志。 4. 解析日志文件:通过读取Log4j生成的日志文件来解析日志。Log4j可以将日志输出到控制台或文件,根据配置文件的设置,我们可以选择使用工具或手动方式解析生成的日志文件。可以使用Log4j提供的工具或第三方工具来解析日志文件。 5. 格式化日志:在解析日志文件时,可以根据需要对日志进行格式化。使用Java提供的字符串处理和正则表达式等工具,可以方便地解析和格式化日志。 总之,使用Log4j可以方便地生成和管理应用程序日志,并通过解析和格式化日志文件来提取有用的信息。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

viktor116

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值