`
jubincn
  • 浏览: 242600 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
文章分类
社区版块
存档分类
最新评论

Java Logging API - Tutorial

 
阅读更多

本文将介绍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

1.1. Java中的Logging

JDK中有Java Logging API。通过logger您不仅可以将日志信息集中到一个文件中来报告错误,而且可以在日志中添加辅助信息。这个Logging API允许您充分定制,十分灵活。

1.2. 创建一个logger

包 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,例如:

  • ConsoleHandler: 将log信息写到Console

  • FileHandler: 将log信息写到文件中

超过INFO(包含INFO)的信息将自动被写入到Console中。

1.5.Formatter

每个Handler的输出都可以使用一个formatter来配置

已有的formatter:

  • SimpleFormatter 将所有的log信息以文本格式编排

  • XMLFormatter 生成XML格式的log信息

您还可以自定义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



分享到:
评论

相关推荐

    java 常用api大全

    首先,JDBC(Java Database Connectivity)是Java访问数据库的标准接口,由Java API文档中的"Addison Wesley - JDBC API Tutorial and Reference 3rd Edition (2003).chm"提供。JDBC允许程序员使用Java语言编写...

    log4j 介绍(6)-- tutorial 参考

    Log4j是Java生态系统中的经典选择,但也有其他替代品,如Logback(由log4j的作者设计,性能更优)和Java Util Logging(JUL)(Java内置的日志API)。 9. **安全性** 2019年,log4j 1.x版本被发现存在重大安全...

    java.核心技术.第八版 卷1

    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 ...

    JavaSE-6.0-英文手册(2008/11/30_FullUpdate)

    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 ...

    Spring Key tutorial PDF

    2. **安装 Apache Commons Logging API**:Spring 使用此 API 来处理日志记录。 3. **设置 Eclipse IDE**:下载并安装 Eclipse,然后配置 Spring 插件。 4. **配置 Spring Framework 库**:下载 Spring 的 JAR 文件...

    httpcomponents-client-4.3.2

    这些依赖可能包括Apache Commons Codec、Apache Commons Logging等,它们提供了编码解码、日志记录等功能,是HttpClient正常工作的基础。 总结起来,Apache HttpClient 4.3.2是一个强大的工具,为Java开发者提供了...

    python3.6.5参考手册 chm

    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 ...

    apache-solr-ref-guide-7.1.pdf

    在“Java Properties”和“Thread Dump”部分,提供了关于Solr运行时Java属性的详细信息和线程转储的操作方法,这对于性能调优和问题排查非常有用。 “Collection-Specific Tools”和“Core-Specific Tools”部分...

    Akka Concurrency Framework

    Java版本的Actor API同样强大,提供了类似Scala版本的功能,但采用了Java语言的语法和习惯用法。 ##### 5.2 Typed Actors (Java) Java版本的**Typed Actors** 同样支持类型安全的消息处理,使得代码更加健壮。 ##...

    Visual C++ 编程资源大全(英文源码 ATL)

    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)...

    Visual C++ 编程资源大全(英文源码 其它)

    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 ...

    Google C++ Style Guide(Google C++编程规范)高清PDF

    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 ...

Global site tag (gtag.js) - Google Analytics