资讯专栏INFORMATION COLUMN

LOG4J和SLF4J的使用和原理

1treeS / 1765人阅读

摘要:和在通常系统中,日志功能使用了,对于这两者的区别不甚了解,通过实践,并深入源代码层次的分析,希望能够讲的清晰一些。基本原理在项目中使用到的包主要有和三个。

LOG4J和SLF4J

在通常系统中,日志功能使用了log4j+slf4j,对于这两者的区别不甚了解,通过实践,并深入源代码层次的分析,希望能够讲的清晰一些。

基本原理

在项目中使用到的jar包主要有log4j.jar , slf4j-api.jar,和slf4j-log4j.jar三个。简单来说,slf4j.jar主要是作为一个门面,简化记录日志的操作,log4j.jar是记录日志的具体实现,而slf4j-log4j.jar,是作为一个工厂,slf4j使用工厂来生产log4j的日志记录器。

项目配置

在实际使用中,只需要配置好log4j.properties,就可以使用SLF4J来使用日志功能。
相关配置如下:

1.7.2
1.2.17

    org.slf4j
    slf4j-api
    ${slf4j.version}


    org.slf4j
    slf4j-log4j12
    ${slf4j.version}
    runtime


    log4j
    log4j
    ${log4j.version}
log4j.rootLogger = DEBUG,stdout,D,E
### 输出到控制台 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern =  %d{ABSOLUTE} %5p %c{1}:%L - %m%n
### 输出到日志文件 ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = c:/logs/log.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = INFO
log4j.appender.D.layout=org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
### 保存异常信息到多带带文件 ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File = c:/logs/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final Logger logger = LoggerFactory.getLogger(HelloController.class);
logger.info("info-{}-{}","shen","ziping");
源码解析

logger初始化

写日志调用过程

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/67767.html

相关文章

  • 【Java深入学习系列】之那些年我们用过日志框架

    摘要:深入学习系列三那些年我们用过的日志框架目前常见的日志框架和中文似乎不太好翻译有一下几种即其中,为同一个作者所写。如前面所述,在才被引入,在这之前,并没有官方的日志库供开发者使用。 title: 【Java深入学习系列】三. 那些年我们用过的日志框架date: 2016-10-16 15:32:50 category: java 目前常见的Java日志框架和facades(中文似乎不太好...

    233jl 评论0 收藏0
  • LogBack入门实践

    摘要:日志名的从开始,自动递增就是指抛出的异常,是显示全部,如果在中写入数字,则表示展示多少行重点来了,上边都是输出源。 一、简介 LogBack是一个日志框架,它是Log4j作者Ceki的又一个日志组件。 LogBack,Slf4j,Log4j之间的关系 slf4j是The Simple Logging Facade for Java的简称,是一个简单日志门面抽象框架,它本身只提供了日志F...

    马永翠 评论0 收藏0
  • 强推!大牛程序员必备Java日志框架,性能无敌

    摘要:本文要来分享给大家程序员最常用的日志框架组件。没有基础的同学也不要着急,这套教程覆盖了目前所有的日志框架,只要你学,就一定用得到,先收藏,以备不时之需。 作为一名Java程序员,我们开发了很多Java应用程序,包括桌面应用、WEB应用以及移动应用。然而日志系统是一个成熟Java应用所必不可少的。在开发和调试阶段,日志可以帮...

    zebrayoung 评论0 收藏0
  • Java日志那些事

    摘要:但是考虑到各不相同,所以出现了等日志框架。日志框架只是统一的,其底层的具体的日志记录工作还是由等承担。如何选择和搭配日志系统目前来说,新应用使用是首选,一些老系统中很可能使用的是等。所以若日志冲突时,使用的三方库只需要相应的实现库即可。 日志系统的发展 我们日常接触到的日志系统有很多种,log4j,JUL(jdk自带),logback等,我们可以直接根据对象的日志API进行使用。但是考...

    GeekQiaQia 评论0 收藏0
  • 聊一聊Java日志之一:slf4j

    摘要:一引言程序员都知道,日志对于一个应用系统来说至关重要,现在应该也没有无日志的系统了吧。具体的日志实现还是需要使用不同的日志框架来完成。然后如下使用测试测试测试测试运行结果发现并没有打印出日志,这是因为缺少了配置文件。 一、引言   程序员都知道,日志对于一个应用系统来说至关重要,现在应该也没有无日志的系统了吧。很多程序员都知道 Log4j,Logback,java.util.loggi...

    church 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<