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

  • 相关阅读:
    【转载】jyupter notebook入门指南
    【转载】CnBlogs博文排版
    【转载】如何知道自己适合做什么
    【转载】讲真,认知几乎是人和人之间唯一的本质差别。
    Geekband C++面向对象高级程序设计-第六周课程5
    Geekband C++面向对象高级程序设计-第六周课程3
    Outlier实验-补充记录1
    Outlier实验-出错记录1
    Geekband C++面向对象高级程序设计-第六周课程2
    Geekband C++面向对象高级程序设计-第六周课程1
  • 原文地址:https://www.cnblogs.com/linjian/p/4644380.html
Copyright © 2011-2022 走看看