在开发过程中,日志信息是必不可少的,一般我们会选择在控制台查看程序输出的日志信息,而常用到的日志工具是Log4j,下面就其在开发中的配置来了解下。
一、了解日志输出工具Log4j
Log4j是帮助开发人员进行日志输出管理的API类库,它最重要的特点就可以配置文件灵活的设置日志信息的优先级、日志信息的输出目的地以及日志信息的输出格式。Log4j除了可以记录程序运行日志信息外还有一重要的功能就是用来显示调试信息,如System.out.println语句输出调试信息。
二、Log4j开发准备
在开发使用Log4j前,需要准备一些必须的东西,如jar包和配置文件。Log4j的jar包可从官网上下载,通过添加外部jar包的形式导入程序。
配置文件一般命名为log4j.properties,简洁明了。
三、配置文件log4j.properties
下面通过一个简单的配置实例来讲解下:
log4j.rootLogger=INFO,CONSOLE
#log4j.addivity.org.apache=false
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=INFO
log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss} -%-4r [%t] %-5p %x - %m%n
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.Encoding=gbk
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
第一行配置根Logger,其语法为:
log4j.rootLogger = [ level ] , appenderName, appenderName, …
其中,level 是日志记录的优先级,定义某个级别则低于该级别的日志信息将不予显示,一般常用到的优先级从高到低分别为ERROR、WARN、INFO、DEBUG;appenderName 指日志信息输出目的地,可以指定多个。
第二行是否使用 rootLogger的配置,其格式为:
log4j.addivity.org.apache=true/false
其中,true/false 是子Logger是否继承父Logger的输出源(appender)的标志位,可自行选择是否启用。
后面的配置都是基于第一行中输出位置来确定的,如输出位置为Console,则其相关配置的格式均为:
log4j.appender.CONSOLE=
log4j.appender.CONSOLE.xx=
如上面的实例所示,后面的就是CONSOLE相关的配置,分别表示:
·CONSOLE的类
·Threshold=INFO,指定日志消息的输出最低层次
·输出内容格式
·Target=System.out,指定输出控制台
·Encoding=gbk,指定输出字符格式
·layout=,指定布局
这是针对输出位置为控制台CONSOLE的一些配置,若含多个输出位置,则后面分别列出相应的配置信息,其格式基本一致,也可以自定义输出位置,如A,B,C,D等,后面再对该输出位置进行相关配置即可。
当然,日志输出主要还是为了方便开发,这里不做深究了,有兴趣的可以自行查看。
四、代码中的使用
一般在类中定义其对象,语法格式为:
private static Logger logger = Logger.getLogger(XX.class);
其中,XX表示该类名。
接着就可以在代码中使用该对象,其语法为:
logger.debug(Object message)
logger.info(Object message)
logger.warn(Object message)
logger.error(Object message)
根据优先级使用不同的输出。
以上只是对日志输出Log4j的一些基本配置和使用,作为开发人员,这些基本的东西还是需要了解一下的。虽然要掌握的知识点很多,但不是每个都需要深入学习的,毕竟精力有限。