java日志详解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

浅谈JAVA中的日志文件

log4的使用方法:log4是具有日志记录功能,主要通过一个配置文件来对程序进行监测

有两种配置方式:一种程序配置,一种文件配置

有三个主要单元要了解,Logger,appender,layout.

logger是进行记录的主要类,appender是记录的方式,layout是记录的格式

logger七种日志级别:debug,info,warn,error,fatal,all,off

最常用的应该是debug()和info();而warn()、error()、fatal()仅在相应事件发生后才使用

appender主要分三类,终端输出,文件输出,流输出

ConsoleAppender

FileAppender

WriterAppender

layout也分三类:简单格式,html格式,匹配格式

SimpleLayout

HTMLLayout

PatternLayout

输出简写:(用在PatternLayout)

%m 输出代码中指定的消息

%p 输出优先级

%r 输出自应用启动到输出该log信息耗费的毫秒数

%c 输出所属的类目,通常就是所在类的全名

%t 输出产生该日志事件的线程名

%n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”

%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921

%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。一般使用了它就不需使用%c了

[按照下面步骤来写吧!就可以得到我们所想要的日志文件哦!]

[按照顺序就可以将日志文件读出来了!]作用实例:

程序配置一般过程:

1.得到特定名称的logger

2.得到其中一个layout

3.根据layout得到appender

4.logger添加appender

5.logger设置级别

6.logger输出有级别的日志信息

程序:

Logger logger = Logger.getLogger(Test.class.getName()) //取得logger

SimpleLayout simpleLayut = new SimpleLayout() //取得layout FileAppender fa = new FileAppender(simpleLayout,"test.log") //取得ppender

logger.addAppender(fa)

//添加appender

logger.set((Level)Level.DEBUG) //设

置级别

logger.debug("hihihihih")

//记录信息

文件配置过程:

1.得到特定名称的logger

2.加载配置文件 (配置文件做了2-5的工作)

3.logger输出有级别的日志信息

文件配置程序:

1.Logger logger = Logger.getLogger(Test.class.getName()) //取得logger

2.使用下面的配置加载

3.输出信息

文件配置分properties,xml

读取properties:PropertyConfigurator.configure("logTest.properties");

读取xml:DOMConfigurator.configure("src/logTest.xml");

告别System.out.print()—J2SDK1.4新增Java日志框架 (一)

作为一名Java 程序员,最熟悉的、使用最多的调用恐怕莫过于System.out.print(“…”)。当你没有调试工具而要跟踪一个变量的值得时候;当你需要显示捕 获的Exception、Error的时候;当你想知道程序在运行的时候究竟发生了什么的时候,通常的做法就是调用System.out.print把他 们在终端、控制台上打印出来。这种方式对于输出信息的分类、格式化及永久保存带来诸多不便。虽然我们可以把它写入一个文件然后进行分析,但是这要需要编写 额

外的程序代码,其成本不可忽视!而由此给目标系统本身增加的复杂程度不可避免的使开发、调试陷入一个深深的迷潭。

[要知道一点:如果说能不写的代码最好不要写!]

JDK1.4的推出,使得这一切即将成为历史。让我们向System.out.print ()告别吧,使用Java Logging API为自己的程序构建一个完整的日志记录系统!

一、第一个实例先看一个简单的实例:

1 import java.util.logging.*;

2 public class SimpleLoggingTest {

3 public static void main(String args[]) {

4 //程序的其它处理

5 //使用Logger的静态方法获得一个匿

名 //Logger

6 Logger logger1 = Logger.getAnonymousLogger();

7 //记录消息

8 logger1.log(,"第一条日志记录");

9 //程序的其它处理

10 }

11 }

实例1

注意:编译、执行该程序需要JDK1.4及以上版本的支持。

运行该程序,可以在控制台看到程序运行结果:

2003-1-14 15:09:40 SimpleLoggingTest main信息: 第一条日志记录首先,程序引用java.util.Logging包(第1行)。接着,在适当的时候获得一个Logger(记录器)类的实例(第6行,获 取一个匿名的Logger)。最后,在程序需要记录信息的地方调用Logger类的log方法进行记录(第8行,记录一个INFO级别的消息)。

二、Java Logging API

Java Logging API封装在JDK1.4.0的java.util.Logging 包中。它通过产生便于最终用户、系统管理员、故障维护工程师以及软件开发团队(工程师)进行分析的日志记录为软件的开发调试和维护提供便利的手段。它捕获 操作系统平台和执行程序的安全故障、配置错误、执行瓶颈和(或)Bug等数据信息,以纯文本、XML或程序员自定的某种方式将其格式化成日志记录,然后传递给内存、系统输出流、控制台、文件、Sockets等多种系统资源进行缓存和输出。

相关文档
最新文档