一、log4j中log.isDebugEnabled(), log.isInfoEnabled()和log.isTraceEnabled()作用
1.
项目在应用log4j打印Debug,Info和Trace级别的log时需要加上对应的三个方法进行过滤,代码如下:
if (log.isDebugEnabled()) {
log.debug(" From: " + req.getFrom().toString() + " To: " + req.getTo().toString() + " CallId: " + req.getCallId() + " msg:" + msg);
}
作用:因为Debug,Info和Trace一般会打印比较详细的信息,而且打印的次数较多,如果我们不加log.isDebugEnabled()等进行预先判断,当系统loglevel设置高于Debug或Info或Trace时,虽然系统不会答应出这些级别的日志,但是每次还是会拼接参数字符串,影响系统的性能。
2.错误的优化方法
部分编码人员因为不了解机制,从代码复用性和简洁性而言定义如下函数来封装
private void debug(String msg) {
if (log.isDebugEnabled()) {
log.debug(msg);
}
}
其实这种封装方式是错误的,因为当系统中调用debug(msg)函数还是出现字符串的拼接。
3.正确的优化方法
建议采用AOP来封装
二、日志级别
1.debug:程序内部的信息,对于外部使用的人是没有意义。
2.info:informational messages that highlight the progress of the application at coarse-grained level.(强调应用的执行的进度,关键分支的记录)。比如:关键分支记录(输入参数等),对运维工程师来说这些信息也是有价值的,info指明程序的运行是否符合正确的业务逻辑。
3.warn:potentially harmful situations.(潜在的有害状态)。比如:广告投放,淘宝搜索右侧p4p广告会根据地域展现,但某次用户搜素,ip地址获取失败,可能会用默认值替代或者为空,但是并不影响右侧广告的展现。所以展现广告的任务是完成的,对于业务来说是执行成功的,尽管过程中出现问题。
4.error:error events that might still allow the application to continue running.(错误事件发生,程序或许依然能够运行)。比如:广告前段展现,通过http从引擎获取数据时,因为引擎的机器连接数达到上限或者临时网络原因,timeout,但程序能正常运行,next请求引擎则成功。从函数角度看,此函数任务没有完成,记error。
5.fatal:very severe error events that will presumably lead the application to abort.(错误可能会导致应用崩溃)。
参考文献:
http://blog.csdn.net/greencacti/article/details/5134921
http://www.blogjava.net/shijian/archive/2010/10/09/334142.html
分享到:
相关推荐
这段代码会列出"Application"日志中所有条目的时间、级别和消息。`EventLogEntry`类的`TimeGenerated`属性表示日志条目的生成时间,`EntryType`属性表示事件的严重性(如信息、警告或错误),而`Message`属性则包含...
本主题聚焦于使用Delphi编程语言将应用程序日志写入系统日志,这对于系统管理和故障排查尤其重要。下面我们将深入探讨这个话题。 首先,Delphi是一种基于Object Pascal的集成开发环境(IDE),广泛用于创建Windows...
在IT行业中,日志处理是系统监控和故障排查的关键环节。程序运行日志处理解决方案旨在提供有效管理和分析日志的方法,以确保系统的稳定性和优化问题诊断。以下将详细阐述使用Enterprise Library 2.0进行日志处理的...
在IT行业中,日志记录是软件开发和维护过程中的重要环节。它可以帮助开发者跟踪应用程序的行为,定位并解决问题。本文将详细讲解如何通过调试运行日志程序来输出调试信息,以及如何利用类CLog实现这一功能。 首先,...
在IT行业中,日志程序是系统开发不可或缺的一部分,它用于记录应用程序运行时的详细信息,如错误、警告、调试信息等。这些记录有助于开发者在出现问题时进行排查和故障诊断,从而提升软件的稳定性和可靠性。下面我们...
evtsys_exe.zip 一个把系统日志发送到log服务器的程序 comlog101.zip 一个用perl写的偷偷记录cmd.exe的程序,不会在进程列表中显示,因为入侵者运行的的确是cmd.exe :) Kiwi_Syslog_Daemon_7 一个很专业的日志...
- 日志:记录程序运行过程中的事件、错误、警告和其他相关信息的文本文件,用于后续分析和问题定位。 - 日志级别:通常包括DEBUG、INFO、WARNING、ERROR和FATAL,不同级别对应不同的严重程度。 2. **C++日志库**...
在Android软件开发中,日志系统是调试和分析应用程序行为的关键工具。Logcat是Android提供的一种内置的日志系统,它能够记录应用程序以及其他系统组件产生的各种日志信息。开发者可以通过查看logcat日志来追踪错误、...
总之,将异常写入事件日志是ASP.NET应用程序中常见的错误处理方式,它提供了对程序运行状况的监控和故障排查的手段。通过合理地利用`System.Diagnostics.EventLog`类,开发者可以构建出更加健壮、易于维护的系统。在...
在给定的"Java程序日志类jar包"中,我们可以推测其中可能包含了诸如Log4j、SLF4J、Logback等主流的日志处理框架的库文件,这些框架在Java生态系统中广泛被使用。 1. **Log4j**: 是Apache的一个开源项目,它为应用...
ASP搜索引擎蜘蛛爬行日志生成程序是一个用于监测和记录搜索引擎机器人(也称为“蜘蛛”或“爬虫”)访问网站活动的工具。该程序通过分析HTTP请求,收集关于搜索引擎如何索引和抓取网站信息的数据,这对于SEO(搜索...
**Log4cpp 程序日志生成指南** 在软件开发过程中,日志记录是一项至关重要的任务,它有助于调试、追踪错误以及优化程序性能。Log4cpp 是一个流行的开源日志库,尤其适用于 C++ 开发者,它提供了丰富的功能,使...
首先,"C语言程序日志打印"是指在C程序中实现记录和显示运行信息的功能。这通常涉及到以下几个关键部分: 1. **日志级别**:为了方便管理和筛选,日志通常被分为多个级别,如DEBUG、INFO、WARNING、ERROR和FATAL。...
基于微信小程序的日志系统的设计与应用.pdf
在Linux程序开发中,日志记录是至关重要的一个环节,它可以帮助开发者跟踪程序运行状态,尤其是在发生错误时,提供定位问题的关键信息。本篇将详细探讨如何实现一个简单的日志类,以满足上述需求。 首先,我们需要...
在Android开发中,获取应用程序的日志信息是一项非常重要的任务,无论是调试阶段还是发布后的问题排查,日志都扮演着至关重要的角色。这个名为"实现获取应用程序中的日志信息.zip"的压缩包,很可能是提供了一个示例...
标题中的“一个C 日志调试程序.rar”指出这是一个关于C语言的日志调试工具,而“C 与VB结合”的描述表明该程序集成了C语言和Visual Basic(VB)的编程元素,可能是为了在不同的开发环境中提供日志记录功能。日志调试...
- **安全与隐私**:确保日志中的敏感信息得到适当保护,遵循数据隐私法规。 5. **标签"tag"的关联** - 在这里,"tag"可能指的是日志程序的特定功能或应用场景,比如Web服务器日志、数据库日志、安全日志等。具体...