`
chenhao112358
  • 浏览: 2064 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论
阅读更多

        我们知道,从jdk1.4开始,java中引入了自己的日志系统,但是绝大多数人还是继续用log4j,我很想一探究竟,因此,我花了点时间看jdk logger的源码,发现jdk自带的日志系统结构相当的清晰,主要涉及到3个类,一个是LogManager,这个类专门负责管理注册的logger的,和我们的日志配置文件属性。另外一个重要的类就是Logger了,这个类就是我们的日志类,这个类,主要记录了这个日志的处理器信息,也就是与它关联的Handle,最后一个重要的类就是Handle了,这个类是个抽象类,一个它的实现,可以被注册到具体的Logger对象里面,负责处理这个Logger的日志输出。

         当然,jdk Logger中给了我们很多默认的实现,比如StreamHandler,这个处理类就对日志的输出有一定的规定,具体代码在publish方法里面,当然我们可以在它的基础上进行扩展,可以按照我们的自己的格式化输出,实现Formatter,当然,我们也可以不按照StreamHandler中的publish实现走,我们可以写自己的publish方法,直接继承Handle. 我觉得灵活性相当的大。当然,jdk logger已经为我们提供了4个Handle,可供选择,分别是:MemeryHandle,FileHandle,ConsoleHandle,InternalStreamHandle,SocketHandle.

         而log4j,它的优点到底在什么地方,为什么会又这么多的人用它?

3
2
分享到:
评论
1 楼 mercyblitz 2010-07-15  
第一、因为历史原因,可能项目在JDK1.4之间开始了。
第二、如果日志系统出问题的话,log4j的更新比JDK更新要方便。
第三、log4j更多的学习资源。
第四、log4j支持的Appender很多,已经足够大多数需要。

相关推荐

    对JDK log日志的扩展

    首先,我们需要理解JDK日志的基本工作原理。JDK的日志API提供了一个简单的接口来记录日志消息,这些消息会被分等级,如SEVERE、WARNING、INFO、CONFIG、FINE、FINER 和 FINEST。开发者可以根据需要设置日志级别,...

    采用jdk实现的日志框架

    对于希望深入理解并定制JDK日志框架的开发者来说,研究`LogConfig.xml`的配置以及`java.util.logging`的API是非常有必要的。这包括学习如何创建自定义的`Handler`、`Filter`和`Formatter`,以及如何通过代码动态调整...

    JDK自带的日志包简单应用

    JDK(Java Development Kit)自带了一个基础的日志框架,名为`java.util.logging`,它提供了灵活的日志处理机制。本篇将深入探讨如何利用JDK自带的日志包进行简单的日志应用。 首先,`java.util.logging.Logger`是...

    JDK11安装包,JDK11安装包

    JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11安装包,JDK11安装包JDK11...

    jdk8帮助文档 jdk8帮助文档jdk8帮助文档

    jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助文档jdk8帮助...

    mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系

    mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk1.8安装包!mac系统jdk...

    JDK7安装包.zip

    JDK7安装包.zip\JDK7安装包.zip\JDK7安装包.zip\JDK7安装包.zip\JDK7安装包.zip JDK7安装包.zip\JDK7安装包.zip\JDK7安装包.zip\JDK7安装包.zip\JDK7安装包.zip JDK7安装包.zip\JDK7安装包.zip\JDK7安装包.zip\JDK7...

    jdk7 jdk8 jdk9 jdk10 jdk11 jdk12 jdk13 jdk14 (win-64位) 百度网盘下载

    jdk7 jdk8 jdk9 jdk10 jdk11 jdk12 jdk13 jdk14 (win-64位) 资源共享

    jdk7 jdk8 jdk9 jdk10 jdk11 jdk12 jdk13 jdk14 (linux-rpm 64位) 百度网盘下载

    jdk7 jdk8 jdk9 jdk10 jdk11 jdk12 jdk13 jdk14 (linux-rpm 64位) 资源共享

    旧版本JDK JDK1.4

    7. **改进的日志API**:`java.util.logging`包提供了一个新的日志框架,使日志管理更加灵活和高效。 8. **改进的多线程**:添加了`ThreadLocal`类,为每个线程提供独立的变量副本,避免了数据竞争问题。 9. **国际...

    jdk-11.0.4-64bit.zip jdk-11版本

    jdk-11版本安装包、jdk-11版本安装包、jdk-11版本安装包 jdk-11版本安装包、jdk-11版本安装包、jdk-11版本安装包 jdk-11版本安装包、jdk-11版本安装包、jdk-11版本安装包 jdk-11版本安装包、jdk-11版本安装包、jdk-...

    Windows JDK安装,包含 jdk8 jdk11 jdk17 jdk22

    Windows JDK安装 包含 jdk8 jdk11 jdk17 jdk22 x64位安装包

    JDK11安装包文件、附带环境配置教程(全网最详情,值得收藏)

    JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK11、JDK...

    Linux更换JDK+weblogic更换JDK

    ### Linux系统更换JDK与WebLogic服务器更换JDK详解 #### 一、概述 在Linux环境中,更换JDK(Java Development Kit)对于确保应用程序能够稳定运行至关重要。此外,如果使用了Oracle WebLogic Server作为应用服务器...

    Mac 版本 jdk 11 Mac 版本 jdk 11 Mac 版本 jdk 11

    Mac 版本 jdk 11 Mac 版本 jdk 11 Mac 版本 jdk 11Mac 版本 jdk 11 Mac 版本 jdk 11 Mac 版本 jdk 11Mac 版本 jdk 11 Mac 版本 jdk 11 Mac 版本 jdk 11Mac 版本 jdk 11 Mac 版本 jdk 11 Mac 版本 jdk 11Mac 版本 jdk...

    JDK1.8最新

    jdk1.8 jdk1.8 jdk1.8 jdk1.8 jdk1.8 jdk1.8 jdk1.8 jdk1.8

    jdk6,jdk7,jdk8,jdk9,jdk10 windox、linux版本 百度云

    官网 jdk6,jdk7,jdk8,jdk9,jdk10 windox 32位、64位、linux 32位、64位 百度云。

    jdk 内存设置jdk内存设置

    jdk 内存设置 jdk 内存设置是 Java 开发中非常重要的一部分。它直接影响着 Java 应用程序的性能和稳定性。jdk 内存设置主要包括堆大小设置、垃圾收集器的选择和配置等几个方面。 堆大小设置是 jdk 内存设置的核心...

    苹果电脑安装jdk1.6 mac for jdk1.6 jdk6 安装版

    mac for jdk1.6 jdk6 安装版 里面有两个jdk1.6的安装包,都可以用 如果电脑上安装有1.7,1.8等高版本jdk就不要再下安装包了,安装包安装会报错 命令是这个:brew install java6或 brew install homebrew/cask-...

    Tomcat指定jdk路径

    2. **检查日志文件**:查看Tomcat的日志文件(通常位于`logs`目录),查找有关JVM的信息。 3. **使用命令行工具**:可以在命令行输入`java -version`命令来检查当前被调用的JDK版本是否符合预期。 #### 五、总结 ...

Global site tag (gtag.js) - Google Analytics