SpringBoot 整合 slf4j 日志打印
划水时间,记录一下用到的相关slf4j 日志打印,如何实现配置输出、本地保存log日志文件...
我使用的是SpringBoot框架,slf4j 类库已经包含到了 SpringBoot 框架中,所有,所有前提是“你的SpringBoot项目能够启动起来”
/手动滑稽...
第一步:在 application.properties 文件中先定义好logger文件的一些配置信息,这样方便以后修改配置;
###################### log 配置 ######################
###################### log 配置 ######################
log.fileBackupPath=D://log/
log.history=30
log.fileSize=10mb
log.totalSize=100mb
#当前日志文件名称
log.fileName=server.log
#备份日志文件命名策略
log.backupFileNamePolicy=server-%d{yyyy-MM-dd}.%i.log
#日志文本生成策略
# d:时间 C:类名称 M:方法名称 L:行号 m:消息 n:换行
log.txtPatternPolicy=%d{yyyy-MM-dd HH:mm:ss:SSS} [%thread] %-5level %C{36} %M %L - %m %n
第二步:新建一个logger-config.xml 配置文件,路径:resource/logger-config.xml;
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<!-- 引入配置文件 -->
<property resource="application.properties"/>
<!-- %m输出的信息,%p日志级别,%t线程名,%d日期,%c类的全名,%i索引【从数字0开始递增】 --> <!-- 定义控制台输出格式 -->
<!-- appender(附加):是 configuration 的子节点,是负责写日志的组件 -->
<!--ConsoleAppender :是将信息输出到控制台-->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender" >
<encoder>
<!-- patter(模式)-->
<!-- %d{pattern}日期
%m或者%msg为信息
%M为method
%L为行号
%thread线程名称
%n换行
%-5level %C{length} | %class{length} %c {length } | %lo {length } | %logger {length }
输出日志的logger名,可有一个整形参数,功能是缩短logger名,设置为0表示只输入logger最右边点符号之后的字符串。 Conversion specifier Logger name Result
-->
<pattern>${log.txtPatternPolicy}</pattern>
<charset>UTF-8</charset>
</encoder>
</appender> <!-- 配置log 文件生成策略 -->
<!-- RollingFileAppender: 符合定义条件后,将会重新新建文件进行记录 -->
<appender name="server" class="ch.qos.logback.core.rolling.RollingFileAppender"> <File>${log.fileBackupPath}${log.fileName}</File>
<!-- TimeBasedRollingPolicy : 是一种基本的滚动策略,会根据时间来进行制定策略,既负责滚动,也负责触发-->
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- fileNamePattern: 文件命名模式 -->
<fileNamePattern>${log.fileBackupPath}${log.backupFileNamePolicy}</fileNamePattern>
<!-- 文件存在时间 -->
<maxFileSize>${log.fileSize}</maxFileSize>
<maxHistory>${log.history}</maxHistory>
<totalSizeCap>${log.totalSize}</totalSizeCap>
</rollingPolicy >
<encoder>
<!-- pattern : 用来定义log 日志文件的输入格式 -->
<pattern>
${log.txtPatternPolicy}
</pattern>
<charset>UTF-8</charset>
</encoder>
</appender> <logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="TRACE" />
<logger name="org.hibernate.type" level="TRACE" />
<logger name="org.hibernate.type.descriptor.sql.BasicExtractor" level="DEBUG" />
<logger name="org.hibernate.engine.QueryParameters" level="DEBUG" />
<logger name="org.hibernate.engine.query.HQLQueryPlan" level="DEBUG" /> <!-- 日志级别 -->
<!-- 级别依次为【从高到低】:FATAL > ERROR > WARN > INFO > DEBUG > TRACE -->
<root level="INFO">
<appender-ref ref="console"/>
<appender-ref ref="server"/>
</root> </configuration>
第三步:需要在 application.properties 文件中,配置slf4j 关联本地自己的配置信息,如果不关联,那就不会加载自己的配置信息了。
#最后,引用配置好的logger 配置文件
logging.config=classpath:config/logger-config.xml
效果:
1.启动SpringBoot:

2.生成本地 log 文件:当前文件、备份文件

3.server.log 中的写入文件:

