Как да влезете с едни и същи файлове log4j.properties за две различни приложения за зареждане на Spring?

Да предположим, че имам две Spring-Boot приложения, наречени config и eureka.

config се състои от:

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

еврика се състои от:

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
Благодаря ти. Какво ще кажете за Windows?   -  person Sudhashri S Hebbar    schedule 21.01.2016
comment
Това може да се постигне с проект за ресурси, от който ще зависят другите. Вижте приетия отговор тук: 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