本文将介绍JDK中的Logging API在Java程序中的使用,并在后面附带了一个创建HTML logger的例子
目录
1.概述
1.1.Java中的Logging
1.2. 创建一个logger
1.3. Log等级
1.4. Handler
1.5. Formatter
1.6. Log Manager
1.7.最佳实践
2.样例
3. 致谢
4. 问题与讨论
5. 相关文章
1.Overview
JDK中有Java Logging API。通过logger您不仅可以将日志信息集中到一个文件中来报告错误,而且可以在日志中添加辅助信息。这个Logging API允许您充分定制,十分灵活。
包 java.util.logging提供了日志的功能,可以使用类似于下面的代码来创建一个logger:
1.3.Level
Log的等级反映了问题的严重程度。Level类用于决定哪些信息被写入到log中。下面是一个按严重程度的降序排列的Log Level:
-
SEVERE (highest)
-
WARNING
-
INFO
-
CONFIG
-
FINE
-
FINER
-
FINEST
除此之外,您还可以使用OFF或ALL这两个level来关闭log或打开所有log。
下面这行代码是将logger设置为记录INFO级别:
1.4.Handler
每个logger可以设置多个Handler。
Handler的作用是接收logger的信息,并将其以合适的格式发送到合适的地方。
一个Handler可以用setLevel(Level.OFF)来关闭,用setLevel(...)开启。
JDK提供了几个标准的handler,例如:
超过INFO(包含INFO)的信息将自动被写入到Console中。
1.5.Formatter
每个Handler的输出都可以使用一个formatter来配置
已有的formatter:
您还可以自定义Formatter,下面的这个示例Formatter可以将log信息用html的格式包装:
1.6.Log Manager
log manager的职责是创建和管理logger,并负责维护log配置。
使用LogManager.setLevel(String name, Level level)方法,我们可以为一个包或一组包设置logging level。例如,我们可以将所有logger的logging
level设为Level.FINE:
1.7.Best Practices
使用被logged的那个类的名称为logger命名是一种很好的方法,这种方法可以使程序员更好地查看日志和管理logger,同时,这也是Logging API推荐的一种方式。
2. 示例
您可以在项目“de.vogella.logger”中找到这个例子:
创建你自己的formatter:
初始化logger
使用logger
分享到:
相关推荐
首先,JDBC(Java Database Connectivity)是Java访问数据库的标准接口,由Java API文档中的"Addison Wesley - JDBC API Tutorial and Reference 3rd Edition (2003).chm"提供。JDBC允许程序员使用Java语言编写...
Log4j是Java生态系统中的经典选择,但也有其他替代品,如Logback(由log4j的作者设计,性能更优)和Java Util Logging(JUL)(Java内置的日志API)。 9. **安全性** 2019年,log4j 1.x版本被发现存在重大安全...
Volume II includes new sections on the StAX API, JDBC 4, compiler API, scripting framework, splash screen and tray APIs, and many other Java SE 6 enhancements. In this book, the authors focus on the ...
The Java Tutorial An example-filled guide to the Java programming language and core APIs. Java Technology Home Page Training for the Java programming language Directory of various training ...
2. **安装 Apache Commons Logging API**:Spring 使用此 API 来处理日志记录。 3. **设置 Eclipse IDE**:下载并安装 Eclipse,然后配置 Spring 插件。 4. **配置 Spring Framework 库**:下载 Spring 的 JAR 文件...
这些依赖可能包括Apache Commons Codec、Apache Commons Logging等,它们提供了编码解码、日志记录等功能,是HttpClient正常工作的基础。 总结起来,Apache HttpClient 4.3.2是一个强大的工具,为Java开发者提供了...
PEP 523: Adding a frame evaluation API to CPython PYTHONMALLOC environment variable DTrace and SystemTap probing support Other Language Changes New Modules secrets Improved Modules array ast ...
在“Java Properties”和“Thread Dump”部分,提供了关于Solr运行时Java属性的详细信息和线程转储的操作方法,这对于性能调优和问题排查非常有用。 “Collection-Specific Tools”和“Core-Specific Tools”部分...
Java版本的Actor API同样强大,提供了类似Scala版本的功能,但采用了Java语言的语法和习惯用法。 ##### 5.2 Typed Actors (Java) Java版本的**Typed Actors** 同样支持类型安全的消息处理,使得代码更加健壮。 ##...
AlxGrd.zip Describes an ActiveX Control to use OLE Automation to set an object's properties.(215KB)<END><br>8,ATLLog_demo.zip A simple logging utility to help debug your ATL applications(48KB)...
ShellExtGuide1_demo.zip A step-by-step tutorial on writing shell extensions(12KB)<END><br>90,ShellExtGuide2_demo.zip A tutorial on writing a shell extension that operates on multiple files at ...
Note that this guide is not a C++ tutorial: we assume that the reader is familiar with the language. Header Files In general, every .cc file should have an associated .h file. There are some common ...