教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 互联网资料 >

Log4j日志组件 - 终极资料(4)

来源:网络收集 时间:2026-09-02
导读: 这是格式化日志输出并把它发向目标的消耗。在这儿,大量的努力再次被花费在让布局器(格式化器)执行尽可能地快。这是和输出源相同地。真正地记录日志的典型消耗大约从100到300微秒。参考org.apache.log4.performance

这是格式化日志输出并把它发向目标的消耗。在这儿,大量的努力再次被花费在让布局器(格式化器)执行尽可能地快。这是和输出源相同地。真正地记录日志的典型消耗大约从100到300微秒。参考org.apache.log4.performance.Logging获得准确数字。

尽管log4j有许多特点,但是它的首要目标是速度。为了提高性能,一些log4j组件已经被重写了好多次了。然而,贡献者还在不断地提出新地优化。你应该很高兴,当你知道使用SimpleLayout配置记录日志时,测试显示log4j和System.out.println地速度一样快。 结论

Log4j是一个用java写的优秀日志软件包。它与众不同地特色之一是继承日志记录器概念。用用日志记录器层次,使按任意的粒度控制日志语句输出成为可能。这有助于减少日志输出量,并最小化日志消耗。

Log4j API的特色之一是它的易管理性。一旦日志语句被插入代码,他们可以用配置文件来控制。他们可以有选择的激活或不激活。Log4j包被设计以便于日志语句可以以漂码(in shipped code)的方式保存,而不会致使大量的性能消耗。 感谢

非常感谢N. Asokan审阅了这篇文章。他logger概念的创立者之一。感谢Nelson Minar鼓励我写这片文章。他也对这篇文章提出了许多有用的建议和修正。Log4j是集体努力的结果。谢谢所有对这个项目作出贡献的作者。毫无例外,在包中最好的特色已经在用户社群中广泛创建了。

/************************************************/ 下面中盛友成做的实例

/***********************************************/

一、建Web Project工程,将log4j-1.2.13.jar导入到WEB-INF\\lib下 二、建servlet,名称为:Log4jInit.java 内容如下:

/////////////////////////////////////////////////////////////// package com.sys86.log4j; import java.io.IOException;

import javax.servlet.ServletException; import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse; import org.apache.log4j.PropertyConfigurator; public class Log4jInit extends HttpServlet {

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { }

public void init() throws ServletException {

String prefix = getServletContext().getRealPath(\ String file = getInitParameter(\ if(file != null){

PropertyConfigurator.configure(prefix+file); } } }

//////////////////////////////////////////////////////

三、建TestBean.java类(可以自己随便写一下)

///////////////////////////////////////////////////// package com.sys86.test;

import org.apache.log4j.Logger; import org.apache.log4j.Priority; public class TestBean {

private static Logger logger = Logger.getLogger(TestBean.class); protected String title; public String getTitle() {

logger.debug(\这里是Log4j获得的信息\ return title; }

public void setTitle(String title) {

logger.info(\这里是Log4j获得的信息\ logger.debug(\

logger.info(\ logger.warn(\ logger.error(\ logger.fatal(\ logger.log(Priority.DEBUG, \ logger.debug(\ this.title = title; } }

////////////////////////////////////////////////////////////

四、在src下建log4j.properties文件,内容如下:下面只写了部分参数,全部的见详细说明 //////////////////////////////////////////////////////////// log4j.rootCategory=INFO,stdout,R

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

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

log4j.appender.stdout.layout.ConversionPattern=[QC] %p [%t] %C.%M(%L) | %m%n

log4j.appender.R=org.apache.log4j.DailyRollingFileAppender log4j.appender.R.File=C:\\\\SysTestLog4j.log

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

log4j.appender.R.layout.ConversionPattern=%d-[TS] %p %t %c - %m%n

log4j.logger.com.neusoft=DEBUG

log4j.logger.com.opensymphony.oscache=ERROR log4j.logger.net.sf.navigator=ERROR log4j.logger.org.apache.commons=ERROR log4j.logger.org.apache.struts=WARN log4j.logger.org.displaytag=ERROR

log4j.logger.org.springframework=DEBUG log4j.logger.com.ibatis.db=WARN

log4j.logger.org.apache.velocity=FATAL

log4j.logger.com.canoo.webtest=WARN

log4j.logger.org.logicalcobwebs=WARN

///////////////////////////////////////////////////////////////

五、在web.xml中添加初始化参数,代码如下:

///////////////////////////////////////////////////////////////

xmlns=\

xmlns:xsi=\ xsi:schemaLocation=\ http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd\

Log4jInit

com.sys86.log4j.Log4jInit

log4j-init-file log4j.properties

1

index.jsp

//////////////////////////////////////////////////////////////

六、再加一个index.jsp调用测试吧。

///////////////////////////////////////////////////////////// <%@ page language=\

log4j示例
<%

testBean.setTitle(\我是从index.jsp中设定的值***\%>

///////////////////////////////////////////////////////////////

以前都是把所有日志都输出到一个文件下面,今天有个同事问想把某个包下的日志输出到指定的地方,于是就在网上查了一些资料,总结一下,以免以后用到。

一、log4j是什么?

Log4j是一个开源的日志记录组件,其产品已经相当的成熟,且使用非常的广泛。在工程中以易用,方便等代替了 System.out 等打印语句。

Log4j的目标是:它允许开发人员以任意的精细程度控制哪些日志说明被输出。通过使用外部的配置文件,可以在运行时配置它。

Log4j的具体在 http://logging.apache.org/log4j/找到它(有使用的文档说明)。另外,log4j已经被转换成 C, C++, C#, Perl, Python, Ruby, 和 Eiffel 语言。 二、通常我们建立一个log4j.properties文 …… 此处隐藏:4194字,全部文档内容请下载后查看。喜欢就下载吧 ……

Log4j日志组件 - 终极资料(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/444619.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)