`
neo
  • 浏览: 260375 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Log4Delphi

阅读更多

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

分享到:
评论

相关推荐

    log4 DELPHI 日志

    日志组件log4delphi与log4j、log4cpp如出一辙 1.安装:log4Delphi无需安装,直接解压包解压后放入任意目录(我的目录是:'D:/3rdlib/delphi/log4delphi-0.7)即可。 2.使用:在工程文件中引用解压包中src目录下...

    log4delphi 0.8 for XE2 (解决中文乱码问题)

    Delphi的日志记录控件,将网上的log4delphi做了点改动,支持xe2。

    log4delphi for 7.0,XE2-XE5

    Delphi的日志记录空间,将网上的log4delphi做了点改动,支持xe2。

    Delphi 7下使用Log4Delphi 0.8日志组件.mht

    Delphi 7下使用Log4Delphi 0.8日志组件.mht

    log4delphi-0.7

    类似JAVA的commons-logging开发包,很好用的

    log4d Delphi中好用的轻量级日志类

    log4d Delphi中好用的轻量级日志类

    log4delphi-updsocket.rar

    Log4Delphi是一个开放源码项目,用于日志模范及管理,其中添加了UDPSocket日志上传的扩展

    log4Delphi 0.7 无内存泄露版

    SourceSafe 网站上的 log4Delphi 0.7 版有内存泄露,我已经修正该问题,并通过FastMM4的测试。编写多线程软件时,使用日志可以提供更好的用户交互,而且能够在开发时进行调试。

    log4D for Delphi XE 7

    原版不支持Delphi XE 7,本版Log4D.pas完全支持XE 7,并且不再需要Defines.inc和log4d.dtd 本版未修改Log4DIndy.pas、Log4DNM.pas、Log4DXML.pas,因此不附上这3个文件的源码 使用说明和代码样例请见包中的ReadMe....

    Log for Delphi

    Log for Delphi ,很不错的日志类

    Log4.properties配置详解

    Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局)。这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出。综合使用这三个组件可以轻松地记录信息的类型和级别,并可以在...

    delphi xe5 下的日志类 log4d

    开源的log4d的日志功能很强大,可支持多线程并发记日志。 对log4d 作了点修改,新增的功能: (1)可按日期生成 LOG文件。 (2)可在软件7*24小时连续运行的情况下,自动生成新的日期LOG文件。 (3)可自动删除指定...

    log4d-src delphi7版

    log4d-src delphi7版 请大家下载!

    log4D for delphi

    包括采用文件方式配置日志 log4d.ini log4d.props log4D for Delphi XE 7.zip log4d.rar log4d-code-41-trunk.zip log4d-src.zip

    log4me超轻量级delphi 写日志单元源码1.0.1

    procedure log4error(msg: AnsiString); //写ERROR级别的日志 procedure log4info(msg: AnsiString); //写INFO级别的日志 procedure log4debug(msg: AnsiString); //写DEBUG级别的日志 function log4filename():...

    delphi 快速日志类 Log FS

    delphi 快速日志类 Log FS,Full Source,

    log4me超轻量级delphi 写日志单元源码

    delphi 超轻量级写日志单元源码.ver 1.0

    delphi 事件记录 日志 system log

    自己写的记录事件的delphi代码,可以在windows的事件监视器查看到添加的事件

    Delphi Logger

    #为debug时,log4error,log4info,log4debug打印的日志都被输出. level=info 一个可选工具 tail.exe 命令行中输入 >tail.exe -1000f 日志文件名 即可动态查看日志输出 或用程序调用 var cmd :AnsiString; ...

    一个使用断言来做应用的Log系统的Delphi单元

    摘要:Delphi源码,其它类别,Log系统  一个使用断言来做应用的Log系统的单元。  使用这个单元时,用户的应用程序中,原来定义错误消息输出时的代码:  ______________________________________________________ ...

Global site tag (gtag.js) - Google Analytics