java - 在Springboot中创建2个日志文件

标签 java spring logging spring-boot

我在 Springboot 中创建多个日志文件,log-back.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <property name="HOME" value="./logs" />
    <appender name="SYSLOG" class="ch.qos.logback.classic.net.SyslogAppender">-->
        <syslogHost>10.0.3.20</syslogHost>
        <facility>SYSLOG</facility>
        <suffixPattern>abc [%thread] %logger %msg</suffixPattern>
    </appender>
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
        <Pattern>
        %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n
        </Pattern>
        </layout>
    </appender>

    <appender name="FILE-AUDIT" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${HOME}/abc.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- daily rollover -->
            <fileNamePattern>${HOME}/abc.%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>30</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>%relative [%thread] %-5level %logger{35} - %msg%n</pattern>
        </encoder>
    </appender>

// another log file 
    <appender name="FILE"   class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${HOME}mon.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- daily rollover -->
            <fileNamePattern>${HOME}/mon.%d{yyyy-MM-dd}.log</fileNamePattern>
            <maxHistory>30</maxHistory>
        </rollingPolicy>
        <encoder>
            <pattern>%relative [%thread] %-5level %logger{35} - %msg%n</pattern>
        </encoder>
    </appender>

    <logger name="com.rh.project" level="debug">
        <appender-ref ref="STDOUT" />
        <appender-ref ref="SYSLOG" />
        <appender-ref ref="FILE-AUDIT" />
    </logger>
    <logger name="mail-log" level="debug">
        <appender-ref ref="STDOUT" />
        <appender-ref ref="SYSLOG" />
        <appender-ref ref="FILE" />
    </logger>
</configuration>

当我检查内部日志目录时,我只看到 abc.log ,但没有 mon.log

最佳答案

您是否注意到第二个记录器中缺少斜杠?

<file>${HOME}/mon.log</file>  

我相信这就是问题所在。但是,与 spring boot 无关:)

关于java - 在Springboot中创建2个日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46046171/

相关文章:

java - @Scheduled 中运行的作业不会调用 spring 数据 jpa 保存

java - 使用自定义类型适配器添加对象,gson 中的 jsonwriter

java - JUnit/Mockito : throwing an exception in a new thread

java - RequestDispatcher 和路径

java - Hibernate 中的包和列表有什么区别?

json - Spring 集成 http :outbound-gateway using json subparts

java - 在 Tomcat 服务器中部署 WAR 文件时出错 - org.springframework.web.context.ContextLoaderListener 未加载

Python,想要使用日志轮换和压缩进行日志记录

asp.net - 如何使用只有一个用户的 ASP.NET MVC 项目

即使日志级别不允许,java util 日志记录也会调用方法