slf4j+log4j在Java中实现日志记录

原创 2017年10月13日 16:29:46

小Alan今天来跟大家聊聊开发中既简单又常用但必不可少的一样东西,那是什么呢?那就是日志记录,日志输出,日志保存。

后面就统一用日志记录四个字来形容啦。

日志记录是项目的开发中必不可少的一个环节,特别是对于后台服务节点程序来说,有了日志的输出便可以清晰的看到整个程序的运行过程,那么项目成功运行还好,我们就当是清晰的看看程序的运行过程好了,那万一项目要是出Bug了呢?如果这个时候没有上面所说的日志记录,日志输出,日志保存的话,那后果简直不堪设想,为啥?因为就算你的程序抛出了异常却并不意味着程序就一定要停下来等你去解决这个问题,然后它才会执行,大多数后台节点程序都不会因为一些异常而停止它的执行,而是会继续保持执行以便在出现某些问题的时候,不会因为当前出现的一些问题而影响到其它功能的执行,以便继续为用户提供其它正确的服务。那么这个时候就有一定的问题了,程序继续在执行,而又没有通过一些方式保存日志的话,对于jvm输出的信息来说,它是会不断的往下滚动的,而且长度也不是无限的,那么很有可能你会丢失错误信息导致你很难去解决程序中存在的问题,但是有了日志记录那就好办了,在出现问题的时候你随时可以去查看相关的日志,再把日志分类,error的日志专门存放在某个位置的话,那么我想这个时候你还是相对比较愉快一点的。

那么在Java中如何实现日志记录呢?小Alan个人比较喜欢使用slf4j+log4j,也强烈推荐使用这个组合,而不是单纯的用log4j,为啥嘞?因为日志库可不单单只有log4j,比如还有java.util.logging、logback等。那假如咱的项目中已经使用了java.util.logging,而这时候领导说把它换成log4j呢?如果这时你的项目使用的是log4j的Java代码,而不是slf4j的Java代码,那么恭喜你,有可能这java.util.logging和log4j的编码风格是不一样的,那么怎么办?你一个类一个类的去把日志记录的代码找出来,然后一个一个的去改呗,指不定漏了两个,那说不定很精彩。但是如果是slf4j的Java代码实现的日志记录的话,那结果就完全不一样了,轻轻松松搞定你上级的奇葩要求。slf4j跟其它日志库不一样,来看看百度百科的这段说明:

slf4j并不是一个日志库实现,而只是日志库实现的门面,它通过外观模式允许你在后台使用任意一个日志类库。管你穿的是啥内裤,反正哥的外观不变,毕竟内裤外穿的人还是少嘛,只换条内裤是不会影响你的外观的!接下来我们来看怎么实现slf4j+log4j,后面再稍微聊聊换内裤的话题。

 

友情提示:这里以maven项目为例,不明白maven的同学,可以在小Alan的博客中看看maven的随笔理解理解maven。

 

第一步:在maven的pom结构中引入相关的jar包:这里包含slf4j、log4j、可别漏了slf4j-log4j

slf4j下载地址:http://www.slf4j.org/download.html

 

第二步:在源代码目录下创建log4j.properties文件,maven项目的源代码目录为src/main/java

版权声明:本文为博主原创文章,未经博主允许不得转载。

使用slf4j和log4j记录日志

在项目中,记录日志是非常有必要的,在测试或生产环境,哪个功能点出了问题,往往要通过日志来分析定位,这里总结下在Spring+Spring MVC中记录日志的方法。 1、需要在pom.xml文件中引入...
  • kity9420
  • kity9420
  • 2016年12月09日 22:30
  • 3443

在Java项目中如何使用log4j和slf4j实现日志打印

什么是log4j? Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog...
  • xiao_mengxi
  • xiao_mengxi
  • 2017年02月07日 15:33
  • 5335

log4j MDC用户操作日志追踪配置

一:MDC介绍        MDC(Mapped Diagnostic Context,映射调试上下文)是 log4j 和 logback 提供的一种方便在多线程条件下记录日志的功能。某些应用程...
  • userwyh
  • userwyh
  • 2016年10月19日 19:24
  • 6323

Intellij idea中使用SLF4J+log4j做日志记录

Intellij idea中使用SLF4J+log4j做日志记录 2 应用程序中使用方法及配置 3 spring+mvc web项目使用及配置方法 4 SLF4J对比Log4J,logback和jav...
  • huwei2003
  • huwei2003
  • 2017年07月25日 15:18
  • 1921

log4j,slf4j (日志记录工具)

需要的jar包、log4j.properties文件等项目结构见下图。 log4j.properties文件内容见下: #可以设置级别:debug>info>error #debug:显示deb...
  • chuchus
  • chuchus
  • 2015年01月05日 11:29
  • 983

logback+slf4j实现日志记录

LogBack 官方文档:http://logback.qos.ch/documentation.htmllogback的配置 如果没有配置文件logback-test.xml或logback.x...
  • huangxiaozuo
  • huangxiaozuo
  • 2017年06月18日 15:19
  • 257

在Java项目中如何使用log4j和slf4j实现日志打印

在Java项目中如何使用log4j和slf4j实现日志打印
  • qq_36411874
  • qq_36411874
  • 2018年01月08日 11:12
  • 52

java日志记录组件log4j-1.2.14和commons-logging-1.1.1

  • 2010年03月05日 10:16
  • 377KB
  • 下载

用maven + spring mvc +JDBCTEMPLATE +由Slf4j实现Common-Logging+Log4j的日志控制(数据库用MySQL)

  • 2016年09月11日 10:35
  • 138KB
  • 下载

44. Spring Boot日志记录SLF4J【从零开始学Spring Boot】

在开发中打印内容,使用 System.out.println() 和 Log4j 应当是人人皆知的方法了。 其实在开发中我们不建议使用 System.out 因为大量的使用 System.out 会增...
  • linxingliang
  • linxingliang
  • 2016年08月26日 08:51
  • 3136
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:slf4j+log4j在Java中实现日志记录
举报原因:
原因补充:

(最多只允许输入30个字)