java.util.logging在国内的项目很少使用,但是引用的很多国外开源项目会使用,比如Restlet。
转载:http://blog.csdn.net/dl88250/archive/2007/10/25/1843813.aspx
Java Logging API是sun公司于2002年5月正式发布的。它是自J2SE 1.4版本开始提供的一个新的应用程序接口。它能够很方便地控制和输出日志信息到文件,控制台或其它用户定义的地方,如数据库,电子邮件等。所以它是为最 终用户,系统管理员,软件服务工程师和开发人员提供的一种捕捉安全漏洞,检查配置正确性,跟踪调查系统运行瓶颈和调查系统运行错误的工具。
Java Logging API的设计目标是要:
1. 能够在运行时启动或关闭日志功能;
2. 能够非常精密地控制日志,即能够启动或关闭日志的某个个别功能;
3. 能够在运行时注册日志服务,当然也可以注册新的第三方日志服务;
4. 能够提供连接服务,使Java Logging API能与现存的日志系统(如操作系统的日志功能)连接;
5. 能够支持显示高优先度的信息给最终用户。
输出日志
由于Java Logging API提供了非常方便的接口,你可以在下面的例子里看到它的使用有多方便。
例1:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
package jdk14logger; import java.util.logging.Logger; // <= (1) public class HelloLogWorld { private static String name = HelloLogWorld.class.getName(); private static Logger log = Logger.getLogger(name);// <= (2) public void sub() { log.info("Hello Logging World");// <= (3) } public static void main(String[] args) { HelloLogWorld logWorld = new HelloLogWorld(); logWorld.sub(); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
package jdk14logger; import java.util.logging.Logger; public class LevelTest { private static String name = HelloLogWorld.class.getName(); private static Logger log = Logger.getLogger(name); public void sub() { log.severe("severe level");// <= (1) log.warning("warning level");// <= (2) log.info("info level");// <= (3) log.config("config level");// <= (4) log.fine("fine level");// <= (5) log.finer("finer level");// <= (6) log.finest("finest level");// <= (7) } public static void main(String[] args) { LevelTest test = new LevelTest(); test.sub(); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
package jdk14logger; import java.util.logging.Logger; public class LocalTest { private static String name = HelloLogWorld.class.getName(); private static Logger log = Logger.getLogger (name, "jdk14logger/LocalTest");<= (1) public void sub() { log.severe("level.severe");<= (2) log.warning("level.warning");<= (3) log.info("level.info");<= (4) log.config("level.config");<= (5) log.fine("level.fine");<= (6) log.finer("level.finer");<= (7) log.finest("level.finest");<= (8) } public static void main(String[] args) { LocalTest test = new LocalTest(); test.sub(); } } |