最近接手了,公司同事之前开发的一个项目,发现没有配置日志功能,于是自己简单配置了一下,做一个记录
@Slf4j 的使用
@Slf4j是Lombok插件中的注解,要使用需要有Lombok依赖
作用是替代 private static final Logger logger = LoggerFactory.getLogger(this.XXX.class)
在类上添加此注解,就可以使用log.xx方法,常用的方法:
log.info(“xxx”)
log.error(“xxx”)
还可以记录更多详细信息,比如
log.info(“对接参数: {}”,param)
log.info(“参数1: {},参数2: {},参数3: {}”,param1,param2,param3)
{}是占位符,多个{}的话,后面要记录的变量或者对象按照顺序添加即可
logback的使用
日志框架使用了SpringBoot自带的logback
简单使用可以在yml配置文件中进行配置
logging:
level:
root: info
com.myp: debug
#默认日志文件名
file: log.log
#默认日志路径 注:二者不能同时使用,如若同时使用,则只有logging.file生效
path: ./log
#logback.xml路径,默认为classpath:logback.xml
config: ./logback.xml
pattern:
#日志打印格式
console:
file:
我使用的是xml配置,在resource目录新建logback.xml
实现的功能:日志按照日期存储,一天是一个文件夹,每个日志文件最大10MB,超过10MB自动新建一个log文件继续存储,日志文件下标从0开始
<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false">
<!--定义日志文件的存储地址 ../项目所在文件夹的根路径-->
<property name="LOG_HOME" value="../huachengguarantee/logs"/>
<!-- 定义日志文件名称 -->
<property name="appName" value="huachengguarantee"/>
<!--彩色日志-->
<!--%cyan(%msg%n)中%cyan是颜色 可以自己修改或者不设置颜色-->
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度,%msg:日志消息,%n是换行符-->
<property name="CONSOLE_LOG_PATTERN"
value="%yellow(%date{yyyy-MM-dd HH:mm:ss}) %yellow([%thread]) %highlight(%-5level) %boldMagenta(%logger{50}) - %cyan(%msg%n)"/>
<!--控制台日志, 控制台输出 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
</encoder>
</appender>
<!--文件日志, 按照每天生成日志文件 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- 日志文件输出的文件名 ,%-i 是下标 从0开始-->
<FileNamePattern>${LOG_HOME}/%d{yyyy-MM-dd}/${appName}-%i.log</FileNamePattern>
<!--日志文件最大的大小,超过会新建一个日志文件-->
<MaxFileSize>10MB</MaxFileSize>
<!--日志文件保留天数-->
<MaxHistory>30</MaxHistory>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern>
</encoder>
</appender>
<!-- show parameters for hibernate sql 专为 Hibernate 定制 -->
<logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="TRACE"/>
<logger name="org.hibernate.type.descriptor.sql.BasicExtractor" level="DEBUG"/>
<logger name="org.hibernate.SQL" level="DEBUG"/>
<logger name="org.hibernate.engine.QueryParameters" level="DEBUG"/>
<logger name="org.hibernate.engine.query.HQLQueryPlan" level="DEBUG"/>
<!--myibatis log configure-->
<logger name="com.apache.ibatis" level="TRACE"/>
<logger name="java.sql.Connection" level="DEBUG"/>
<logger name="java.sql.Statement" level="DEBUG"/>
<logger name="java.sql.PreparedStatement" level="DEBUG"/>
<!-- 日志输出级别 -->
<root level="INFO">
<appender-ref ref="STDOUT"/>
<appender-ref ref="FILE"/>
</root>
</configuration>
上传服务器测试,完美~