Java中日志的处理

日志是程序运行过程的信息,其数据能够帮助开发人员提前发现并避开异常,在错误发生后能够找到事件的起因,并纠正错误,达到预期的运行效果。在java开发中,日志系统是java项目中必不可少的组成部分。日志可以帮助我们快速的定位问题,记录程序运行过程中的情况,以便项目的监控和优化。我们在日常开发中主要使用的java日志框架组件有:log4j、SLF4J、logback、Commons Logging、log4j2等。

slf4j,即简单日志门面(Simple Logging Facade for JAVA),不是具体的日志解决方案,它只服务于各种各样的日志系统。一般来说,slf4j配合log4j、logback进行使用,可以理解为slf4j是标准,log4j和logback是实现。官方推荐使用logback作为日志系统,因为logback有更快执行速度,logback-classic 也实现了slf4j。

日志的管理分为两大部分:

  • 日志记录器

  • 日志处理器

日志记录器负责按设定级别对日志进行记录和向上传递, 日志处理器负责按设定级别对日志进行打印。

日志级别一般分为7个打印级别(不同的日志框架组件可能打印的日志级别区别不大):

OFF-关闭所有日志;

FATAL-记录严重的错误,并且会导致应用程序退出;

ERROR-记录严重的错误,但不会影响程序的运行;

WARN-记录警告;

INFO-记录程序中比较有意义的信息;

DEBUG-记录程序中的细节信息;

ALL-记录所有的日志;

 

以log4j为例,log4j建议使用的日志信息优先级由高至低分别是error、warn、info、debug。日志信息可以输出到控制台、文件或者图形组件。使用FileAppender可以将日志信息输到文件中,文件太大(日志内容过多)时导致读取不方便,可以使用DailyRollingFileAppender,将log信息输到按照日期分区的多个文件中,即每天产生一个log文件,每个log文件只记录当天的信息。

log4j可以同时设置多个日志输出源,在log4j.properties配置文件中可指定同时在控制台和文件中输出日志信息。也可以将日志信息存放到数据库中。

 
  1. log4j.rootLogger=warn,myconsole,errinfo

  2.  
  3. #输出到控制台的日志

  4. log4j.appender.myconsole=org.apache.log4j.ConsoleAppender

  5. log4j.appender.myconsole.layout=org.apache.log4j.PatternLayout

  6. #log4j.appender.myconsole.Threshold=warn

  7. log4j.appender.myconsole.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %5p [%t] (%F:%L) - %m%n

  8.  
  9. #输出到文件的异常日志文件

  10. log4j.appender.errinfo=org.apache.log4j.FileAppender

  11. log4j.appender.errinfo.File=D:/ERROR.LOG

  12. log4j.appender.errinfo.Threshold =ERROR

  13. log4j.appender.errinfo.layout=org.apache.log4j.PatternLayout

  14. log4j.appender.errinfo.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %5p [%t] (%F:%L) - %m%n

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值