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

当更改默认属性文件名时,log4j2不能工作的Spring Boot

单于山
2023-03-14
spring.profiles.active=dev
logging.config=classpath:log4j2-demo.properties
status=debug
name=PropertiesConfig
#
filters=threshold
#
filter.threshold.type=ThresholdFilter
filter.threshold.level=debug
#
appenders=console
#
appender.console.type=Console
appender.console.name=STDOUT
appender.console.layout.type=PatternLayout
appender.console.layout.pattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
#
rootLogger.level=info
rootLogger.appenderRefs=stdout
rootLogger.appenderRef.stdout.ref=STDOUT

我的应用程序结构:

src
  main
    java
    resources
       application.properties
       application-dev.properties
       log4j2-demo.properties

pom.xml:

...
<dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <exclusions>
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-logging</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.graylog2.log4j2</groupId>
        <artifactId>log4j2-gelf</artifactId>
        <version>1.3.1</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-log4j2</artifactId>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.zalando/logbook-spring-boot-starter -->
    <dependency>
        <groupId>org.zalando</groupId>
        <artifactId>logbook-spring-boot-starter</artifactId>
        <version>2.0.0</version>
    </dependency>
  ...

共有1个答案

沈琨
2023-03-14

如果您使用Log4J2.13.0,则可以在spring配置中使用配置文件定义Log4J2系统属性。所以您可以:

应用程序-开发.属性

log4j2.configurationFile=log4j2-demo.properties.

Log4J2.13.0还支持将Log4J2配置文件放在Spring Cloud Config中。

 类似资料:
  • 例如:如果jar文件位于“D:\apps\jar.jar”中,则日志路径为“D:\log”;如果jar文件位于“C:\apps\jar.jar”中,则日志路径为“C:\log” 我尝试将log4j2.xml中的行(如下)更改为: 并在初始化记录器之前调用此函数:

  • 我正在使用log4j 2.4,并尝试将转换为,但是似乎不能使用log4j2.properties。 null 虽然以下文档https://logging.apache.org/log4j/2.x/manual/configuration.html#属性 清楚地表明 属性配置文件支持广告客户、monitorInterval、name、packages、shutdownHook、status 我也尝试

  • 年龄限制默认值不是由选择的,但是它与请求参数配合得很好。 YML文件 下面是带有请求参数Request的旧代码 下面是ModelAttribute请求的新代码

  • 我在哪里可以找到默认的log4j配置文件的工人和驱动程序? 1) 目前Spark正在将执行器/工作者(stdout/stderr)级别的日志记录到工作文件夹,并将驱动程序级别的日志记录到日志文件夹。 我在哪里可以找到这个配置? 我尝试将Log4j2用于spark,而不是log4j。我正在尝试获取默认属性文件,以便可以将其中的一些内容复制到log4j2属性XML。 2) 另外,是否可以修改当前正在运

  • 我只是想知道有没有什么方法可以为log4j中的属性替换提供默认值呢? 我想在Java系统属性中传递文件路径,然后与“${env:MySystemProperty}”一起使用。但如果开发人员忘记设置此属性怎么办?那么我希望在log4j2.xml中定义一些有意义的默认值。 你知道如何实现这个功能吗? 编辑: 环境替换对我不起作用: standalone.conf log4j2.xml 我可以在wild

  • 我试图找到一种方法,为通过注释从Spring Boot中的application.property文件访问的属性设置UTF-8编码。到目前为止,我已经通过创建一个bean成功地将编码设置到我自己的属性源: 这样的解决方案存在两个问题。这一次,它与Spring Boot默认使用的“application.properties”位置(http://docs.Spring.io/spring-boot/