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
分享到:
相关推荐
日志组件log4delphi与log4j、log4cpp如出一辙 1.安装:log4Delphi无需安装,直接解压包解压后放入任意目录(我的目录是:'D:/3rdlib/delphi/log4delphi-0.7)即可。 2.使用:在工程文件中引用解压包中src目录下...
Delphi的日志记录控件,将网上的log4delphi做了点改动,支持xe2。
Delphi的日志记录空间,将网上的log4delphi做了点改动,支持xe2。
Delphi 7下使用Log4Delphi 0.8日志组件.mht
类似JAVA的commons-logging开发包,很好用的
log4d Delphi中好用的轻量级日志类
Log4Delphi是一个开放源码项目,用于日志模范及管理,其中添加了UDPSocket日志上传的扩展
SourceSafe 网站上的 log4Delphi 0.7 版有内存泄露,我已经修正该问题,并通过FastMM4的测试。编写多线程软件时,使用日志可以提供更好的用户交互,而且能够在开发时进行调试。
原版不支持Delphi XE 7,本版Log4D.pas完全支持XE 7,并且不再需要Defines.inc和log4d.dtd 本版未修改Log4DIndy.pas、Log4DNM.pas、Log4DXML.pas,因此不附上这3个文件的源码 使用说明和代码样例请见包中的ReadMe....
Log for Delphi ,很不错的日志类
Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局)。这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出。综合使用这三个组件可以轻松地记录信息的类型和级别,并可以在...
开源的log4d的日志功能很强大,可支持多线程并发记日志。 对log4d 作了点修改,新增的功能: (1)可按日期生成 LOG文件。 (2)可在软件7*24小时连续运行的情况下,自动生成新的日期LOG文件。 (3)可自动删除指定...
log4d-src delphi7版 请大家下载!
包括采用文件方式配置日志 log4d.ini log4d.props log4D for Delphi XE 7.zip log4d.rar log4d-code-41-trunk.zip log4d-src.zip
procedure log4error(msg: AnsiString); //写ERROR级别的日志 procedure log4info(msg: AnsiString); //写INFO级别的日志 procedure log4debug(msg: AnsiString); //写DEBUG级别的日志 function log4filename():...
delphi 快速日志类 Log FS,Full Source,
delphi 超轻量级写日志单元源码.ver 1.0
自己写的记录事件的delphi代码,可以在windows的事件监视器查看到添加的事件
#为debug时,log4error,log4info,log4debug打印的日志都被输出. level=info 一个可选工具 tail.exe 命令行中输入 >tail.exe -1000f 日志文件名 即可动态查看日志输出 或用程序调用 var cmd :AnsiString; ...
摘要:Delphi源码,其它类别,Log系统 一个使用断言来做应用的Log系统的单元。 使用这个单元时,用户的应用程序中,原来定义错误消息输出时的代码: ______________________________________________________ ...