在java中,怎么每次运行Logger日志,就生成新文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在java中,怎么每次运行Logger日志,就生成新文件相关的知识,希望对你有一定的参考价值。
要的效果是:
每次运行java应用程序,就会自己生成新的日志文件
日志文件按‘年月日时分秒’命名
关于这个功能好像自己覆盖Apperder的一些方法
可是关于原理不是很清楚
希望各位大侠指教下
如果有源代码更好(悬赏)
我知道是log4j来处理
听网上说要重写Appender方法,去去修改文件名,然后文件名以‘年月日时分秒’命名
下面有详细的配置方法:
http://hi.baidu.com/wonderthing/blog/item/fac6eba4e9421fff9052ee93.html 参考技术A 这是用的 log4j
把log4j.jar包放在你的lab目录下就可以了.
Java日志介绍-java.util.logging.Logger
java.util.logging.Logger是JDK自带的日志工具,其简单实现了日志的功能,不是很完善,所以在实际应用中使用的比较少。本文直接用代码演示其使用方法,文中所使用到的软件版本:Java 1.8.0_191。
package com.inspur.demo.log; import java.util.logging.FileHandler; import java.util.logging.Formatter; import java.util.logging.Level; import java.util.logging.LogRecord; import java.util.logging.Logger; public class JULCase { public static void main(String[] args) { try { Logger logger = Logger.getLogger(JULCase.class.getName()); //日志保存到文件 FileHandler fileHandler = new FileHandler("d:/temp/a.log", true); fileHandler.setLevel(Level.INFO); //设置日志格式 fileHandler.setFormatter(new Formatter() { @Override public String format(LogRecord record) { return record.getLevel() + ":" + record.getMessage() + " "; } }); logger.addHandler(fileHandler); logger.info("aaaa"); logger.warning("bbbb"); } catch (Exception e) { e.printStackTrace(); } } }
默认的父Logger设置了ConsoleHandler,所以不需要再添加ConsoleHandler了。
以上是关于在java中,怎么每次运行Logger日志,就生成新文件的主要内容,如果未能解决你的问题,请参考以下文章