如果想生成一个HTML格式的文件,日志信息,那么可以使用 org.apache.log4j.HTMLLayout 格式化日志信息。

HTMLLayout类扩展抽象org.apache.log4j.Layout类,并覆盖其基类的 format()方法来提供HTML样式格式。

这提供了以下信息显示:

  • 生成特定的日志事件之前,从应用程序的开始所经过的时间

  • 调用该记录请求的线程的名称

  • 与此记录请求相关联的级别

  • 日志记录器(Logger)和记录消息的名称

  • 可选程序文件的位置信息,并从其中记录被调用的行号

HTMLLayout是一个非常简单的布局对象,它提供以下方法:

S.N. 方法 & 描述
1 setContentType(String)
设置 text/html 为 HTML内容的内容类型。默认为 text/html
2 setLocationInfo(String)
设置位置信息记录事件。默认为 false
3 setTitle(String)
设置为HTML文件的标题。默认值是Log4j的日志信息

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 2014

可以使用一个Web浏览器打开htmlLayout.html 文件。同样重要的是要注意,页脚</ HTML>和</ body>标记是完全缺失。

一个具有HTML格式的日志文件的一大优势是,它可以被发布为网页可以远程查看。

log4j教程 9、HTMLLayout的更多相关文章

  1. Log4j教程

    Log4j教程 一.快速上手 log4j把日志分为:all,trace,debug,info,warnig,error,fital,off等几个级别.级别高的会屏蔽级别的的信息. 1)maven导入j ...

  2. log4j教程 8、日志格式化

    Apache log4j 提供了各种布局对象,每一个对象都可以根据各种布局格式记录数据.另外,也可以创建一个布局对象格式化测井数据中的特定应用的方法. 所有的布局对象 - Appender对象收到 L ...

  3. log4j教程 5、示例程序

    前面我们已经看到了如何创建一个配置文件.本教程将讲解如何生成调试信息和日志在一个简单的文本文件. 下面是我们的例子中创建了一个简单的配置文件.这里再重复一次: 下载最新的Log4j库:http://l ...

  4. log4j教程 4、配置

    上一章介绍log4j的核心组件.本章介绍如何使用配置文件来配置这些核心组件.配置log4j涉及分配级别,定义追加程序,并在配置文件中指定布局的对象. log4j.properties文件是一个键 - ...

  5. log4j教程 12、日志记录到数据库

    log4j API提供 org.apache.log4j.jdbc.JDBCAppender 对象,它能够将日志信息在指定的数据库. JDBCAppender 配置: Property 描述 buff ...

  6. log4j教程 11、日志记录到文件

    要写日志信息到一个文件中,必须使用org.apache.log4j.FileAppender.有以下FileAppender的配置参数: FileAppender配置: 属性 描述 immediate ...

  7. log4j教程 10、PatternLayout

    如果想生成基于模式的特定格式的日志信息,那么可以使用 org.apache.log4j.PatternLayout 格式化日志信息. PatternLayout类扩展抽象 org.apache.log ...

  8. log4j教程 7、日志记录级别

    org.apache.log4j.Level类提供以下级别,但也可以通过Level类的子类自定义级别. Level 描述 ALL 各级包括自定义级别 DEBUG 指定细粒度信息事件是最有用的应用程序调 ...

  9. log4j教程 6、Logger方法

    Logger类提供了多种方法来处理日志活动. Logger类不允许实例化一个新的记录器实例,但它提供了两个静态方法获得一个 Logger 对象: public static Logger getRoo ...

随机推荐

  1. jquery defered的progress方法实现进度条

    效果如图: 实现代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  2. Tomcat学习笔记(一)

    Tomcat目录结构的认识 tomcat是Apache旗下的一个开源Servlet的容器,实现了对Servlet和JSP技术支持. 通过http://tomcat.apache.org/ 下载tomc ...

  3. android工程下assets与raw文件夹

    在应用的开发中,当我们创建一个新的Android工程后,我们会发现工程中包含了一个目录assets,另外当我们察看一些示例工程的时候,有时会发现在该工程的资源目录下会有一个raw目录(res/raw) ...

  4. 从日升的mecha anime看mecha genre的衰退

    注:矢立肇是日升企画部集体笔名,如勇者系列便是公司企画 这里列出一些我看过认为有意思的动画,大抵同系列的就合并了,除非后续作品(剧场版,OVA,etc)并非直接剧情承接且有趣 注意我对长篇TV动画评价 ...

  5. eclipse搭建ssm框架的maven的工程

    版本:eclipse:Indigo Service Release 2.  jdk :jdk1.7.0_03. maven:apache-maven-3.3.3 . 上面的3个东西 先下载下来.然后运 ...

  6. Spring数据访问之JdbcTemplate

    Spring数据访问之JdbcTemplate 使用JdbcTemplate的基本操作步骤 1.引jar包

  7. 昨天用到的一个sql查询。可取处,用max

    SELECT T_AssetInfos_ID, MAX(T_AssetConstruct_Name), MAX(T_AssetProperties_Name), SUM(CAST(PropertyVa ...

  8. WeiXin 验证成为开发者和更换服务器验证代码

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Da ...

  9. ubuntu安装mysql报错

    ubuntu换源后安装mysql报错: 原因:版本高,不兼容,只需要还原apt下载源,然后 sudo apt-get install mysql-server即可正常安装mysql

  10. vifx.y-emu 和 vifx.y 和 tapx.y

    xen 启动虚拟机后,domain0 可以看到虚拟网卡设备,但是有几种显示 tapx.y , vifx.y 或者 vifx.y-emu . 在我的实验里,同样的配置,如 vif = ["ty ...