SpringBoot中使用logback打印日志

首页 » 技术栈 » SpringBoot中使用logback打印日志

01_关于日志

为什么要用日志?

1,比起system.out.println, 日志框架可以把日志的输出和代码分离;

2,日志框架可以方便的定义日志的输出环境控制台文件数据库3

3,日志框架可以方便的定义日志的输出格式和输出级别;

日志级别

TRACE 能输出 (TRACE DEBUG INFO WARN ERROR级别日志)

DEBUG 能输出 (DEBUG INFO WARN ERROR级别日志)

INFO 能输出 (INFO WARN ERROR级别日志)

WARN 能输出 (WARN ERROR级别日志)

ERROR 能输出 (ERROR级别日志) 生产环境适应

日志输入:

控制台输出: 开发使用

输出到文件中:

1.所有的日志都往一个日志文件中取写入

2.一天一个日志文件 log_2017_01_15.txt log_2017_01_16.txt

3.按照天数,文件大小切割日志, log_2017_01_15_0.txt log_2017_01_15_1.txt

02_SpringBoot的默认日志使用:

1, SpringBoot默认已经开启日志;默认的日志格式为:时间日志级别PID 线程名称日志类日志说明

2, SpringBoot的日志区别系统日志和应用日志;

3SpringBoot推荐使用Logback作为日志框架(commonlogging , java-logging, log4j,log4j2 logback, slf4j) skf4j日志门面,调老牌的log日志软件

Logback使用方法(推荐使用logback自己的配置文件)

1, SpringBoot默认支持logback.xm或者logback- spring,xml,推荐使用logback-spring.xml, SpringBoot会增加额外功能3

2,可以通过ogging.confg= lasspath:mylogback.xmn指定自己的]ogback配置文件(不推荐) ;

3,一个典型的logback配置文件:

<configuration>
<!-- %m输出的信息,%p日志级别,%t线程名,%d日期,%c类的全名,,,, -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d %p (%file:%line)- %m%n</pattern>
<charset>GBK</charset>
</encoder>
</appender>
<!--具体记录日志的组件-->
<appender name="baselog"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>log/base.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>log/base.log.%d.%i</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<!-- or whenever the file size reaches 64 MB -->
<maxFileSize>64 MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<encoder>
<pattern>
%d %p (%file:%line)- %m%n
</pattern>
<charset>UTF-8</charset>
<!-- 此处设置字符集 -->
</encoder>
</appender>
<root level="info">
<appender-ref ref="STDOUT"/>
</root>
<logger name="cn.wolfcode" level="DEBUG">
<appender-ref ref="baselog"/>
</logger>
<logger name="cn.wolfcode.shop.mapper" level="DEBUG">
<appender-ref ref="STDOUT" />
</logger>
</configuration>

03_LogBack使用介绍

Logback使用介紹:

1, <configuration>:logback配置根元素

属性包括:

1,scan:当此属性没置カtrue肘,配置文件如果安生改変,将会被重新加載,默以値カtrue.

2,scanPeriod:没置監測配置文件是否有修改的吋同同隔,如果没有給出吋同単位,默臥単位是毫秒。当scanカtrue肘,此属性生效。默以的吋絢尚隔カ1分狆。

3,debug:当此属性没置カtrue的,将打印出logback内部日志信息,突吋査看ogback送行状杰。默从値力false.

子元素:

<contextName>:.上下文名字;

property:淀乂属性,可以使用sい在配置文件中使用;

2, <appender>: 在ogback中是用于具体记录日志的组件,可以用来配置日志记录方式,日志记录格式等;

属性包括:

name:appender的名字,用于下面在配置日志的时候指定;

class:使用到的appender类

常见的appender:

1, ch.qos.logback.core.ConsoleAppender:输出到控制台;

2, ch.qos.logback.core.FileAppender: 输出到文件;

3, ch.qos.logback.core.rolling.RollingFileAppender 输出到文件可以配置滚动策略当日志达到某个条件之后分文件记录;

4,还有其他的appender,比如写到数据库等;

<appender>元素的基本格式:

<appender name="" class="">

<encoder>

<pattern>..</pattern>

</encoder>

<otherconfg> </otherconfig>

</appender>

<encoder>元素用来规定日志的输出格式,所有表迭式都以%升始表示接下来是一个特殊标识符

常见标识符:

l, %logger{n}: 输出logger对象类名, n代表长度;

2, %class{n}:输出所在类名,

3, d{pattern}或者date{pattern): 输出日志日期,格式同java;

4, L/line:日志所在行号;

5, m/msg: 日志内容;

6, method:所在方法名称;

7, p/level: 日志级别;

8, thread:所在线程名称;

[直接写数字1 :标识最小宽度并且是右对齐

[.数字] :标识最小宽度,并且是左对齐

[.数字] :标识最大宽度。如果数据内容超辻最大宽度,从前面截取数据

[.数字] :标识最大宽度。如果数据内容超过最大宽度,从后面截取数据

常见的appender使用:

1) ConsoleAppender输出到控制台,子元素:

<encoder>:

日志格式化

target>: system.out(默认)或者system.err

在这里要说明一下,输出日志都跑哪里去了

在输出日志文件的时候使用的是配置变量开发环境中在当前目录生成log,目录,存储日志文件在打包成war的时候如果使用的是绝对路径的话日志文件直接输出如果使用的是相对路径当部署到tomcat路径下默认是输出到tomcat的bin目录下的如上面的log/base.log就会输出的到bin/log/目录下。


打赏 赞(4)
微信
支付宝
微信二维码图片

微信扫描二维码打赏

支付宝二维码图片

支付宝扫描二维码打赏

大家好!欢迎光临我的博客,在下就是闭月羞花沉鱼落雁才高八斗貌似天仙玉树凌风赛潘安一枝梨花压海棠人送外号上天下地无所不能美貌与智慧并存、古典与活泼的化身~~
觅·You小栈» SpringBoot中使用logback打印日志

版权声明: 本站原创文章,于2018年02月14日由觅·You发布,转载请注明出处

该篇文章的评论功能已被站长关闭

亭边总有花影,与我消遣一段旖旎的小时光

立即查看 联系作者
正在获取,请稍候...
00:00/00:00