ByeBye...
SpringBoot 整合 slf4j 日志打印的更多相关文章
- SpringBoot整合Slf4j+logback日志框架
一.Slf4j简单介绍与优势 1.介绍 Slf4j的全称是Simple Loging Facade For Java(Java简单日志门面),它仅仅是一个为Java程序提供日志输出的统一接口,并不是一 ...
- Springboot整合log4j2日志全解
目录 常用日志框架 日志门面slf4j 为什么选用log4j2 整合步骤 引入Jar包 配置文件 配置文件模版 配置参数简介 Log4j2配置详解 简单使用 使用lombok工具简化创建Logger类 ...
- SpringBoot整合Logback日志框架配置全解析
目录 本篇要点 一.Logback日志框架介绍 二.SpringBoot与Logback 1.默认日志格式 2.控制台输出 3.文件输出 4.日志级别 5.日志组 6.自定义log配置 三.logba ...
- 自定义springboot - starter 实现日志打印,并支持动态可插拔
1. starter 命名规则: springboot项目有很多专一功能的starter组件,命名都是spring-boot-starter-xx,如spring-boot-starter-loggi ...
- springBoot项目配置日志打印管理(log4j2)
1.修改pom文件引用log4j2相关jar包 依赖代码: <!-- log4j2 start --><!-- Spring Boot log4j2依赖 --><depe ...
- SpringBoot整合+logback日志配置
本次演示的代码结构如下,基于maven,整合SpringBoot.Spring.Mybaits的SSM框架.同时测试logback日志框架的使用及配置. 1.创建maven工程,修改pom.xml文件 ...
- SpringBoot+logback实现日志打印
logback介绍 logback是一款开源的日志框架,内核重写了,是基于log4j基础进行改良的.其官网为logback.qos.ch.logback在性能上有很大提升,拥有更多特性. logbac ...
- SpringBoot整合log4j日志框架
Spring Boot 2.x默认使用Logback日志框架,要使用 Log4j2必须先排除 Logback. 加入修改依赖 <dependency> <groupId>org ...
- SpringBoot整合logback日志框架
在resource下创建一个名称为 logback-spring.xml文件 <configuration> <!--日志文件夹存放的名称--> <contextName ...
随机推荐
- http 错误代码
2xx 成功 200 正常:请求已完成. 201 正常:紧接 POST 命令. 202 正常:已接受用于处理,但处理尚未完成. 203 正常:部分信息 — 返回的信息只是一部分. ...
- dojo dgrid 的列显示html控件
var columns = [ { field: "first", label: "First Name", formatter:function(data,o ...
- 【Android开发精要笔记】Android组件模型解析
Android组件模型解析 Android中的Mashup 将应用切分成不同类别的组件,通过统一的定位模型和接口标准将他们整合在一起,来共同完成某项任务.在Android的Mashup模式下,每个组件 ...
- spark介绍4(sparksql)ODBC(Windows)gc
(ODBC是open database connection开源数据连接) 在Windows控制面板的管理工具里面 GC(Garbage Collection):JAVA/.NET中的垃圾回收器 l ...
- hbase项目
四.HBase 项目4.1.涉及概念梳理:命名空间4.1.1.命名空间的结构 1) Table:表,所有的表都是命名空间的成员,即表必属于某个命名空间,如果没有指定, 则在 default 默认的命名 ...
- 利用 StartLoadingStatus 和 FinishLoadingStatus 读取数据特别是大数据时增加渐隐渐显等待特效 - Ehlib学习(三)
代码很简单: DBGrideh.StartLoadingStatus(' Loading ... '); Sleep(500); DBGrideh.FinishLoadingStatus; 做下变动: ...
- 使用SqlBulkCopy进行批量插入数据时踩过的坑
之前一直都没用过SqlBulkCopy关键字进行数据插入,更没了解过. 事因:因业务需要在数据表中添加两列,然后将数据插入进表中 之前都是这样写的 dt.Columns.Add(new DataCol ...
- Django Query
Making Qeries 一旦创建了数据模型,Django就会自动为您提供一个数据库抽象API,允许您创建.检索.更新和删除对象.本文档解释了如何使用这个API. The models 一个clas ...
- Python【 模块】
module模块:一个py文件就是一个模块 好处: 提高代码的可维护性 可重用 使用模块可以避免函数名和变量名冲突 分类: 标准库模块 第三方模块 自定义模块 调用方法: import 模块 # .p ...
- 编写高质量JS代码中
前段时间看了几道关于前端javascript的面试题目,方觉函数调用模式等基础的重要性.于是,下定决心,好好补补基础,即便不能深入语言的内部设计模式,也要对基本面向对象概念有比较深入的理解. 继续上一 ...