您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Logback:如何将日志目录从“ tomcat / bin”更改为与应用程序相关的目录?

Logback:如何将日志目录从“ tomcat / bin”更改为与应用程序相关的目录?

好吧,我解决了我的问题,但是(我认为)这不是一个很好的解决方案。

首先,我将绝对路径放置到.property文件中的日志文件中。例如:

logback.log.location=d:\Tomcat\tomcat_8.0.0-RC5\webapps\module\logs

然后,在我的logback.xml中使用该属性

<configuration>
    <property file="src\main\resources\system_config.properties" />
    <appender name="FILE-MODULE" class="ch.qos.logback.core.FileAppender">
        <file>${logback.log.location}\module.log</file>
        <encoder>
            <pattern>
                %date %level [%thread] %logger{10} [%file:%line] %msg%n
            </pattern>
        </encoder>
    </appender>

    <logger name="module" level="debug" additivity="false">
        <appender-ref ref="FILE-MODULE" />
    </logger>
</configuration>

您可以在此处查看更多详细信息。这是我使用的示例

但是在上面的解决方案中,我们有特定于环境的日志绝对路径。这很丑。当然,我们可以使用系统变量 来避免绝对路径。但是,据我所知,CATALINA_HOME可以不确定。或者,我们可以使用tomcat的另一个实例,该实例不在CATALINA_HOME中。

也许有人有更好的解决方案,并且会独立于环境?

一个解决方案:

只需在logback.xml中使用相对(到tomcat \ bin)路径而不是绝对路径

<configuration>
    <appender name="FILE-MODULE" class="ch.qos.logback.core.FileAppender">
        <file>..\webapps\module\module.log</file>
        <encoder>
            <pattern>
                %date %level [%thread] %logger{10} [%file:%line] %msg%n
            </pattern>
        </encoder>
    </appender>

    <logger name="module" level="debug" additivity="false">
        <appender-ref ref="FILE-MODULE" />
    </logger>
</configuration>

这是我尝试实现的第一个想法。我不知道,为什么以前不起作用。也许还有其他问题。而且,本文使我感到困惑。

但是现在此解决方案可以正常工作。这正是我在寻找=)

其他 2022/1/1 18:19:49 有509人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