HTMLLayout
如果您希望以 HTML 格式输出日志文件,可使用 org.apache.Log4j.HTMLLayout
格式化日志信息。
HTMLLayout
继承自抽象类 org.apache.Log4j.Layout
,覆盖了其 format()
方法来提供 HTML 格式。
它提供了如下信息以供显示:
- 从应用启动到日志产生之间经过的时间。
- 发起记录日志请求的线程名字。
- 和记录日志请求关联的级别。
- logger 的名字和日志信息。
- 程序文件的位置信息和触发日志的行号,该信息是可选的。
HTMLLayout
是一种非常简单的 Layout
对象,它提供了如下方法:
序号 | 方法 & 描述 |
---|---|
1 |
setContentType(String)
设置 HTML 的内容类型,默认为 text/html。 |
2 |
setLocationInfo(String)
设置日志事件的地域信息。 |
3 |
setTitle(String)
设置 HTML 文件的标题,默认为 Log4j Log Messages。 |
HTMLLayout 示例
下面是为 HTMLLayout
编写的一个简单配置文件:
# Define the root logger with appender file
log = /usr/home/Log4j
Log4j.rootLogger = DEBUG, FILE
# Define the file appender
Log4j.appender.FILE=org.apache.Log4j.FileAppender
Log4j.appender.FILE.File=${log}/htmlLayout.html
# Define the layout for file appender
Log4j.appender.FILE.layout=org.apache.Log4j.HTMLLayout
Log4j.appender.FILE.layout.Title=HTML Layout Example
Log4j.appender.FILE.layout.LocationInfo=true
下面的 Java 程序会生成日志信息:
import org.apache.Log4j.Logger;
import java.io.*;
import java.sql.SQLException;
import java.util.*;
public class Log4jExample{
/* Get actual class name to be printed on */
static Logger log = Logger.getLogger(Log4jExample.class.getName());
public static void main(String[] args)throws IOException,SQLException{
log.debug("Hello this is an debug message");
log.info("Hello this is an info message");
}
}
编译和运行上述程序,在目录 /usr/home/Log4j 下,会生成一个名为 htmlLayout.html 的文件,该文件包含如下日志信息:
Log session start time Mon Mar 22 13:30:24 AST 2010
Time | Thread | Level | Category | File:Line | Message |
---|---|---|---|---|---|
0 | main | DEBUG | Log4jExample | Log4jExample.java:15 | Hello this is an debug message |
6 | main | INFO | Log4jExample | Log4jExample.java:16 | Hello this is an info message |
您可以使用浏览器打开 htmlLayout.html 文件。需要注意的是末尾缺失了 </html>
和 </body>
标签。
将日志格式化为 HTML 的一个优势在于可将其发布成一个 Web 页面,便于远程浏览。
上一篇: 使用数据库记录日...
下一篇: PatternLayout