骆驼(春季启动)自定义日志

时间:2020-05-04 08:44:02

标签: spring-boot apache-camel

有没有办法在一个(人类可读的)日志中记录不同的路由?

我需要在春季启动中(使用骆驼)在txt文件中记录一些路由。这些路线会做一些解组/编组的工作,我需要跟踪

1 个答案:

答案 0 :(得分:1)

Logback.xml是在springboot中实现人类可读记录器的最简单方法。它随Spring Boot一起提供,无需任何配置。

在resources文件夹中创建一个logback.xml文件,并将以下内容粘贴到其中。您已定。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

    <property name="LOG_PATH" value="logs" />

    <!--Console Appender-->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>
                %d{dd-MM-yyyy HH:mm:ss.SSS} %green([%thread]) %highlight(%-5level) %logger{36}.%M - %msg%n
            </pattern>
        </encoder>
    </appender>

    <!--Rolling File Appender-->
    <appender name="File-Logger" class="ch.qos.logback.core.rolling.RollingFileAppender">

        <file>${LOG_PATH}/myLog.log</file>

        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <Pattern>
                %d{dd-MM-yyyy HH:mm:ss.SSS} [%thread] %-5level %logger{36}.%M - %msg%n
            </Pattern>
        </encoder>

        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>
                ${LOG_PATH}/archived/log_%d{dd-MM-yyyy}.%i.log
            </fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>10MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <maxHistory>60</maxHistory>
            <totalSizeCap>1GB</totalSizeCap>
        </rollingPolicy>

    </appender>

    <root level="info">
        <appender-ref ref="STDOUT"/>
        <appender-ref ref="File-Logger"/>
    </root>

</configuration>