java logging--java记录日志
来源:互联网 发布:电脑程序员工资多少 编辑:程序博客网 时间:2024/06/09 23:38
这是在CSDN第一篇博客,菜鸟一枚,高手勿喷。只是将自己的学习经历,一点点记录下来,正如下面将要讲的记录日志(logger.info("codeboy, everyday learning....."))。
以前编写小程序,不在乎记录日志,很多时候只是使用简单的系统记录日志功能,即PrintStream(System.out.println("some info here"))。
前几天,突然想看看java logging。Google搜索了一番,看了看wikipedia的介绍,有了一定的了解。
Logging(记录日志)分为三个部分:Logger,Fomatter,Handler(Appender)。Logger用来捕获记录信息,将其传递给Logging Framework;Formatrer添加格式,以待输出,Appender用来指定输出的目的地(控制台,文件等)。日志信息有6个级别:FATAL,ERROR,WARNNING,INFO,DEBUG,TRACE(很少使用)。
现在主要使用的日志框架有:Log4J,Java Logging API(JUL),Apache Commons Logging(JCL),SLF4J。其中Log4J是具体的实现框架,JVM中含有JUL的默认实现,JCL只是一个包装(一个Wrapper,依赖于底层实现),SLF4J则只是一个Facade(使用了Facade模式,依赖于底层实现)。了解了这样一个结构层次,以后使用起来会方便很多。
很多时候编写项目会离不开日志记录,很多必须要导入的.jar文件内部也使用了某个日志框架,这样某些日志记录框架的依赖文件就得包含到classpath中。以前是只管导入.jar文件,而不用理会它的作用到底是什么。但不能总是这样,理解工作机制,总会对自己有所助益。
在使用SLF4J时,会使用它的桥接,因为它只是一个facade(外表)。常用的桥接有下面几种:
I.JCL-OVER-SLF4J.JAR(是JCL 1.1版本的替代品,从JCL转向SLF4J时使用,即使用SLF4J的接口,而具体实现使用JUL);
II.SLF4J-JCL.JAR(由SLF4J迁移到JCL时需要);
III.LOG4J-OVER-SLF4J.JAR(从LOG4J迁移到SLF4J时使用,同JCL-OVER-SLF4J;当从LOG4J迁移到SLF4J时,将LOG4J.JAR替换为LOG4J-OVER-SLF4J.JAR,而不需要修改一行代码);
IV.SLF4J-JDK14.JAR(将SLF4J的调用委托给JUL,较少使用);
V.JUL-TO-SLF4J.JAR(将JUL的记录传递给SLF4J,较少使用)。
以上是自己总结的java 日志记录的相关知识,现在使用相关框架会轻松许多。其实最简单的日志记录是PrintStream,它可以将信息打印到控制台,也可以将信息输出到文件中,当我们需求比较简单时,使用PrintStream会是不错的选择。
www.dzone.com有大量的讲解资料,学习文档等,有时间大家可以多逛逛.....
晚安,Coder At Sleep Right Now.....
- java logging--java记录日志
- java.util.logging 记录日志
- 日志记录—Java中的日志——Java.util.logging、log4j、commons-logging
- java logging 日志打印
- 如何使用java.util.logging中的Logger来记录日志
- java 使用commons-logging和log4j记录日志
- Java日志(Java logging)
- java 日志接口 commons-logging
- Java 日志 commons-logging | slf4j
- java日志 java.util.logging.Logger用法
- python logging 日志记录
- MDC 日志记录-Effective Logging in Java/JEE – Mapped Diagnostic Context
- java.util.logging日志功能介绍
- Java 日志管理, Apache Commons Logging
- java 日志技术汇总(log4j , Commons-logging,.....)
- 利用java.util.logging.Logger输出日志
- java.util.logging自定义打印日志
- Java 日志(Logging)与协同调试
- NYOJ - 传纸条(一)(DP)
- java项目部署在tomcat 表单提交乱码问题
- 将Vim改造为强大的IDE—Vim集成Ctags/Taglist/Cscope/Winmanager/NERDTree/OmniCppComplete
- 由JTA分布式事务Timeout值引发的锁定及解决
- 反射
- java logging--java记录日志
- JavaScript事件冒泡简介及应用
- experiment : 字符串分解 on drv
- struct类型的赋值
- Hadooop sites
- Wax框架简明教程(1) 简介
- 设计模式之迭代器模式java实现代码
- Windows 下安装并配置 SVN 服务器全过程
- java基本概念(二)