mysql spring 整合日志_springboot整合日志

明白几个东西:

1.logging是jdk原生日志框架(一般不用)

2.log4j是Apache开源的日志框架,现在已经停了维护,但绝大数企业还是用的它

3.logback是log4j的一种该进

4.log4j2是重新完完整整被写的一个新的

一、springboot配置log4j2日志:

1.pom.xml文件

org.springframework.boot

spring-boot-starter

org.springframework.boot

spring-boot-starter-logging

org.springframework.boot

spring-boot-starter-log4j2

2.在resource下建立 log4j2.xml

8a2b0ce5a21a3ca21334c1a9e68aa64b.png

代码:

/home/WorkStatLog

filePattern="${LOG_HOME}/workStat-%d{yyyy-MM-dd}.log">

filePattern="${LOG_HOME}/logs/$${date:yyyy-MM}/workStatapp-%d{MM-dd-yyyy}-%i.log.gz">

filePattern="${LOG_HOME}/workStatApp-%d{yyyy-MM-dd}.log">

启动结果:

36f8ac0e873aafbad4f8502d37e705f4.png

二、sprinboot配置log4j2框架(也是一种参考)

1.pom.xml

org.springframework.boot

spring-boot-starter

org.springframework.boot

spring-boot-starter-logging

org.springframework.boot

spring-boot-starter-log4j2

2.代码:

226cd5b2af94e9d66ff8a7a7045f0fd8.png

建立log4j2.xml:主要注意下面路径看在E:/下生产成log文件夹,包括三个文件

E:/

filePattern="${LOG_HOME}/logs/$${date:yyyy-MM}/info-%d{yyyy-MM-dd}-%i.log">

filePattern="${LOG_HOME}/logs/$${date:yyyy-MM}/warn-%d{yyyy-MM-dd}-%i.log">

filePattern="${LOG_HOME}/logs/$${date:yyyy-MM}/error-%d{yyyy-MM-dd}-%i.log">

在yml配置:

logging:

config: classpath:log4j2.xml

结果:

1413d575ec9afd5c34cffaf1342a329c.png

三、springboot配置logback

springBoot集成了logBack日志框架,不需要去添加依赖,如果是被排除了,可以添加如下依赖试试。

1.pom.xml

logBack包含三个模块:logback-core,logback-classic和logback-access。logback-core是核心模块,其它两个模块基础

logback-classic是log4j的一个

改良版本,并且完整实现了SLF4J api。logback-access是提供和web容器访问的日志功能。

故我们在springboot中代码中直接使用slf4j的接口来进行日志打印,没有引用任何logback的代码,就完成了logback的调用,

我们只需要使用如下形式即可。

1、用lombok插件,只要在类上用一个@slf4j注解既可使用log变量来打印,如果log变量不能用,idea中去加入插件。导入为

import lombok.extern.slf4j.Slf4j;

2、自己在类中定义:private final Logger logger = LoggerFactory.getLogger(类名.class);

导入为:

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

这样就可以用logger变量来打印。

logback配置简单介绍

i1、配置中重要三要素: Logger、appender、layout

Logger:日志的记录器,通过LogContext进行管理,存放Logger对象。

appender:日志输出目的地,控制台,文件,数据库。

layout:日志输出的格式。

i2、日志级别

经常用的:error>warn>info>debug>trace

2.logback配置需求:

需求:分别在controller包和service包的日志,分别输出到两个日志文件下,其他输出到另一个日志文件(root下)

明白property标签,appender标签,logger标签,root标签和其中一些属性的意思。

3.配置代码:

value="%d{yyyy-MM-dd HH:mm:ss.SSS} %5p ${PID:-} --- [%15.15t] %-40.40logger{39} : %m%n"

/>

value="%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) {faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"

/>

${LOG_PATH:-}/%d{yyyy-MM-dd}/%d{yyyy-MM-dd}.%i.log

100MB

30

2GB

${FILE_LOG_PATTERN}

utf8

${LOG_PATH:-}/%d{yyyy-MM-dd}/controller/%d{yyyy-MM-dd}-controller.%i.log

100MB

30

2GB

${FILE_LOG_PATTERN}

utf8

${LOG_PATH:-}/%d{yyyy-MM-dd}/service/%d{yyyy-MM-dd}-service.%i.log

100MB

30

2GB

${FILE_LOG_PATTERN}

utf8

${CONSOLE_LOG_PATTERN}

结果:

6d7724626f8a040d72d01e5f0b7cbd39.png

以前单个文件的代码:(可以废掉)

b8c36fb099e86faefb00ea5e9da1d004.png

%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n

true//这行后面加的

${LOG_HOME}/TestWeb.log.%d{yyyy-MM-dd}.log

30

%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n

100MB

结果:

9b0793702609eab148973973d544b418.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值