我想要使用自己的配置文件,而不是使用lib包下面的默认文件。
我知道配置文件中的内容应该是下面的意思
于是,我在相同的目录下新建了一个logging.properties属性文件。
内容如下:
handlers = java.util.logging.FileHandler,
java.util.logging.ConsoleHandler.Level = INFO
java.util.logging.ConsoleHandler.pattern = runtime.log
java.util.logging.ConsoleHandler.limit = 50000
java.util.logging.ConsoleHandler.count = 2
java.util.logging.ConsoleHandler.formatter = java.util.logging.XMLFormatter
我在java代码是下面这么写的
LogManager lm = LogManager.getLogManager();
try {
String fname = "logging.properties ";
InputStream in = new FileInputStream(new File(fname));
BufferedInputStream bin = new BufferedInputStream(in);
lm.readConfiguration(bin);
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
FileHandler myFileHandler = null;
try {
boolean append = true;
myFileHandler = new FileHandler( "asdf.log ", append);
logger.addHandler(myFileHandler);
logger.log(Level.SEVERE, "do it ");
logger.log(Level.SEVERE, "do it ");
//myFileHandler.publish(lr);
} catch (IOException e) {
System.out.println( "This is a IOException ");
} finally
{
myFileHandler.close();
}
但是输出的结果却不是我在配置文件里面的要求
大家 那里有高手帮帮忙了.
------解决方案--------------------
那就是没找到你定义的配置文件咯。logging的使用没那么麻烦啊。在你的工程文件的跟目录。或者是lib目录。总之就是classpath之类的地方。让系统能找到就行了。或者你也可以直接用System.getProperties( "user.dir ")+ "logging.properties "获得.使用的时候
在程序里面private final static Log log = LogFactory.getLog(你的类.class);
log.info( "log ");
就可以了
------解决方案--------------------
对,把log4j.properties文件多放几个地方试试