Eclipse 中使用log4j

mac2022-06-30  63

在eclipse中使用log4j 标签: eclipselog4jimportclasssystem文档 2010-06-11 19:57 10688人阅读 评论(1) 收藏 举报 分类: Java(28) 版权声明:本文为博主原创文章,未经博主允许不得转载。

在Java平台上写程序也有点时日,从以前的j2ee到现在的后台程序,多多少少都用到了log4j来输出日志,不过每次用的时候都是别人配好了,然后告诉我说怎么用,然后直接调用就好,一直对log4j处于一直半解的状态。今天,凭着要知其然,知其所以然的态度,细细的研究了下log4j。

1、在eclipse的使用log4j

对于程序员来讲,最快的方法就是先上手,看到直观效果在说,所以第一步就是怎么让自己的程序能够在eclipse里面使用起来。

第一步:首先,新建一个工程MinaTest,然后添加package,叫testLog4j,然后加入如下代码:

package testLog4j;

import org.apache.log4j.Logger; import org.apache.log4j.BasicConfigurator; import org.apache.log4j.Level;

public class testLog4j { public static void main(String argv[]) {

// Create a logger by the name of class Log4jTest. Logger logger = Logger.getLogger(testLog4j .class); // Use the default configuration. //BasicConfigurator.configure(); // Set the logger level to Level.INFO logger.setLevel(Level.INFO); // This request will be disabled since Level.DEBUG < Level.INFO. logger.debug("This is debug."); // These requests will be enabled. logger.info("This is an info."); logger.warn("This is a warning."); logger.error("This is an error."); logger.fatal("This is a fatal error."); return; }

}

第二步:将log4j.jar包加入工程中

上面代码写好以后,在eclipse下是会提示里有语法错误的,因为eclipse不知道到什么地方import对应的class。在package explorer中当前工程点右键->property->Java build path,在tab页上选择libraries->ADD JARS,将下载的log4j的jar包添加进来。"ok"之后,你会发现package explorer中当前工程中,除了先前的JRE System Library,还多出来一个Referenced Libraries,里面就是添加的jar包。clean以后,语法错误就没有了。

这个时候,如果我们之间run as application,会得到如下提示:

log4j:WARN No appenders could be found for logger (com.foo). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

因为程序找不到log4j.properties这一配置文件。所以,下面就是把这个配置文件添加到当前的工程中了。

第三步:将log4j.properties添加到当前工程中

1) 在当前工程上右键。new->folder,在弹出的对话框中的"folder name"输入一个文件夹的名字,这里用log4j。然后点击"advanced",选中"link to folder in the file system",“browse”一个目录,一般选当前工程的目录,然后在输入关联的文件夹名,如D:/workspace/MinaTest/log4j。这样才建立的一个关联的目录。接着在package explorer中找到刚刚建立的文件log4j文件夹,import你定义好的log4j.properties(import的过程省了),如果没有现成的,下面这个可做参考:

log4j.rootLogger=DEBUG, R, O

Stdout

log4j.appender.O=org.apache.log4j.ConsoleAppender

File

log4j.appender.R=org.apache.log4j.RollingFileAppender log4j.appender.R.File=log4j.log

Control the maximum log file size

log4j.appender.R.MaxFileSize=100KB

Archive log files (one backup file here)

log4j.appender.R.MaxBackupIndex=1

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

log4j.appender.R.layout.ConversionPattern=[%d{ISO8601}]%5p%6.6r[%t]%x - %C.%M(%F:%L) - %m%n log4j.appender.O.layout.ConversionPattern=[%d{ISO8601}]%5p%6.6r[%t]%x - %C.%M(%F:%L) - %m%n

先用着,意思等会在说

第四步 编译

在但前package(testLog4j)单击右键,run as->run configuration,然后在弹出的页面的tab页中选择Classpath,选中当前的工程"MinaTest",然后发现右侧的"Advanced"进入可选状态,点击以后,会接着弹出一个对话框,选择"Add folders",找到当前的工程,选择log4j文件夹,然后确定。这样,我们就把log4j.properties添加到当前工程的class path中了。选择run。查看eclipse的console

[2010-06-11 19:44:42,523] INFO 0[main] - testLog4j.testLog4j.main(testLog4j.java:24) - This is an info. [2010-06-11 19:44:42,533] WARN 10[main] - testLog4j.testLog4j.main(testLog4j.java:25) - This is a warning. [2010-06-11 19:44:42,533]ERROR 10[main] - testLog4j.testLog4j.main(testLog4j.java:26) - This is an error. [2010-06-11 19:44:42,533]FATAL 10[main] - testLog4j.testLog4j.main(testLog4j.java:27) - This is a fatal error.

到此,就可以在eclipse里面边写代码边调试了。

2 log4j.properties各项释义

详细的释义可以去看相关的文档,这里只说格式,帮着入门

Log4J配置文件的基本格式如下:

#配置根Logger log4j.rootLogger = [ level ] , appenderName1 , appenderName2 , …

回过头来看上面

log4j.rootLogger=DEBUG, R, O

这里R,O是表示两个appderName,当然,也可以是别的名字

在往下,就是对这两个appender定义不同的属性

先看 appender O

log4j.appender.O=org.apache.log4j.ConsoleAppender 定义输出到控制台

log4j.appender.O.layout=org.apache.log4j.PatternLayout 定义输出的布局

log4j.appender.O.layout.ConversionPattern=[%d{ISO8601}]%5p%6.6r[%t]%x - %C.%M(%F:%L) - %m%n 输出的格式

在看 appender R,区别是输出的地方不一样

log4j.appender.R=org.apache.log4j.RollingFileAppender log4j.appender.R.File=log4j.log

这的意思是输出到文件中

因此,这个程序在当前工程下还存在一个 log4j.log的文件。

简要介绍,详细的文档google或者直接看官方文档吧!

转载于:https://www.cnblogs.com/Dennis-mi/articles/6726899.html

相关资源:JAVA上百实例源码以及开源项目
最新回复(0)