02 2014 档案
Log4j中的AsyncAppender的实现原理
摘要:log4j里有个Appender:AsyncAppender,这个Appender是用于解决在某一时间里大量的日志信息进入Appender如何去处理的问题。AsyncAppender采用的方案是这样的,以下是AsyncAppender的工作原理图:AsyncAppender采用的是生产者消费者的模型进行异步地将Logging Event送到对应的Appender中。(1)生产者:外部应用了Log4j的系统的实时线程,实时将Logging Event传送进AsyncAppender里(2)中转:Buffer和DiscardSummary(3)消费者:Dispatcher线程和appenders工 阅读全文
posted @ 2014-02-24 21:16 soulspirit 阅读(4185) 评论(1) 推荐(0)
Log4j代码随读(转)
摘要:Log4j代码随读最近需要用到log4j动态定制Logger的场景,然后加上以前对于这个日志工具拿来就用而不知其原理的原因,所以决定花点时间看下它的源码,如果你还对log4j如何使用感到困惑,那么请首先简要浏览下它的官网http://logging.apache.org/log4j/Log4j总体来说是一个可定制,支持同时多种形式输出日志,并且高度结构化的日志库。可定制,也就是既可以通过log4j.properties或者log4j.xml定义日志输出的级别(Level),形式(Appender)以及文本格式(Layout),也可以通过Logger类或者LogManager类取得Logger实 阅读全文
posted @ 2014-02-20 17:28 soulspirit 阅读(335) 评论(0) 推荐(0)
在 Web 应用中增加用户跟踪功能,学习在多线程环境下 Apache Log4j 的 NDC/MDC 开发
摘要:进行用户跟踪的重要性随着 Web 应用的复杂化,用户在网站上的操作过程日益复杂。网站功能的多样化和交互性的提高为用户提供了多种可能的浏览路径。对于一个复杂的站点,用户在网站上操作的行为模式和操作习惯的分析,会给网站的优化提供基础的数据支持。而从技术上要为这种分析提供支持,就需要记录下每个用户在网站上的操作过程。另一方面,这种数据的记录也有助于解决用户在使用中出现的问题。我们只要知道用户遇到问题的时间和一些基本信息,就可以从日志中查出此用户遇到问题时的操作过程,从而有助于再现用户的出错场景,进而帮助用户解决问题。此外,网站用户的安全审计和分析用户特征的数据挖掘等工作也需要提供一个方法能对用户的网 阅读全文
posted @ 2014-02-20 15:39 soulspirit 阅读(447) 评论(0) 推荐(0)
Log4j
摘要:来自:http://www.blogjava.net/zJun/archive/2006/06/28/55511.htmlLog4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。1. 配置文件Log4J配置文件的基本格式如下:#配置根Loggerlog4j.rootLogger=[level],appenderName1,appenderName2,…#配置日志信息输出目的地Appenderlog4j.appender.appenderName=fu 阅读全文
posted @ 2014-02-18 12:58 soulspirit 阅读(258) 评论(0) 推荐(0)