当前位置: 首页 > 知识库问答 >
问题:

配置Log4j2。使用Spring Boot的属性

闻人凯泽
2023-03-14

在Spring靴1.5上是否可能。2使用log4j2属性配置而不是xml?

官方spring文档上的日志文档似乎表明只支持xml。

https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-logging.html

共有2个答案

傅阿苏
2023-03-14

是的,这是可能的。我在使用SpringBoot1.5的微服务环境中工作。2和用于记录LOG4j2

首先,您需要删除spring日志功能并添加log4j2依赖项

 <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>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>

创建log4j2.properties文件并声明所有必需的配置,如:

name = ABC 
appender.rolling.type = RollingFile
appender.rolling.name = RollingFile
appender.rolling.fileName = ABClog/ABCapplication.log
appender.rolling.filePattern = ABClog/ABCapplication.%d{dd-MMM}.log
appender.rolling.layout.type = PatternLayout
appender.rolling.layout.pattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %level [%t] [%c] [%M] [%l]- %msg%n
appender.rolling.policies.type = Policies
appender.rolling.strategy.type = DefaultRolloverStrategy 
appender.rolling.strategy.action.type = Delete 
appender.rolling.strategy.action.basepath =log 
appender.rolling.strategy.action.condition.type = IfFileName
appender.rolling.strategy.action.condition.glob = ABC*.log
appender.rolling.strategy.action.ifAny.type = IfAny
appender.rolling.strategy.action.ifAny.ifLastModified.type = IfLastModified
appender.rolling.strategy.action.ifAny.ifLastModified.age = 14d
appender.rolling.strategy.action.ifAny.ifAccumulatedFileSize.type = IfAccumulatedFileSize
appender.rolling.strategy.action.ifAny.ifAccumulatedFileSize.exceeds = 200MB
appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
appender.rolling.policies.time.interval = 1
appender.rolling.policies.time.modulate = true
logger.rolling.name = com.currentobject.controller
logger.rolling.level = debug
logger.rolling.additivity = false
logger.rolling.appenderRef.rolling.ref = RollingFile

提供lo4j42的路径。属性文件导入到应用程序中。属性文件(资源文件夹)

logging.config=classpath:log4j2.properties

注释应用程序中Spring boot的默认日志记录属性。属性文件:

#logging.level.org.springframework.web=DEBUG
时向文
2023-03-14

是的,你可以。在我的例子中,我无法让Spring Boot找到我的log4j2。属性。我必须指定内部应用程序。属性

logging.config=src/main/resources/log4j2.properties

而如果我有log4j2,我就不必这样做。同一文件夹中的xml

 类似资料:
  • 您好,我最近在spring项目中将日志记录从log4j迁移到了log4j2。 一切正常,但我想知道如何设置属性

  • 上面是log4j2的一个片段。xml配置文件,我想将其转换为属性。 问题是当我在同一个文件(属性)中定义多个记录器时,只有根记录器工作,这意味着改变其他记录器的级别不会做任何事情。 在同一个属性配置文件中定义多个记录器的正确方法是什么? 编辑: 这是我尝试过的属性配置,但不起作用。

  • 我想使用新的log4j2-Java日志框架。一切正常,但我从一小时后就尝试加载一个自定义配置文件来配置日志记录(如日志级别)。 这是我的log4j2.xml: 我尝试了以下方法,但没有任何效果: 移动log4j2.xml文件,使其位于默认包中。 将log4j2.xml文件移动到项目中的任意位置 将log4j2.xml文件命名为log4j.xml 在项目中创建一个文件夹,将log4j2.xml文件放

  • 如何在中添加以下字段。log4j2的属性配置文件? log4j。阿佩德。最高可用性构架。MaxFileSize=50MB log4j。阿佩德。最高可用性构架。MaxBackupIndex=100

  • 这是我的配置文件: 日志配置文件读起来非常清楚,因为它使用my/log目录中定义的模式正确地写入。 这是我在代码中实例化它的方式:

  • 我将log4j2与一个JSON属性文件一起使用,我将其命名为log4j2。json并尝试添加Kafka追加器。有很多使用旧格式或xml的示例,但很难在JSON中获得正确的格式。这很可能是一个愚蠢的问题,但我一直在努力让它发挥作用,在任何地方都找不到任何例子。我很想放弃在json中配置log4j2,转而使用XML,但我觉得这应该相当简单。 这是一个用XML定义的示例kafka appender。 l