使用日志

SOFAST框架默认提供了审计日志模块,通过数据库来记录日志信息。本章将介绍如何配置和使用日志。

logback配置文件

在resources目录下新建logback-spring.xml。如无其他需求可直接复制粘贴下面配置

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

<!--
   此文件不能使用默认名称logback.xml,因为logback.xml会优先加载application.yml文件,因此挡在logback中使用springProperty标签将无法获取信息;
   解决方案:将文件命名为logback-spring.xml
-->

<configuration debug="false" scan="false">
   <springProperty scop="context" name="spring.application.name" source="spring.application.name" defaultValue=""/>
   <property name="log.path" value="logs/${spring.application.name}"/>
   <!-- 彩色日志格式 -->
   <property name="CONSOLE_LOG_PATTERN"
           value="${CONSOLE_LOG_PATTERN:-%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
   <!-- 彩色日志依赖的渲染类 -->
   <conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter"/>
   <conversionRule conversionWord="wex"
               converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter"/>
   <conversionRule conversionWord="wEx"
               converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter"/>
   <!-- 控制台打印日志 -->
   <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
      <encoder>
         <pattern>${CONSOLE_LOG_PATTERN}</pattern>
      </encoder>
   </appender>

   <!-- 普通日志 -->
   <appender name="debug" class="ch.qos.logback.core.rolling.RollingFileAppender">
      <file>${log.path}/debug.log</file>
      <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
         <fileNamePattern>${log.path}/%d{yyyy-MM, aux}/debug.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
         <maxFileSize>50MB</maxFileSize>
         <maxHistory>30</maxHistory>
      </rollingPolicy>
      <encoder>
         <pattern>%date [%thread] %-5level [%logger{50}] %file:%line - %msg%n</pattern>
      </encoder>
   </appender>

   <!-- 错误日志 -->
   <appender name="error" class="ch.qos.logback.core.rolling.RollingFileAppender">
      <file>${log.path}/error.log</file>
      <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
         <fileNamePattern>${log.path}/%d{yyyy-MM}/error.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
         <maxFileSize>50MB</maxFileSize>
         <maxHistory>30</maxHistory>
      </rollingPolicy>
      <encoder>
         <pattern>%date [%thread] %-5level [%logger{50}] %file:%line - %msg%n</pattern>
      </encoder>
      <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
         <level>ERROR</level>
      </filter>
   </appender>

   <!--nacos 心跳 INFO 屏蔽-->
   <logger name="com.alibaba.nacos" level="OFF">
      <appender-ref ref="error"/>
   </logger>

   <!-- Level: FATAL 0  ERROR 3  WARN 4  INFO 6  DEBUG 7 -->
   <root level="INFO">
      <appender-ref ref="console"/>
      <appender-ref ref="debug"/>
      <appender-ref ref="error"/>
   </root>
</configuration>
操作日志

如果要使用该功能,那么需要在需要记录日志的方法上添加如下注解:

@LogOperator(title = "请填写方法的描述信息", type = Constants.SELECT_OPERATOR)

该注解有两个必填参数,一个title,是描述这个方法是做什么的,一个type,是标示这个方法的类别(类别有6种:增删改查,上传和下载)

Copyright © 2022. 恩梯梯数据(中国)信息技术有限公司. all right reserved,powered by Gitbook该文件修订时间: 2022-02-28 10:33:58

results matching ""

    No results matching ""