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、

 

posted @ 2016-11-19 16:07  JavaSkill  阅读(216)  评论(0编辑  收藏  举报