划水时间,记录一下用到的相关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 日志打印的更多相关文章

  1. SpringBoot整合Slf4j+logback日志框架

    一.Slf4j简单介绍与优势 1.介绍 Slf4j的全称是Simple Loging Facade For Java(Java简单日志门面),它仅仅是一个为Java程序提供日志输出的统一接口,并不是一 ...

  2. Springboot整合log4j2日志全解

    目录 常用日志框架 日志门面slf4j 为什么选用log4j2 整合步骤 引入Jar包 配置文件 配置文件模版 配置参数简介 Log4j2配置详解 简单使用 使用lombok工具简化创建Logger类 ...

  3. SpringBoot整合Logback日志框架配置全解析

    目录 本篇要点 一.Logback日志框架介绍 二.SpringBoot与Logback 1.默认日志格式 2.控制台输出 3.文件输出 4.日志级别 5.日志组 6.自定义log配置 三.logba ...

  4. 自定义springboot - starter 实现日志打印,并支持动态可插拔

    1. starter 命名规则: springboot项目有很多专一功能的starter组件,命名都是spring-boot-starter-xx,如spring-boot-starter-loggi ...

  5. springBoot项目配置日志打印管理(log4j2)

    1.修改pom文件引用log4j2相关jar包 依赖代码: <!-- log4j2 start --><!-- Spring Boot log4j2依赖 --><depe ...

  6. SpringBoot整合+logback日志配置

    本次演示的代码结构如下,基于maven,整合SpringBoot.Spring.Mybaits的SSM框架.同时测试logback日志框架的使用及配置. 1.创建maven工程,修改pom.xml文件 ...

  7. SpringBoot+logback实现日志打印

    logback介绍 logback是一款开源的日志框架,内核重写了,是基于log4j基础进行改良的.其官网为logback.qos.ch.logback在性能上有很大提升,拥有更多特性. logbac ...

  8. SpringBoot整合log4j日志框架

    Spring Boot 2.x默认使用Logback日志框架,要使用 Log4j2必须先排除 Logback. 加入修改依赖 <dependency> <groupId>org ...

  9. SpringBoot整合logback日志框架

    在resource下创建一个名称为 logback-spring.xml文件 <configuration> <!--日志文件夹存放的名称--> <contextName ...

随机推荐

  1. mysql 数学操作函数

    -- 绝对值,圆周率 SELECT ABS(-1),3*PI() -- 平方根,求余 SELECT SQRT(9),MOD(9,5) -- 获取整数的函数 SELECT CEIL(12.145),CE ...

  2. ceph中查看一个rbd的image的真实存储位置

    1.新建一个image存储 rbd create hzb-mysql --size 2048 2.查看hzb-mysql的所有对象 一个rbd image实际上包含了多个对象(默认情况下是image_ ...

  3. javascript 面试题之一

    function setName(obj){ obj.name="tom"; obj=new Object(); obj.name="mike"; } var ...

  4. Python下载网页图片

    有时候不如不想输入路径,那就需要用os模块来修改当前路径 下面是从其他地方看到的一个例子,就是把图片url中的图片名字修改,然后就可以循环保存了,不过也是先确定了某个url 来源:http://www ...

  5. Android Studio3.2新建项目gradle read time out

    试验了好几个小时,看了很多方法,都不管用,运用一下设置好了,记录一下 1. 2.在项目的build.gradle中添加 mavenCentral()maven { url 'https://maven ...

  6. [gcc warnings] -Wtrigraph warnings

    [gcc warnings] -Wtrigraph warnings 背景 三字符组(trigraph)与双字符组(Digraph)是程序设计语言(如C语言)中3个或者2个字符的序列,在编译器预扫描源 ...

  7. layui后台框架的搭建

    layui(谐音:类UI) 是一款采用自身模块规范编写的前端 UI 框架,遵循原生 HTML/CSS/JS 的书写与组织形式,门槛极低,拿来即用.其外在极简,却又不失饱满的内在,体积轻盈,组件丰盈,从 ...

  8. django静态文件路径配置

    在settings.py中加入 STATICFILES_DIRS = [ os.path.join(BASE_DIR,'static') ] 即可在html中引用该目录下的静态文件 <!DOCT ...

  9. docker-compsoe & .netcore & nginx

    1.引言 紧接上篇.NET Core容器化@Docker,这一节我们先来介绍如何使用Nginx来完成.NET Core应用的反向代理,然后再介绍多容器应用的部署问题. 2. Why Need Ngin ...

  10. WPF成长之路------帧动画(1)

    最近公司的一个项目因为是WPF的,而自己已经很长一段时间没有接触过WPF了,再加上之前没有做过wpf的动画效果,因此在学习的过程中也顺便记录一下,说不定以后还会用上,同时也算是总结一下吧!刚开始写博客 ...