Java logging API之配置方法

       JDK1.4中已经提供java.util.logging包用于记录日志,功能和Log4j差不多,但是由于不需要配置额外的jar包,所以是个不错的选择。Log4j中是通过log4j.properties这个配置文件控制日志的输出,java logging中是通过logging.properties文件完成类似的功能。下面说说这个文件的用法。

       Logging.properties文件位于JDK安装路径的 jre/lib/目录下,缺省内容如下(删除注释):

1.          

2.          

3.          

4.          

5.          

6.          

7.          

8.          

9.          

10.      

11.      

handlers= java.util.logging.ConsoleHandler

 

.level= INFO

 

java.util.logging.FileHandler.pattern = %h/java%u.log

java.util.logging.FileHandler.limit = 50000

java.util.logging.FileHandler.count = 1

java.util.logging.FileHandler.formatter = java.util.logging.XMLFormatter

 

java.util.logging.ConsoleHandler.level = INFO

java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

其中5-8行定义了一个handler11-12行定义了一个handler。等1行,handlers,定义根处理器或者说是缺省的处理器。这里可以定义多个处理,这些处理器是同时起作用的。例如:既想通过控制台(console)输出,又想通过文件,可以按如下方式设置:

1.          

handlers= java.util.logging.FileHandler, java.util.logging.ConsoleHandler

5行指定了文件的输出位置及规则。

5.          

java.util.logging.FileHandler.pattern = %h/java%u.log

缺省的设置实在“user.home”(System.getProperties(“user.home”))属性对应的目录创建java0.log的日志文件。(具体的设置可以参见JDKjava.util.logging.FileHandler类的说明)。

       通过上述设置就可以实现将日志输入到指定文件的要求了。但是有时候只是希望某些类的文件输出到制定,这样调试起来更清晰些,为了实现个要求还要再进行些设置。

5.          

handlers= java.util.logging.ConsoleHandler #改回缺省情况下不从文件输出

 

com.jason.logger.LoggerDemo.level = ALL

com.jason.logger.LoggerDemo.handlers = java.util.logging.FileHandler

com.jason.logger.LoggerDemo”是“Logger”的名字,它要和代码中指定的Logger相匹配。

private static Logger log = Logger.getLogger(LoggerDemo.class.getName());

 

 

 

你可能感兴趣的:(Java logging API之配置方法)