我有一个春季启动应用程序。它从我文件系统中的外部位置提取log4j.properties;我在application.yml文件中指定了这个文件的位置:
...
logging:
config: ${LOG_CONFIG_LOCATION}/log4j.properties
...
因为log4j.properties文件将由其他应用程序共享,在其中,我无法使用
...
log4j.appender.fileAppender.File=log_file_name.log
...
因为...所有应用程序都会记录到同一个文件中(可能不会使用io的b / c)
我想要做的是利用application.yml文件中指定的应用程序名称:
...
spring:
application:
name: my_foo_application
...
并将其日志文件名和位置设置为
${LOG_FILES_LOCATION}/services/${spring.application.name}/${spring.application.name}.log
我在application.yml文件中尝试了这个:
spring:
application:
name: my_foo_application
logging:
config: ${LOG_CONFIG_LOCATION}/log4j.properties
file: ${LOG_FILES_LOCATION}/services/${spring.application.name}/${spring.application.name}.log
这没有效果 - 我没有在我期待的位置看到日志文件。
我还评论了' logging.file ....'在application.yml&将其添加到log4j.properties文件中:
log4j.appender.fileAppender.File=${LOG_FILES_LOCATION}/services/${spring.application.name}/${spring.application.name}.log
它也(毫不奇怪)没有效果
如何实现这一目标?
答案 0 :(得分:0)
尝试添加以下行。
log4j.appender.fileAppener=org.apache.log4j.RollingFileAppender