Log4J入门,讲解Log4J的安装、基本概念、简单用法、外部配置文件方式。
jakarta-log4j-1.2.8.zip
1. 解开压缩文档,并且将distliblog4j-1.2.8.jar的路径设置到CLASSPATH。
2. 测试是否安装正确。使用下面的java应用程序代码:
import org.apache.log4j.Logger;
import org.apache.log4j.BasicConfigurator;
public class Hello {
static Logger logger = Logger.getLogger(Hello.class);
public
static
void main(String argv[]) {
BasicConfigurator.configure();
logger.debug("Hello world.");
logger.info("What a beatiful day.");
}
}
进行测试。如果在操作台输出类似:
0 [main] DEBUG simple.Hello - Hello world.
20 [main] INFO simple.Hello - What a beatiful day.
的内容,那么正确。
1. Log4j包含3个主要概念:
公共类 Logger 负责处理日志记录的大部分操作。 公共接口 Appender 负责控制日志记录操作的输出。 公共抽象类Layout 负责格式化Appender的输出。
2. 公共类 Logger提供两个主要方法:创建一个日志记录器(Logger),定义日志级别。
3. 常用的用法,就是根据类名实例化一个静态的全局日志记录器:
static Logger logger = Logger.getLogger(test.class);
4. 日志记录器都可以用下面方法设置级别:
logger.setLevel((Level)Level.WARN);
5. 公共类 Logger 中定义了日志的7个级别, Level.DEBUG、Level.INFO、 Level.WARN、 Level.ERROR、Level.FATAL、 Level.ALL 、 Level.OFF。
6. 公共接口 Appender提供设置日志记录的输出方式的方法。比较常用的有:ConsoleAppender:使用用户指定的布局(layout) 输出日志事件到System.out或者 System.err。默认的目标是System.out。 FileAppender 把日志事件写入一个文件。SMTPAppender 当特定的日志事件发生时,一般是指发生错误或者重大错误时,发送一封邮件。
7. ConsoleAppender可以用这种方式创建:
ConsoleAppender appender = new ConsoleAppender(new PatternLayout());
8. FileAppender可以用这种方式创建:使用构造函数:
FileAppender(Layout layout, String filename)
实例化一个FileAppender并且打开变量"filename"指定的文件。
另一个构造函数是:
FileAppender(Layout layout, String filename, boolean append)
这个构造函数可以选择是否对指定的文件进行追加的方式输出。如果没有指定值,那么默认的方式就是追加。
9. Appender必须使用一个与之相关联的 Layout,这样它才能知道怎样格式化它的输出。当前,log4j具有三种类型的Layout:
HTMLLayout 格式化日志输出为HTML表格。
PatternLayout 根据指定的 转换模式格式化日志输出,或者如果没有指定任何转换模式,就使用默认的转换模式。
SimpleLayout 以一种非常简单的方式格式化日志输出,它打印级别 Level,然后跟着一个破折号“-“ ,最后才是日志消息。
1. 在Java application 中使用Log4J
程序实现了SimpleLayout和FileAppender:
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.SimpleLayout;
import org.apache.log4j.FileAppender;
public class simpandfile {
static Logger logger = Logger.getLogger(simpandfile.class);
public static void main(String args[]) {
SimpleLayout layout = new SimpleLayout();
FileAppender appender = null;
try {
appender = new FileAppender(layout,"output1.txt",false);
} catch(Exception e) {}
logger.addAppender(appender);
logger.setLevel((Level) Level.DEBUG);
logger.debug("Here is some DEBUG");
logger.info("Here is some INFO");
logger.warn("Here is some WARN");
logger.error("Here is some ERROR");
logger.fatal("Here is some FATAL");
}
}
2. 单独在JSP中使用Log4J(暂无)
1. 使用外部配置文件的优缺点:Log4j经常与外部日志文件联合使用,这样很多可选项不必硬编码在软件中。使用外部配置文件的优点就是修改可选项不需要重新编译程序。唯一的缺点就是,由于用到io 指令,速度稍微有些减慢。
2. 有两个方法可以用来指定外部配置文件:文本文件或者XML文件。下面重点讲解XML文件方法。
3. 看看下面的XML配置文件示例:
4. 配置xml文件的位置:和java程序放到一个目录下。
另外,log4j.dtd也要放到同一目录下,log4j.dtd文件在srcjavaorgapachelog4jxml。
5. 执行该配置文件的程序:
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
public class externalplaintest {
static Logger logger = Logger.getLogger(externalplaintest.class);
public static void main(String args[]) {
PropertyConfigurator.configure("plainlog4jconfig.xml");
logger.debug("Here is some DEBUG");
logger.info("Here is some INFO");
logger.warn("Here is some WARN");
logger.error("Here is some ERROR");
logger.fatal("Here is some FATAL");
}
}
无
英文Log4J的简单手册:
http://supportweb.cs.bham.ac.uk/documentation/tutorials/docsystem/build/tutorials/log4j/log4j.html
中文Log4J的简单手册:CSDN文档中心
英文Log4J的详细手册的草稿:《log4j The Complete Manual.pdf》[@more@]来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/106943/viewspace-926813/ ,如需转载,请注明出处,否则将追究法律责任。