java - 如何在 Tomcat 中设置服务器日志位置

标签 java spring-boot tomcat logging spring-logback

我最近开始在 Spring boot 应用程序中工作。该应用程序使用 spring-logback 进行日志记录实现。

应用程序在不同环境中被捆绑为一场 war 。但是,每个环境写入日志的位置不同,在logging.properties文件中提到。

因此,我目前每次都必须在准备 war 之前改变位置。

如何在 Tomcat 配置中设置日志路径,以便为环境自动选择路径。

目前 mu logback appender 看起来像这样:

<appender name="FILE"
    class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${logging.file}</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">

        <!-- daily rollover -->
        <fileNamePattern>${logging.file}.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
        <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
            <maxFileSize>${log.file.size}</maxFileSize>
        </timeBasedFileNamingAndTriggeringPolicy>
        <maxHistory>${log.file.history}</maxHistory>
    </rollingPolicy>
    <encoder>
        <pattern>${logging.pattern.file}</pattern>
    </encoder>
</appender>

这里的所有属性都是从 src/main/resources 中的 logging.properties 文件中选取的

最佳答案

spring-boot 提供了几个可以在 application.properties 中应用的 logging.* 设置,例如:

logging.level.=DEBUG
logging.file=myfile.log
logging.path=d:/logs/  

如果设置logging.path,Spring Boot会将spring.log写入指定目录。名称可以是确切位置或相对于当前目录。

关于java - 如何在 Tomcat 中设置服务器日志位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57141726/

相关文章:

java - Springboot : org. hibernate.MappingException : Could not get constructor for org. hibernate.persister.entity.SingleTableEntityPersister

java - RxJava : Can a result be split into two different observables?

java - 如何将 List<Map<String,Object>> 转换为 Map<String, String>?

java - 如何修复 Eclipse 上的 "declared package does not match the expected package"错误?

spring-boot - docker部署成功后无法连接本地主机上的应用程序

spring - 在 Spring Framework 5.1 中注册同名测试 bean

javascript - 无法使用 selenium webdriver 选择 ajax 下拉值

java - 写入应用程序特定文件的位置

java - 资源未出现在新服务器窗口中

java - 即使在构建路径中使用 ojdbc14.jar,Class.forName ("oracle.jdbc.driver.OracleDriver") 也会获取 ClassNotFoundException