如果您希望以 HTML 格式輸出日志文件,可使用 org.apache.Log4j.HTMLLayout
格式化日志信息。
HTMLLayout
繼承自抽象類 org.apache.Log4j.Layout
,覆蓋了其 format()
方法來提供 HTML 格式。
它提供了如下信息以供顯示:
HTMLLayout
是一種非常簡單的 Layout
對象,它提供了如下方法:
序號 | 方法 & 描述 |
---|---|
1 |
setContentType(String)
設(shè)置 HTML 的內(nèi)容類型,默認(rèn)為 text/html。 |
2 |
setLocationInfo(String)
設(shè)置日志事件的地域信息。 |
3 |
setTitle(String)
設(shè)置 HTML 文件的標(biāo)題,默認(rèn)為 Log4j Log Messages。 |
下面是為 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");
}
}
編譯和運(yùn)行上述程序,在目錄 /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>
標(biāo)簽。
將日志格式化為 HTML 的一個優(yōu)勢在于可將其發(fā)布成一個 Web 頁面,便于遠(yuǎn)程瀏覽。