java log4j 实例_Log4j-使用详解与Java的实例应用

本文介绍了Log4j的基本概念和作用,包括跟踪代码运行轨迹和输出调试信息。通过实例展示了如何使用Logger、Appender和Layout三个核心组件,以及如何配置log4j.properties文件。Log4j提供了不同级别的日志输出,如FATAL、ERROR、WARN、INFO和DEBUG,并演示了如何将日志输出到控制台和文件。文章还提供了一个简单的Java代码示例,展示了如何在代码中使用Log4j。
摘要由CSDN通过智能技术生成

log4j介绍

Log4j,具体的我就不去拷贝官网的介绍了,大家只要知道这是帮助我们记录日志的就可以了。

作用就是这2个:

1、跟踪代码的运行轨迹。

2、输出调试信息

很简单,但是真的很实用的一个工具!不需要很深入的去了解,但是必须知道如何使用,如何通过Log4j去记录日志,这是必须的!

在这里,通过一个实例来演示如何使用log4j,以及如何配置log4j的配置文件。

log4j-jar包:

首先,我们需要准备一个Log4j的jar包,不多说,直接上链接:

版本为:log4j-1.2.17.(2016.8.22下载的最先版本)’

三大组成就是如下三个类:

1、Logger类-生成日志。

2、Appender类-定义日志输出的目的地。

3、Layout类-指定日志输出的格式。

了解一下Logger组件:

日志共分为5种级别(ON开,OFF关这两个不计算在内),从高到底(从严重到轻微)排序为:

FATAL—严重的错误,可能会导致程序不能正常运行. 类似System.exit(),整个项目都不能运行

ERROR – 错误,影响程序的正常运行。 类似当前线程挂了,但其它线程或组件还在跑

WARN – 警告,不会影响程序的运行。最好将此问题修正。

INFO – 一般信息。不影响程序的运行。可能是用户的调试信息。可有可无。等同于system.err.

DEBUG – 一般的信息。等同于system.out

上面五种级别分别对应以下几个方法(Java中调用,等会会演示)

fatal(Object)

error(Object)

warn(Object)

info(Object)

debug(Object)

当信息大于或是等于配置的级别时才会输出日志。

Appender组件

我们只要记住下面这2个就可以了:

Console—控制台–org.apache.log4j.ConsoleAppender

File—文件–org.apache.log4j.FileAppender , org.apache.log4j.RollingFileAppender

Layout组件

功能是定义日志的输出格式

org.apache.log4j.HTMLLayout

org.apache.log4j.PatternLayout (自定义)

org.apache.log4j.SimpleLayout

就是输出到日志的时候,用哪种格式输出,理解成正则表达式就好了。

有一些转义是他规定好的,我这里列出一些,不用全部都记下来,了解就行了,然后记一个常用的匹配格式就OK!

只解释自定义格式PatternLayout:

%d – 具体的时间. %d{yyyy MMM dd HH:mm:ss,SSS}

输出类似:输出类似:2016年8月21日 00:00:00,921

%p – 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL

%c – 输出所属的类目,通常就是所在类的全名 -Logger.getLogger(name) 其实就是输出这个name,所以,我们这里一般用当前类的class。

%L(这是大写的L) — 只输出行号

%l - 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:(Log4jDemo.java:13)

%m – 输出代码中指定的消息-我们指定的

%n —换行符-Windows平台为“\r\n”,Unix平台为“\n”

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

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

配置文件的一个模板:

在src/bin目录下(即WEB-INF/classes)建立一个log4j.properties文件.

在WEB-INF/classes目录下,为log4j的默认目录。Log4j.properties也是log4j的默认文件名。

#####配置根元素

log4j.rootLogger=INFO,console,file

#存储INFO以及以上级别的记录

#file的输入地址为文件

#console表示输出到控制台

log4j.appender.file=org.apache.log4j.RollingFileAppender

#以下是具体的目录

log4j.appender.file.File=d:/a/test.log

#每个文件的最大大小

log4j.appender.file.MaxFileSize=20KB

#最多可以是多少个文件

log4j.appender.file.MaxBackupIndex=3

#信息的布局格式-按指定的格式打出

log4j.appender.file.layout=org.apache.log4j.PatternLayout

#具体的布局格式 - %d为时间

#log4j.appender.file.layout.ConversionPattern=%d %p [%c] %m %l %n

log4j.appender.file.layout.ConversionPattern=%d %p [%l]\:%m -%t%n

#以下配置输出到控制台的配置

log4j.appender.console=org.apache.log4j.ConsoleAppender

log4j.appender.console.layout=org.apache.log4j.PatternLayout

#log4j.appender.console.layout.ConversionPattern=%d %p [%c] %m%n

log4j.appender.console.layout.ConversionPattern=%d %p [%l]\:%m -%t%n

演示实例:

package cn.hncu.lib;

import org.apache.log4j.Logger;

/**

*@author 陈浩翔

*

* 2016-8-23

*/

public class Log4jDemo {

public static void main(String[] args) {

//日志的名字是传入的任何字符串,通常为类名或包名

Logger log = Logger.getLogger(Log4jDemo.class);

for(int i=0;i<10;i++){

log.fatal("严重错误信息:"+i);

log.error("错误信息:"+i);

log.warn("警告信息:"+i);

log.info("一般信息:"+i);

log.debug("调试信息:"+i);

}

}

}

演示结果:

控制台输出:

25c3ca941ff914e60da7fa67f16aa641.png

文件输出:

7d972ba5e9d59a380c673f93b5003cd6.png

是不是很简单,配置好文件之后,我们在Java中用,只需要2步。

1、Logger log = Logger.getLogger(****.class);

2、随意调用下面5个方法:

log.fatal();

log.error();

log.warn();

log.info();

log.debug();

参数是Object类型!在日志中用%m来代表我们这里传的值的toString()。

如果要去更加详细了解的,可以去Log4j官网:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值