【问题标题】:How to log with same log4j.properties files for two different Spring-Boot Applications?如何为两个不同的 Spring-Boot 应用程序使用相同的 log4j.properties 文件记录?
【发布时间】:2016-01-21 08:50:50
【问题描述】:

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

配置由以下部分组成:

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 文件而不是两个。我的问题是这样做的正确方法是什么?怎么样?

【问题讨论】:

  • 在 Linux 上,我猜你可以使用符号链接。
  • 谢谢。在 Windows 中呢?
  • 这可以通过 resources 项目来实现,其他项目将依赖该项目。在此处查看接受的答案:stackoverflow.com/questions/17492622/…
  • 这个答案很有帮助,但如果他们都在一个项目下,它会起作用。就我而言,它们都是独立的项目。我这样做的一种方法是创建一个父母并按照他们在另一个答案中所说的那样做。我想将它们分开并引用单个配置文件。我不知道这是否可能。我对此很陌生。很抱歉,如果我一直问愚蠢的问题。

标签: java spring-boot log4j


【解决方案1】:

您可以将 log4j.properties 保存在公共位置(在 Windows c:\boots 中),请在 application.properties 中引用它。

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

【讨论】:

  • 谢谢,这成功了。如果我将它放在 bootstrap.properties 文件而不是 application.properties 中,这会起作用吗?
猜你喜欢
  • 2011-03-28
  • 1970-01-01
  • 1970-01-01
  • 2018-07-02
  • 2020-11-01
  • 2017-09-19
  • 1970-01-01
  • 1970-01-01
  • 2019-12-19
相关资源
最近更新 更多