标签:定义 logging 路径 prope war debug 符号 使用 rip
划水时间,记录一下用到的相关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...
标签:定义 logging 路径 prope war debug 符号 使用 rip
原文地址:https://www.cnblogs.com/mysouler/p/10794532.html