zoukankan      html  css  js  c++  java
  • log4delphi使用(转)

    转自:http://blog.csdn.net/brightgems/article/details/814042

    Log4d是apache下的一个delphi开源子项目,它的设计思想来源于Log4j,但并不是Log4j的子项目,主要目标是开发环境与生产环境下的日志输出。

    一、下载
    https://sourceforge.net/project/showfiles.php?group_id=145326
    二、安装
    将源代码下的log4delphi/src/delphi/log4delphi_D6.dpk包安装在IDE下。
    三、基本使用方法
    1.在dpr文件的source 中创建Logger实例(TConfiguratorUnit.doBasicConfiguration)
    如:
      Application.Initialize;
    //使用运行期默认配置,输出日志文件名是'log4delphi.log’
      TConfiguratorUnit.doBasicConfiguration;
      Application.CreateForm(TForm1, Form1);
      Application.Run;  
    2.配置Logger
    var
       logger : TLogger;
    begin
       logger := TLogger.getInstance;
       logger.setLevel(TLevelUnit.INFO);
       logger.addAppender(TFileAppender.Create('C:/test.log'));  
    3.在你需要的地方写Log信息
    根据Level的类型,有五种类别的Log信息
    logger.debug('Debug message');
       logger.info('Info message');
       logger.warn('Warn message');
       logger.error('Error message');
       logger.fatal('Fatal message');
    4.释放Logger实例
    Finalization
        TLogger.freeInstances;
    四、更深入的介绍
    Log4d由五个核心的components组成:Levels, LoggingEvents, Layouts, Appenders and Loggers.
    1. Levels。每一个Log event 都有一个优先级,Levels就是用来表示优先级的。因此,每一个优先级其实就是一个数值常量,可用于比较。
    Level有以下几种:
    TLevelUnit.OFF
      TLevelUnit.FATAL
      TLevelUnit.ERROR
      TLevelUnit.WARN
      TLevelUnit.INFO
      TLevelUnit.DEBUG
      TLevelUnit.ALL
    2.LoggingEvents.当产生一个Log信息或Logger实例创建时发生。
    Logging 包含的重要信息有:发生时间,消息内容,已经发生的异常及优先级。
    3. Layouts.它负责LoggingEvents的格式化输出样式。
    The TLayout 有以下方法:
      function format(event : TLoggingEvent) : String; Virtual; Abstract;
      function getContentType() : String; Virtual;
      function getHeader() : String; Virtual;
      function getFooter() : String; Virtual;
      function ignoresException() : Boolean; Virtual;
    常用的Layout有:
    l TSimpleLayout
    输出内容如:DEBUG - Button Clicked
    l TPatternLayout.它为格式化输出提供了更多的控制。格式化的模式与Format函数相似,即以%开头,接着跟修饰符和转换符。如:
    Pattern="%d [%5p] %m%n"
    产生的输出是
    12/20/2005 4:53:33 PM [DEBUG] Debug message
    12/20/2005 4:53:33 PM [ INFO] Info message
    12/20/2005 4:53:33 PM [ WARN] Warn message
    12/20/2005 4:53:33 PM [ERROR] Error message
    12/20/2005 4:53:33 PM [FATAL] Fatal message
    含义: %d 日期
     %m 消息内容
     %n 换行
     %p 优先级
     %e 异常的类名与message
     %L Logger的名称
    4. Appenders.表示输出的目的是控制台,文件,还是数据库。
    常用的有TFileAppender, TDBAppender

    五、配置文件
    1.程序里加载配置文件
    Application.Initialize;
      TConfiguratorUnit.doPropertiesConfiguration('log4delphi.properties');
      Application.CreateForm(TForm1, Form1);
      Application.Run;  


    2.写配置文件'log4delphi.properties'
    l 控制输出的信息类别
    # Set this to true to turn on Log4Delphi's internal
    # logging
    log4delphi.debug=false 
    log4delphi.info=false 
    log4delphi.all=true
    l Root Logger
    # Set the root logger's priority threshold to DEBUG and assign an
    # appender named "fileAppender" to it.
    log4delphi.rootLogger=DEBUG, fileAppender
    l 配置Appender
    # Specify the appender class for fileAppender.
    log4delphi.appender.fileAppender=TFileAppender
        
    # Specify which file fileAppender should use.
    log4delphi.appender.fileAppender.File=app.log
    l 设置Layout
    # Specify the layout class for fileAppender.
    log4delphi.appender.fileAppender.layout=TSimpleLayout  
    # Use TPattern layout
    log4delphi.appender.fileAppender.layout=TPatternLayout
    log4delphi.appender.fileAppender.layout.pattern=%d [%5p] %m%n

  • 相关阅读:
    Java测试开发--Set、Map、List三种集合(四)
    Java测试开发--Maven用法(三)
    Java测试开发--Java基础知识(二)
    干净的卸载数据库
    腾讯云服务器部署springboot项目
    MultipartFile 实现图片上传
    URI和URL
    Redis debug模式报org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with...错误
    空指针异常
    Java 程序中怎么保证多线程的运行安全?
  • 原文地址:https://www.cnblogs.com/GarfieldTom/p/3774856.html
Copyright © 2011-2022 走看看