SpringBoot项目使用@Slf4j +logback.xml 实现日志功能

最近接手了,公司同事之前开发的一个项目,发现没有配置日志功能,于是自己简单配置了一下,做一个记录

@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>

上传服务器测试,完美~

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值