日志技术

0 阅读1分钟

e3db8ba733918ee11d2d49ccf7556941.png sl4j用标准接口及抽象类,允许程序使用不同的日志技术

引入logback的依赖(springboot项目中该依赖已传递),配置logback.xml

定义日志记录对象Logger,调用(debug/info/...)记录日志

private static final Logger log = LoggerFactory.getLogger(LogTest.class);

Lombok简化写用注释@sl4j直接使用

<!-- 控制台输出 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n</pattern>
        <charset>UTF-8</charset>
    </encoder>
</appender>

<!-- 文件输出 按时间+大小滚动 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>logs/tlias-web.log</file>

    <!-- 正确的滚动策略 -->
    <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
        <!-- 日志文件名格式 -->
        <fileNamePattern>logs/tlias-web-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
        <!-- 单个文件最大大小 -->
        <maxFileSize>10MB</maxFileSize>
        <!-- 保留天数 -->
        <maxHistory>30</maxHistory>
        <!-- 总大小上限 -->
        <totalSizeCap>1GB</totalSizeCap>
    </rollingPolicy>

    <encoder>
        <pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{50} - %msg%n</pattern>
        <charset>UTF-8</charset>
    </encoder>
</appender>

<!-- 根日志配置 -->
<root level="INFO">
    <appender-ref ref="STDOUT"/>
    <appender-ref ref="FILE"/>
</root>
``` ``` 日志级别trace debug info warn error