zoukankan      html  css  js  c++  java
  • log4j教程 9、HTMLLayout

    如果想生成一个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格式的日志文件的一大优势是,它可以被发布为网页可以远程查看。

  • 相关阅读:
    eNSP——配置Trunk接口
    eNSP——VLAN基础配置和Access
    C# WinForm多线程(三)---- Control.Invoke[转]
    C# 在字符串前加了$,这个 dollar 符号有什么用?美元符号是什么意思
    软件工程领域工程硕士培养方案
    C#中SHOWDIALOG()与SHOW()的区别_模态与非模态_销毁与释放
    HTTP状态代码code(错误代码集合)返回错误代码集合
    OpenCV26HoughCircles 霍夫圆变换原理及圆检测
    OpenCV25-判断一个点是否在多边形的内部_点多边形测试pointPolygonTest
    OpenCV24霍夫直线变换API介绍_3.1.0
  • 原文地址:https://www.cnblogs.com/linjian/p/4644380.html
Copyright © 2011-2022 走看看