融资项目——全局统一日志说明

发布时间:2024年01月03日

通过日志可以查看程序的运行信息和异常信息等,便于维护。日志级别分为TRACE、DEBUG、INFO、WARN、ERROR级别,越往后打印的日志信息越少,如ERROR 级别只会在程序运行出错时才会打印日志。可在application.properties中设置日志级别。

logging.level.root=xxx(级别)

Logback日志

我们上述方法之外还可以使用Logback作为日志实现的框架。实现步骤如下:

1.在resources中创建logback-spring.xml。并进行配置:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!--  contextName用于区分不同的业务,无实际作用  -->
    <contextName>ronghuitong</contextName>

    <!-- 日志的输出目录 -->
    <property name="log.path" value="D:/edgeDownload/rongzibao/logs_record" />

    <!--控制台日志格式:彩色日志-->
    <!-- magenta:洋红 -->
    <!-- boldMagenta:粗红-->
    <!-- cyan:青色 -->
    <!-- white:白色 -->
    <!-- magenta:洋红 -->
    <property name="CONSOLE_LOG_PATTERN"
              value="%yellow(%date{yyyy-MM-dd HH:mm:ss}) %highlight([%-5level]) %green(%logger) %msg%n"/>

    <!--文件日志格式-->
    <property name="FILE_LOG_PATTERN"
              value="%date{yyyy-MM-dd HH:mm:ss} [%-5level] %thread %file:%line %logger %msg%n" />

    <!--编码-->
    <property name="ENCODING"
              value="UTF-8" />

    <!-- 控制台日志 CONSOLE_LOG_PATTERN对应前面的CONSOLE_LOG_PATTERN-->
    <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
        <encoder>
            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
            <charset>${ENCODING}</charset>
        </encoder>
    </appender>

    <!-- 文件日志 -->
    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
        <file>${log.path}/log.log</file>
        <append>true</append>
        <encoder>
            <pattern>${FILE_LOG_PATTERN}</pattern>
            <charset>${ENCODING}</charset>
        </encoder>
    </appender>

    <logger name="com.pjl" level="INFO">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILE" />
    </logger>

</configuration>

2.多环境配置

如果我们想将不同环境(开发、生产、测试环境)下的日志区别开来,需要加上springProfile标签。可将上面最后提到的代码段:

    <logger name="com.pjl" level="INFO">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILE" />
    </logger>

变为如下代码段:

<!--    使用springProfile可以分别配置开发环境、生产环境、测试环境等不同环境-->
    <!-- 开发环境和测试环境 -->
    <springProfile name="dev,test">
        <logger name="com.pjl" level="INFO">
            <appender-ref ref="CONSOLE" />
        </logger>
    </springProfile>
    <!-- 生产环境 -->
    <springProfile name="prod">
        <logger name="com.pjl" level="ERROR">
            <appender-ref ref="CONSOLE" />
            <appender-ref ref="ROLLING_FILE" />
        </logger>
    </springProfile>

其中,springProfile name="dev,test"要对应application.properties中的:

如果application.properties中为dev,则为开发环境,其他亦然。

3.滚动日志

当一个日志文件内容过多时,日志写入与读取会耗费大量内存。此时可以通过滚动日志解决这个文体。滚动日志是自动不断创建新的日志文件。可将下述代码段添加到logback-spring.xml中:

<!--    滚动日志-->
    <appender name="ROLLING_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">

        <!--  要区别于其他的appender中的文件名字  -->
        <file>${log.path}/log-rolling.log</file>
        <encoder>
            <pattern>${FILE_LOG_PATTERN}</pattern>
            <charset>${ENCODING}</charset>
        </encoder>

        <!-- 设置滚动日志记录的滚动策略 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 日志归档路径以及格式 %d{yyyy-MM-dd}是日志生成日期(具体到天),%i表示是该天第几个日志文件,因为下面定义了maxFileSize,一天可能会生成不止一个日志文件-->
            <fileNamePattern>${log.path}/info/log-rolling-%d{yyyy-MM-dd}.%i.log</fileNamePattern>
            <!--归档日志文件保留的最大数量-->
            <maxHistory>15</maxHistory>
<!--            新建日志文件的策略-->
            <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!--                maxSize表示单个日志文件的大小上限-->
                <maxFileSize>10KB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
        </rollingPolicy>
    </appender>

maxFileSize不要设置太大,否则启动有点慢。(我电脑是这样的)

文章来源:https://blog.csdn.net/qq_45007794/article/details/135351845
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。