java.util.logging.Logger_01
1、参考网址
1.1、java.util.logging.Logger使用详解 http://lavasoft.blog.51cto.com/62575/184492
1.2、Java内置Logger详解 http://mouselearnjava.iteye.com/blog/1926353
2、我的测试代码:
package jul; import java.text.SimpleDateFormat; import java.util.Date; import java.util.logging.ConsoleHandler; import java.util.logging.FileHandler; import java.util.logging.Level; import java.util.logging.Logger; import java.util.logging.SimpleFormatter; public class Tjul { public static void main(String[] args) throws Exception { SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");//设置日期格式 String strDate = df.format(new Date());// new Date()为获取当前系统时间 // *** Logger log = Logger.getLogger("log test"); log.setLevel(Level.ALL); // setLevel --[1] ConsoleHandler consoleHandler =new ConsoleHandler(); consoleHandler.setLevel(Level.ALL); // setLevel --[2] log.addHandler(consoleHandler); // 下面的 true指明是追加方式 FileHandler fileHandler = new FileHandler("C:/testlog_"+strDate+"_%g.log", true); fileHandler.setLevel(Level.ALL); // setLevel --[3] // 默认是XML的格式的形式显示日志,下面的设置使用简单的格式显示日志。 // 也可以通过继承Formatter来自定义日志显示格式 fileHandler.setFormatter(new SimpleFormatter()); log.addHandler(fileHandler); log.info("测试日志"); } }
ZC: “java.util.logging.Logger”的配置文件的路径:“C:\Program Files (x86)\Java\jre7\lib\logging.properties”
ZC: 三个setLevel(...)含义不同:Logger.setLevel(...)、ConsoleHandler.setLevel(...)、FileHandler.setLevel(...)
3、相关网页:
3.1、官方文档(FileHandler方面):https://docs.oracle.com/javase/7/docs/api/java/util/logging/FileHandler.html
3.2、java.util.logging (不用log4j配置,自己写log文件) http://terryjs.iteye.com/blog/781218
模式由包括以下特殊组件的字符串组成,则运行时要替换这些组件:
"/" 本地路径名分隔符
"%t" 系统临时目录
"%h" "user.home" 系统属性的值
"%g" 区分循环日志的生成号
"%u" 解决冲突的唯一号码
"%%" 转换为单个百分数符号"%"
4、
4.1、日志组件系列:(2)commons logging和log4j实战 http://lsieun.blog.51cto.com/9210464/1834146
Apache的Common Logging只是一个高层的日志框架,本身并没有实现真正的写日志能力,而是依赖其它的日志系统如Log4j或者java本身的java.util.logging。可以通过配置文件来设定最终使用log4j还是java.util.logging.没有配置log4j的时候,就会调用java.util.logging包。
换句话说,我们上面使用的日志API,其实是由commons logging提供的,而非log4j提供的。在真正写日志的时候,commons logging会调用log4j的日志输出功能。
4.2、commons-logging的使用 http://blog.csdn.net/u011794238/article/details/50747953
总结
严格的说,commons-logging不是一个日志控件,没有日志功能,它只是统一了JDK Logging与Log4j的API,并把日志功能交给JDK Loggings或者是log4j。对于不能确定日志方式的系统,commons-logging是一个不错的选择,Spring,Hibernate,Struts等使用的都是commons-logging。下一篇我们会研究下Commons-logging的源码,来深入的整理下Commons-logging。
5、