据我所知,只有当logging.file=
位于application.properties文件中时,/ logfile执行器才可用。
但是对于我的日志记录,我需要使用SizeAndTimeBasedRollingPolicy的RollingFileAppender文件appender。
是否可以在application.properties中配置RollingFileAppender?
如果我在logging-spring.xml中配置RollingFileAppender,则会出现错误:
java.lang.IllegalStateException: Logback configuration error detected:
ERROR in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - 'File' option has the same value "log/scratch6.log" as that given for appender [FILE] defined earlier.
是否可以通过RollingFileAppender获取日志文件并拥有/ logfile执行器?
答案 0 :(得分:2)
我遇到了同样的问题。这是我发现的
logging.file - 实际创建一个文件。当你在logback-spring.xml中声明$ {LOG_FILE}时,它会检测到冲突。 appender和文件名具有相同的值。
我最终这样做了(附加.log以便它将appender与文件区分开来)
application.properties: logging.file = /选择/ FFF /日志/ file_debug
的logback-spring.xml:
<file>${LOG_FILE}.log</file>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<Pattern>
%d{yyyy-MM-dd HH:mm:ss} - %msg%n
</Pattern>
</encoder>
..
然而,除了/opt/fff/logs/file_debug.log之外,它还会创建另一个文件/ opt / fff / logs / file_debug
答案 1 :(得分:0)
Logback 负责创建日志文件,您只希望 spring 执行器 能够从日志文件中读取。
因此保持您的 logging-spring.xml(或 logback.xml)原样,并在 application.properties 中更改以下属性,来自:
logging.file=/var/log/tomcat/scratch6.log
致:
endpoints.logfile.external-file=/var/log/tomcat/scratch6.log
# or for newer versions for springboot:
management.endpoint.logfile.external-file=/var/log/tomcat/scratch6.log