Java Web log4j (日志)

本文详细介绍了日志的重要性和使用日志管理工具Log4j的方法,包括其在开发和产品阶段的应用,以及如何配置日志输出级别、目的地和样式。通过配置log4.properties文件,可以灵活地调整日志输出的外观和位置,实现终端输出、文件保存等多种形式,同时支持HTML格式和不同输出方式的选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为什么要使用日志?

开发阶段:

发现程序的问题,排错

产品阶段:

记录程序运行状态

system.out.println()的局限性

不能在运行时打开或者关闭

不能选择包或者类,在运行的的时候打开或者关闭

输出的信息没有分级

只能输出文本信息

不能改变输出的位置

log4j可以解决以上的问题!

hibernate内置log4j,记录日志信息

log4j官方网址:

http://lgging.apache.org/log4j

下载得到:

log4j-1.2.15.jar

log4j.properties

把下载得到来的文件路径添加到当前项目的build path下

log4j的基本用法:

新建java project项目:

build path: log4j-1.2.15.jar

example.java

import org.apache.log4j.logger;

public class examlpe{

private static logger logger=logger.getlogger(example.class);

public static voie main(string[] args){

logger.debug("in the main method ");

logger.ingo("welcome come to http://www.cnblogs.com/hongten ");

logger.error("this is an error message");

}

}

运行这个例子的时候需要log4.properties配置文件

通过这个配置文件,我们就可以设置日志输出的格式,也就是外观

还可以设置这个日志信息输出到那里去,是到终端,还是到物理文件。

还可以记录日志的详细的样式

在src目录下:

log4j.propreties

代码:

设置终端输出日志信息:

--------------log4j的输出级别为debug:debug,appender1,当然还可以是info,error,他们的级别是debug

--------------如:现在是debug:debug.appender1,则debug,info,error都会输出-----------------

--------------如:现在是info:into.appender1,则info,error会输出-----------------

--------------如:现在是error:error.appender1,则error会输出-----------------

log4j.rootlogger=debug,appender1

--------------日志信息到终端输出-----------------

log4j.appender.appender1=org.apache.log4j.consoleappender

--------------终端输出的样式-----------------

log4j.appender.appender1.layout=org.apache.log4j.ttcclayout

设置保存日志信息的路径:

log4j.rootlogger=debug,appender1

--------------日志信息到终端输出-----------------

log4j.appender.appender1=org.apache.log4j.fileappender

--------------日志信息保存在c:/demolog4j.log中-----------------

log4j.appender.appender1.file=c:/demolog4j.log

--------------终端输出的样式-----------------

log4j.appender.appender1.layout=org.apache.log4j.ttcclayout

设置保存日志信息的路径和保存的格式为html格式:

log4j.rootlogger=debug,appender1

--------------日志信息到终端输出-----------------

log4j.appender.appender1=org.apache.log4j.fileappender

--------------日志信息保存在c:/demolog4j.log中-----------------

log4j.appender.appender1.file=c:/demolog4j.htm

--------------终端输出的样式-----------------

log4j.appender.appender1.layout=org.apache.log4j.htmllayout

log4j核心

logger

logger完成日志信息的处理,可以分成不同的级别记录日志信息,如:debug,info,error

logger可以定义输出的层次和决定信息是否输出

logger输出的信息是有优先级别的: all,trace,debug,info,warn,error,fatal,off------级别由小到大

常用的有:debug,info,warn,error

appender

appender设置日志信息的去向如:一个文件中,*.log,*.htm等。或者说是数据库中

appender就是设置日志讯息输出到那个地方,可以同时指定多个输出目的地:

log4j.rootlogger=debug,appender1,appender2

log4j.appender.appender1=org.apache.log4j.consoleappender

log4j.appender.appender2=org.apache.log4j.consoleappender

---------------------------------------------------------------------------------

常用的appender:

org.apache.log4j.consoleappender(控制台)

ogr.apache.log4j.fileappender(文件)

org.apache.log4j.dailyrollingfileappender(每天产生一个日志文件)

org.apache.log4j.rollingfileappender(文件大小达到指定尺寸的时候产生一个新的文件)

org.apache.log4j.witerappender(将日志讯息一串流格式发送到任意指定的地方)

org.apache.log4j.jdbcappender(将日志讯息保存到数据库中)

org.apache.log4j.smtpappender(将日志信息以邮件的方式发送到指定的地方)

---------------------------------------------------------------------------------

layout

layout设置日志信息的输出样式

---------------------------------------------------------------------------------

layout提供的layout的方式:

org.apache.log4j.htmllayout(一html表格形式布局)

org.apache.log4j.simplelayout(包含日志讯息的级别和讯息字符串)

org.apache.log4j.ttcclayout(包含日志产生时间,执行者,类别等讯息)

org.apache.log4j.patternlayout(可以灵活的指定布局模式)

---------------------------------------------------------------------------------

org.apache.log4j.patternlayout(可以灵活的指定布局模式)

定制所输出的日志信息的样式:

%p输出优先级别:debug,info,warn,error,fatal

%r输出字应用启动到输出该日志讯息所耗时秒数

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

%f 输出日志讯息所属的类别的类别名

%c 输出日志讯息所属的类的全名

%d输出日志时间点的日期或时间

%d{yyyy-mm-dd hh:mm:ss} 指定日期或时间格式

%l 输出日志时间发生的位置,即输出日志讯息的语句处于他所在的类别的第几行

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

%n输出一个换行符号

例子:

log4j.properties

log4j.rootlogger=debug,appender1

log4j.appender.appender1=org.apache.log4j.consoleappender

log4j.appender.appender1.layout=org.apache.log4j.patternlayout

log4j.appender.appender1.layout.conversionpattern=%r[%t]%p - %c - %l - %m%n

例子二:

log4j.rootlogger=debug,appender1,appender2

log4j.appender.appender1=org.apache.log4j.consoleappender

log4j.appender.appender1.layout=org.apache.log4j.patternlayout

log4j.appender.appender1.layout.conversionpattern=[%d{yy/mm/dd hh:mm:ss:sss}][%c] %m%n

log4j.appender.appender2=org.apache.log4j.fileappender

log4j.appender.appender2.layout=org.apache.log4j.patternlayout

log4j.appender.appender2.layout.conversionpattern=[%d{hh:mm:ss}][%c] %m%n

log4j.appender.appender2.file=c:/hongtenlog4j.log

---------------------------------------------------------------------------------

配置文件

log4j.properties

log4j.xml

---------------------------------------------------------------------------------

log4j.xml

代码:

好文要顶关注我收藏该文与我联系


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值