Как вести журнал с одними и теми же файлами log4j.properties для двух разных приложений Spring-Boot?

Предположим, у меня есть два приложения Spring-Boot с именами config и eureka.

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

Один из способов ведения журнала как config, так и eureka — сохранить копию этого файла свойств в папке resources обоих приложений и указать общий путь для файл журнала в обоих. Я пробовал это, и это работает правильно.

Я хочу сделать что-то другое. Я хочу поддерживать один файл log4j.properties вместо двух для обоих приложений. Мой вопрос в том, как правильно это сделать? Как?


person Sudhashri S Hebbar    schedule 21.01.2016    source источник
comment
В Linux, я думаю, вы могли бы использовать символическую ссылку.   -  person Arnaud    schedule 21.01.2016
comment
Спасибо. А в винде?   -  person Sudhashri S Hebbar    schedule 21.01.2016
comment
Этого можно достичь с помощью проекта resources, от которого будут зависеть остальные. См. принятый ответ здесь: stackoverflow.com/questions/17492622/   -  person Arnaud    schedule 21.01.2016
comment
Этот ответ полезен, но он сработает, если оба они будут в рамках одного проекта. В моем случае они оба являются независимыми проектами. Один из способов сделать это - создать родителя и сделать так, как они сказали в другом ответе. Я хочу, чтобы они были разделены и ссылались на один файл конфигурации. Я не знаю, возможно ли это. Я совсем новичок в этом. Извините, если продолжаю задавать глупые вопросы.   -  person Sudhashri S Hebbar    schedule 21.01.2016


Ответы (1)


Вы можете хранить log4j.properties в обычном месте (в Windows c:\boots), ссылаясь на него в application.properties.

logging.config = C:\boots\log4j.properties
person kann    schedule 21.01.2016
comment
Спасибо, это сработало. Будет ли это работать, если я поместил его в файл bootstrap.properties вместо application.properties? - person Sudhashri S Hebbar; 25.01.2016