1、将log4j的2个jar包拷贝进eclipse的项目中,将添加进build path中。
jar包分别如下:commons-logging、log4j-1.2.8.jar。
2、将log4j.xml文件或者log4j.properties文件添加进项目中,一般是新建一个文件夹conf,然后将log4j.xml文件添加进来。我用eclipse swing做时并未导入log4j.dtd文件。并未出现不正常的情况。
3、下面要对引进的Log4j.xml进行配置。具体参见:
http://wandejun1012.iteye.com/admin/blogs/1402259
4、特别注意的是,要在程序中对xml文件的引入,否则会出现如下错误:
log4j:WARN Please initialize the log4j system properly.
解决办法是:1)、对于log4j.properties文件,用PropertyConfigurator.configure("E:/study/log4j/log4j.properties");//加载.properties文件
2)、对于log4j.xml文件:
DOMConfigurator.configure("E:/study/log4j/log4j.xml");//加载.xml文件
具体参见如下例子:
package test; import org.apache.log4j.Logger; import org.apache.log4j.xml.DOMConfigurator; public class TestLog4j { private Logger logger; public TestLog4j(){ DOMConfigurator.configure("conf/log4j.xml");//加载.xml文件 logger=Logger.getLogger(TestLog4j.class.getName()); logger.info("gogogo"); logger.debug("hi"); System.out.println("I just print"); } public static void main(String[] args) { new TestLog4j(); } }
ps:如果是放在src的根目录下,则不需要此初始化log4j的过程。
5、级别分为ALL < DEBUG < INFO < WARN <error,如果设置级别为INFO,则优先级大于等于INFO级别(如:INFO、WARN、ERROR)的日志信息将可以被输出,小于该级别的如:DEBUG将不会被输出。
level : 是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定 义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来。
6、在程序里面调用Logger类即可。详情见如下:
private Logger logger=Logger.getLogger(TestLog4j.class.getName());
TestLog4j.class.getName()这个即是“类名”,可以用任何一个动态的类名,或者用Log4j.xml里面设置的类名,如下面所示的result :
<logger name="result" additivity="false"> <level value ="info"/> <appender-ref ref="InfoAppender"/> </logger>
7、log4j官方文档:http://logging.apache.org/log4j/1.2/manual.html
----------------------------------------------------------------------------------------------
注意到:在web工程中,只需要引入log4j1.x.jar, 以及common-logging.jar就可以了,另外log4j.properties放在src里面就行了,不需要在web.xml中引入log4j的位置。
相关推荐
在JavaMail应用中,合理的日志配置可以帮助我们跟踪邮件发送的全过程,包括成功发送的邮件、失败的原因以及可能的错误堆栈信息。 在使用JavaMail API时,开发者需要注意以下几个关键知识点: 1. **Session对象**:...
此外,Lombok还提供了其他高级功能,如`@NonNull`用于标记非空字段,`@Builder`用于构建复杂的对象,以及`@Synchronized`和`@Log`家族注解(如`@Log4j`、`@Slf4j`等)为类提供日志记录支持。 总的来说,Lombok插件...
汉字从输入到打印全过程中涉及的编码包括输入码、机内码、字形码等。处理过程主要包括: 1. 用户通过键盘输入汉字拼音或其他编码,转化为输入码; 2. 输入码转换为机内码,即计算机内部存储和处理汉字的编码,一般为...
Hibernate 使用日志框架(如 Log4j、SLF4J 等)来记录运行时信息。 - **3.6 实现 NamingStrategy** 说明如何定制 Hibernate 的命名策略,以控制生成的 SQL 语句中的表名和列名。 - **3.7 XML 配置文件** 介绍...
slf4j-log4j12-1.x.y.jar ... ``` 这里我们仅展示了部分库文件,完整的列表可以参考 Hibernate 发布版本中的 `README.md` 文件。 ##### 2.2 实体类定义 接下来,我们定义一个实体类,用于表示我们想要存储的...
TypeScript 已经被广泛应用于各种规模的项目中,从小型个人项目到大型企业级应用。许多知名公司,包括 Google、Microsoft、Angular 团队等,都在使用 TypeScript 进行开发。随着 TypeScript 社区的不断壮大和技术的...
#### 四、(15分)循环链表a和b的结点值为字母,其中a表非递减有序,下面的程序欲构造一个递增有序的循环连表c,其中结点的值为同时在a,b两链表中出现的字母,且c中字母不重复,请补上程序中空缺的部分,并估计算法...
几何体的描述需要根据三视图来判断,这里涉及到几何体的构造和性质。 17-22题属于解答题,需要进行完整的解题步骤,包括逻辑推理、公式应用、几何作图和计算等,这些题目涵盖了集合论、函数性质、空间几何、立体...
- **ChangeLog**:记录了jpcap的历史版本变更和更新内容,有助于理解库的演化历程和修复的bug。 - **COPYING**:通常包含开源许可信息,规定了使用jpcap的法律条款。 - **README**:通常包含项目的简介、安装指南和...
模型的目标是从这些数据中学习到一种映射关系,以便能够预测未知数据的输出。常见的监督学习任务包括回归和分类: - **回归**:预测连续值的输出,例如房价预测。 - **分类**:预测离散类别的输出,例如垃圾邮件...
- DAG(有向无环图)是一种重要的图模型,在实际应用中有广泛的用途。本部分介绍了如何在DAG上进行深度优先搜索(DFS)并标记访问过的节点。这种标记可以帮助我们识别图中的各种属性,如是否存在环等。 - **无向图...
### Java私塾学习笔记整理 #### 第一章:Java入门 ...以上内容涵盖了Java基础知识的重要方面,从语言基础到高级特性,以及常见的开发技术和工具,帮助读者全面了解Java编程的基础知识和技术要点。
可能你已经注意到,变量都有一个美元符号($)的前缀。所有变量都是局部变量,为了使得定义的函数中可以使用外部变量,使用global语句。而你要将该变量的作用范围限制在该函数之内,使用static语句。 $g_var = 1 ; /...
� A ndroid 在设计初期就考虑了与现其有业务的融合,改变以往从计算机为主改成从手机使用为导向。新 生应用如:G oogle 地图及其衍生应用、 GMail 、 GTalk 等。 � GPS 卫星导航功能,手机照相, MP3 ,蓝芽等均...