首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

jdk log自定义配置文件【来钦波写于20110915】

2012-09-01 
jdk log自定义配置文件【回钦波写于20110915】import java.io.IOExceptionimport java.io.InputStreamimpo

jdk log自定义配置文件【回钦波写于20110915】

    import java.io.IOException;import java.io.InputStream;import java.util.logging.Logger;public class LogManager {// 初始化LogManagerstatic {// 读取配置文件ClassLoader cl = LogManager.class.getClassLoader();InputStream inputStream = null;if (cl != null) {inputStream = cl.getResourceAsStream("log.properties");} else {inputStream = ClassLoader.getSystemResourceAsStream("log.properties");}java.util.logging.LogManager logManager = java.util.logging.LogManager.getLogManager();try {// 重新初始化日志属性并重新读取日志配置。logManager.readConfiguration(inputStream);} catch (SecurityException e) {System.err.println(e);} catch (IOException e) {System.err.println(e);}}/** * 获取日志对象 * @param clazz * @return */public static Logger getLogger(Class clazz) {Logger logger = Logger.getLogger(clazz.getName());return logger;}}

    ?

    ? 2.在需要记录日志的地方,通过LogManager.getLogger()方法得到Logger对象,然后调用其记录日志的方法记录日志。这里,我记录错误堆栈信息是用的 log(Level level, String msg, Throwable thrown) 。


    贴出我的properties配置文件内容,其中handlers属性一定别忘了,我就因为缺少这个属性花费了很多时间找原因。

    ?jdk log自定义配置文件【来钦波写于20110915】jdk log自定义配置文件【来钦波写于20110915】
      #Level的五个等级SEVERE(最高值)?、WARNING?、INFO?、CONFIG?、FINE?、FINER?、FINEST(最低值)??。这个不同于log4j ????#为?Handler?指定默认的级别(默认为?Level.INFO)。? ??java.util.logging.ConsoleHandler.level=INFO ??#?指定要使用的?Formatter?类的名称(默认为?java.util.logging.SimpleFormatter)。? ??java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter ????#?为?Handler?指定默认的级别(默认为?Level.ALL)。? ??java.util.logging.FileHandler.level=INFO ??#?指定要使用的?Formatter?类的名称(默认为?java.util.logging.XMLFormatter)。? ??java.util.logging.FileHandler.formatter=java.util.logging.SimpleFormatter ??#?指定要写入到任意文件的近似最大量(以字节为单位)。如果该数为?0,则没有限制(默认为无限制)。? ?? java.util.logging.FileHandler.limit=1024000?? #?指定有多少输出文件参与循环(默认为?1)。? ?? java.util.logging.FileHandler.count=1?? #?为生成的输出文件名称指定一个模式。有关细节请参见以下内容(默认为?"%h/java%u.log")。? ?? java.util.logging.FileHandler.pattern=C:/SSLog%u.log ??#?指定是否应该将?FileHandler?追加到任何现有文件上(默认为?false)。? ?? java.util.logging.FileHandler.append=true?? ??????handlers=?java.util.logging.ConsoleHandler,java.util.logging.FileHandler??

    ?

    这样配置后还有一个缺陷,日志文件累积到指定的大小时,将会被重新创建,也就是之前的日志信息会丢失,但是不设置大小的话会导致单个文件过大。关于这个问题还没有花时间去细究,以下这篇博文应该能解决这一问题。

热点排行