好吧,我解决了我的问题,但是(我认为)这不是一个很好的解决方案。
首先,我将绝对路径放置到.property文件中的日志文件中。例如:
logback.log.location=d:Tomcattomcat_8.0.0-RC5webappsmodulelogs
然后,在我的logback.xml中使用该属性:
<configuration> <property file="srcmainresourcessystem_config.properties" /> <appender name="FILE-MODULE" > <file>${logback.log.location}module.log</file> <enprer> <pattern> %date %level [%thread] %logger{10} [%file:%line] %msg%n </pattern> </enprer> </appender> <logger name="module" level="debug" additivity="false"> <appender-ref ref="FILE-MODULE" /> </logger></configuration>您可以在此处查看更多详细信息。这是我使用的示例。
但是在上面的解决方案中,我们有特定于环境的日志绝对路径。这很丑。当然,我们可以使用系统变量 CATALINA_HOME
来避免绝对路径。但是,据我所知,CATALINA_HOME可以不确定。或者,我们可以使用tomcat的另一个实例,该实例不在CATALINA_HOME中。
也许有人有更好的解决方案,并且会独立于环境?
更新
另一个解决方案:
只需在logback.xml中使用相对(到tomcat bin)路径而不是绝对路径:
<configuration> <appender name="FILE-MODULE" > <file>..webappsmodulemodule.log</file> <enprer> <pattern> %date %level [%thread] %logger{10} [%file:%line] %msg%n </pattern> </enprer> </appender> <logger name="module" level="debug" additivity="false"> <appender-ref ref="FILE-MODULE" /> </logger></configuration>这是我尝试实现的第一个想法。我不知道,为什么以前不起作用。也许还有其他问题。而且,这和本文使我感到困惑。
但是现在此解决方案可以正常工作。这正是我在寻找=)



