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 0.8 for XE2 解决中文乱码问题详解** `log4delphi` 是一个基于 Delphi 开发的开源日志记录框架,它为 Delphi 应用程序提供了灵活的日志记录功能。这个框架是受到了 Java 语言中的 `log4j` 的启发,为 ...
日志组件log4delphi与log4j、log4cpp如出一辙 1.安装:log4Delphi无需安装,直接解压包解压后放入任意目录(我的目录是:'D:/3rdlib/delphi/log4delphi-0.7)即可。 2.使用:在工程文件中引用解压包中src目录下...
对于使用Delphi语言的开发者来说,log4delphi是一个强大的日志记录框架,它为Delphi提供了类似于Java世界中log4j的解决方案。本文将深入探讨log4delphi在Delphi 7.0、XE2至XE5版本中的应用,以及如何利用它来提升...
《log4delphi-0.7:为Delphi开发者打造的日志利器》 在软件开发过程中,日志记录是一项至关重要的任务,它可以帮助开发者追踪程序运行状态,定位问题,优化性能。Java社区中的log4j是著名的日志框架,而今天我们要...
Delphi 7下使用Log4Delphi 0.8日志组件.mht
《Log4Delphi与UDPSocket日志上传的探索与实践》 在软件开发中,日志记录是一项至关重要的任务,它有助于追踪程序运行过程中的问题,为调试和优化提供关键信息。Log4j是Java领域广泛使用的日志框架,而Log4Delphi则...
在Delphi编程环境中,log4d是一个非常实用的轻量级日志库,它为开发者提供了强大而灵活的日志记录功能。这个库的设计灵感来源于Java的log4j框架,旨在帮助程序员有效地跟踪和调试应用程序中的错误和异常,同时保持...
**日志框架log4Delphi** log4Delphi是一款基于Delphi编程语言的日志记录框架,它借鉴了Java中的著名日志库log4j的设计理念。这个框架的主要目的是为Delphi开发者提供一个强大、灵活且可扩展的日志解决方案,帮助...
### Log4j配置详解 #### 一、Log4j简介 Log4j 是一款非常流行的 Java 日志框架,由 Apache 软件基金会所提供。它能够帮助开发者在应用程序中记录日志信息,使得应用程序能够在运行时更加透明地展示其内部状态。Log...
procedure log4error(msg: AnsiString); //写ERROR级别的日志 procedure log4info(msg: AnsiString); //写INFO级别的日志 procedure log4debug(msg: AnsiString); //写DEBUG级别的日志 function log4filename():...
Log4D 的设计灵感可能来源于 Java 的著名日志框架 Log4j,它在 Delphi 社区中被广泛使用,为 Delphi 应用程序提供类似的功能。 在提供的文件列表中,我们可以看到以下几个关键文件: 1. **Log4DNM.pas**:这可能是...
原版不支持Delphi XE 7,本版Log4D.pas完全支持XE 7,并且不再需要Defines.inc和log4d.dtd 本版未修改Log4DIndy.pas、Log4DNM.pas、Log4DXML.pas,因此不附上这3个文件的源码 使用说明和代码样例请见包中的ReadMe....
《Delphi轻量化日志记录组件——log4me源码解析》 在软件开发过程中,日志记录是一项不可或缺的功能,它能帮助开发者追踪程序运行状态,定位错误源头,提高问题解决效率。对于Delphi开发者来说,log4me是一款非常...
开源的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
本文将详细解析Delphi快速日志类`Log FS`,这是一个为Delphi开发人员设计的高效日志工具,具备完整的源代码。 `Log FS`的核心功能在于提供快速且方便的日志记录能力。在Delphi编程环境中,日志通常用于记录程序运行...
本篇将详细探讨Delphi编程环境下如何实现事件记录并将其集成到Windows系统日志(System Log)中。 标题"delphi 事件记录 日志 system log"涉及的核心技术是Delphi编程语言与Windows事件记录系统的结合。Delphi,一...
4. **缓存和池管理**:如果LOG4D原版使用了缓冲区或对象池,修复版本可能改进了这些机制,以防止过度分配或未释放的资源。 5. **线程安全**:多线程环境中的内存管理尤其复杂,修复版本可能增加了必要的同步机制,...
4. **pasdoc_log.txt**:记录了Pasdoc运行时的日志信息,开发者可以通过查看这个文件来了解文档生成过程中是否出现错误或警告。 5. **readme.txt**:这是项目的基本说明文件,通常包含安装、配置和使用指南,以及...