在应用程序中添加日志记录除了可以监视系统的运行情况,周期性的记录到文件供以后进行统计分析工作外,还可以在开发过程中担当调试器的作用,向控制台或文件输出调试信息。
在Java中使用日志记录首先要获取一个具体的Logger。这个Logger可以是jdk自带的java.util.logging包下面的Logger。也可以是第三方jar包提供的Logger,例如log4j。
获取的方式有两种,分别是传统方式和注入的方式。
传统方式下获得日志记录器的方式是使用getLogger 工厂方法来获得 Logger 对象。
如果使用的Logger是log4j提供的,则需要在工程中导入log4j的相关jar包后才可以使用:
static Logger log = Logger.getLogger(YourClass.class.getSimpleName());
接着就可以用这个记录器进行日志记录,例如:
log.info("INFO TEST!");需要注意的是不同的Logger会有不同的记录方法,具体可参见jdk的api文档和log4j的api文档。
在log4j的支持下使用配置文件非常方便。我们可以在配置文件里设置记录器的级别、日志信息输送的目的地以及日志的输出格式。下面列出一个简单的配置文件:
# 定义两个Logger分别为stdout和file
log4j.rootLogger=debug, stdout, file
# 设置stdout Logger的日志输出目的地为控制台
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
# 设置stdout Logger的日志输出格式
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
# 设置file Logger的日志输出目的地为回滚文件
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=D://example.log
log4j.appender.file.MaxFileSize=100KB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%p %t %c - %m%n