如何使用相同的 log4j.properties 文件记录两个不同的 Spring-Boot 应用程序?

How to log with same log4j.properties files for two different Spring-Boot Applications?

假设我有两个 Spring-Boot 应用程序,名为 configeureka

config 组成:

config 
  /src/main
    /java
      /com.example
        Demo.java
    /resources
      application.properties

eureka 由:

组成
eureka 
  /src/main
    /java
      /com.example
        Demo.java
    /resources
      application.properties

我有一个log4j.properties个文件

log4j.rootLogger=INFO, stdout, file

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d{yyyy:MM:dd HH:mm:ss.SSS}] - %p [%t] --- %c : %m%n

log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=log.out
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%d{yyyy:MM:dd HH:mm:ss.SSS}]  - %p [%t] --- %c : %m%n

同时记录 configeureka 的一种方法是在 resources 两个应用程序的文件夹,并为两个应用程序中的日志文件提供一个通用路径。我已经试过了,它工作正常。

我想做点不一样的。我想为两个应用程序维护一个 log4j.properties 文件而不是两个文件。我的问题是这样做的正确方法是什么?怎么样?

你可以把log4j.properties放在常用位置(在Windows c:\boots),参考它在 application.properties.

logging.config = C:\boots\log4j.properties