工作小记——使用日志框架logback踩坑指南

本文详细介绍了日志框架的作用以及如何在Java项目中使用logback,包括log4j、jcl、log4j2和jul的桥接。重点讨论了slf4j接口框架的实现和配置,强调了通过桥接实现不同日志系统的兼容性。
摘要由CSDN通过智能技术生成

前言

最近遇到日志打印异常的问题,设置好的日志输出级别不生效,在本地直接在代码里写个Main函数测试没问题,上Linux出现日志输出等级不生效,我设置的error等级,却把info日志给输出了。项目使用logback日志输出框架,最后发现原来是日志冲突,项目包含log4j+slf4j的日志框架,故需要将相关jar包排除即可。 提示:以下是本篇文章正文内容

引用

https://www.cnblogs.com/FlyAway2013/p/10691936.html
https://zhuanlan.zhihu.com/p/101104008
https://www.jianshu.com/u/52c6d746bd8e
http://www.slf4j.org/manual.html (slf4j官网)

一、日志的作用

日志文件用来记录系统操作事件,主要用来快速定位问题的根源、追踪程序执行的过程、追踪数据的变化、采集运行环境数据。日志主要分为事件日志和消息日志。
程序上线后,一旦发生异常,首先要弄清楚当时发生了什么错误。进行了什么操作,环境是否受影响,数据产生生命变化,是不是可重复发生等,然后再进一步的确定大致是哪个方面的问题。确定是程序的问题后再去重现、研究、提出解决方案。这时,日志就给我们提供了第一手的资料。
日志内容需包含哪些:打印日志的时间戳、日志是哪个类记录的、日志事件的简要说明、事件生产者唯一标识、日志输出级别。

二、日志框架

为了兼容系统中或者依赖的jar包中其他日志框架,最好的方法是使用桥接将其他日志框架桥接到slf4j上,然后使用具体的日志输出框架。如:log4j桥接到slf4j,然后使用logback日志框架输出日志。
在这里插入图片描述

1. 直接使用各日志系统

1.1 log4j

maven依赖:

<dependency>
   <groupId>log4j</groupId>
   <artifactId>log4j</artifactId>
   <version>1.2.17</version>
</dependency>

配置文件:log4j.properties
代码中使用:

private static final org.apache.log4j.Logger logger = org.apache.log4j.LogManager.getLogger(loggerName.class);

1.2 commons-logging ,jcl

maven依赖:

<dependency>
   <groupId>commons-logging</groupId>
   <artifactId>commons-logging</artifactId>
   <version>1.2</version>
</dependency>

配置文件:commons-logging.properties
代码中使用:

private static final  org.apache.commons.logging.Log LOG = org.apache.commons.logging.LogFactory.getLog(loggerName.class);

1.3 log4j2

maven依赖:

<dependency>
   <groupId>org.apache.logging.log4j</groupId>
   <artifactId>log4j-core</artifactId>
   <version>2.11.2</version>
</dependency>

配置文件: log4j2.xml 或 log4j.xml
代码中使用:

private static final org.apache.logging.log4j.Log
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值