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 ...
随机推荐
- pageadmin去掉xxx
首先,屏蔽网页标题栏上的版权信息. 这个版本的信息在Incs目录下,我添加代码的文件是web_top.ascx,在它的最底下加入下面的代码. <script language="jav ...
- Android开发之Tween(补间动画)
在android中动画主要有三种,①帧动画(http://blog.csdn.net/dmk877/article/details/45893017)这篇文章已经详细的进行了讲解,②补间动画这也是这篇 ...
- 编写高质量代码改善C#程序的157个建议——建议135: 考虑使用肯定性的短语命名布尔属性
建议135: 考虑使用肯定性的短语命名布尔属性 布尔值无非就是True和False,所以应该用肯定性的短语来表示它,例如,以Is.Can.Has作为前缀. 布尔属性正确命名的一个示例如下: class ...
- LinearLayout属性用法和源码分析
转载自:http://www.jianshu.com/p/650c3fd7e6ab 一. LinearLayout的属性和用法 LinearLayout对于开发来说,是使用最常用的布局控件之一,但 ...
- iOS设计模式之单例
单例模式的意思就是这个类只有一个实例,这个类就是单例类.在iOS中有不少都是单例NSNull,NSFileManager ,UIApplication,NSUserDefaults ,UIDevice ...
- opencv——拟合圆
#include "stdafx.h" #include "cv.h" #include "highgui.h" #include &quo ...
- ArrayList动态数组System.Collections命名空间下
using System.Collections; namespace myspace { class myclass { ArrayList myList=new ArrayList(); } }
- ZT 基于git的版本管理思路
http://nvie.com/posts/a-successful-git-branching-model/ 分为5种分支: feature:功能分支,开发人员在此种分支下开发新的功能,开发完成后m ...
- Exception has been thrown by the target of an invocation
I'd suggest checking for an inner exception. If there isn't one, check your logs for the exception t ...
- Qt学习(二):项目学习
1. 概述 Qt做UI设计后,通常会生成Form Files文件夹下的ui文件.Generated File文件夹下的ui_xxx等头文件和源文件.Header Files文件夹下的头文件.Sourc ...