Log4Delphi是一个开放源码项目,旨在制作用于Borland的Delphi高质量实用的日志套件,是基于Apache Software Foundation的log4j包。

安装:
        1.从http://sourceforge.net/projects/log4delphi/files/下载0.8版本,解压到文件夹。打开文件夹"...\log4delphi-0.8",新建一个文件夹"build";
        2.运行Delphi 7,打开组件包"log4delphi_D7_PROF.dpk",位于"...\log4delphi-0.8\src\delphi"下,点击"Compile"和"Install"进行编译安装;
        3.菜单"Tools"→"Environment Options"→"Library"→"Library path",添加"...\log4delphi-0.8\build"目录(如果需要连接源代码,则再添加"...\log4delphi-0.8\src\delphi"和"...\log4delphi-0.8\src\delphi\util");
使用:
        1.新建一个应用程序,保存当前工程。
        2.菜单"Project"→"View Source",添加初始化日志等,代码如下:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
  program Project1; 
 
uses 
  Forms, 
  TConfiguratorUnit,   {需要引用该单元} 
  Unit1 in 'Unit1.pas' {Form1}; 
 
{$R *.res} 
 
begin 
  Application.Initialize; 
  doPropertiesConfiguration('log4delphi.properties');  {初始化,读取属性} 
  Application.CreateForm(TForm1, Form1); 
  Application.Run; 
end. 

3.将"...\log4delphi-0.8\example\log4delphi.properties"复制到工程目录下;
        4.在窗体上放置两个按钮,单击事件和窗体的销毁事件如下:

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
  implementation 
 
uses TLoggerUnit;    {需引用此单元} 
 
{$R *.dfm} 
 
procedure TForm1.btn1Click(Sender: TObject); 
begin 
  TLogger.GetInstance.Debug('按钮1被点了');   {获取TLogger实例} 
end; 
 
procedure TForm1.btn2Click(Sender: TObject); 
begin 
  TLogger.GetInstance.Info('按钮2也被点了');  {包括:Fatal、Error、Warn、Info、Debug、Trace} 
end; 
 
procedure TForm1.FormDestroy(Sender: TObject); 
begin 
  TLogger.FreeInstances;   {在不需要使用的时候,释放掉} 
end; 

5.运行程序,点击按钮一和按钮二,关闭程序。在工程目录下,发现会有"app.log"文件,打开如下所示:

        6.打开属性文件"log4delphi.properties",可查看一些默认的属性以及属性说明。比如可以设置日志文件的布局,原内容如下:

1
2
3
4
5
6
  log4delphi.appender.fileAppender.layout=TSimpleLayout 
#log4delphi.appender.fileAppender.layout=TXMLLayout 
#log4delphi.appender.fileAppender.layout=THTMLLayout 
#log4delphi.appender.fileAppender.layout.Title=Document Title 
#log4delphi.appender.fileAppender.layout=TPatternLayout 
#log4delphi.appender.fileAppender.layout.Pattern=%d{dd mmm yyyy hh:nn:ss:zzz} [%5p] %m%n 

默认是打开TSimpleLayout,这是简单布局,格式如同上面截图一样。如果我们需要按照时间格式进行日志输出,需要先禁用TSimpleLayout,再打开TPatternLayout和其下的样式,如:

1
2
3
4
5
6
  #log4delphi.appender.fileAppender.layout=TSimpleLayout 
#log4delphi.appender.fileAppender.layout=TXMLLayout 
#log4delphi.appender.fileAppender.layout=THTMLLayout 
#log4delphi.appender.fileAppender.layout.Title=Document Title 
log4delphi.appender.fileAppender.layout=TPatternLayout 
log4delphi.appender.fileAppender.layout.Pattern=%d{dd mmm yyyy hh:nn:ss:zzz} [%5p] %m%n 

7.再次执行第5步,打开如下图所示:

        8.如果时间格式不符合个人的要求,完全可以自己自定义格式,具体可以参考用户向导(http://log4delphi.sourceforge.net/userguide.html)。

扩展资料:
1.Log4delphi使用心得 http://www.cnblogs.com/kfarvid/archive/2010/08/02/1790641.html

Delphi 7下使用Log4Delphi 0.8日志组件的更多相关文章

  1. delphi XE5下安卓开发技巧

    delphi XE5下安卓开发技巧 一.手机快捷方式显示中文名称 project->options->Version Info-label(改成需要显示的中文名即可),但是需要安装到安卓手 ...

  2. [转载]: delphi中XLSReadWrite控件的使用(2)---delphi XE下安装

    一.下载 官方下载网址: http://www.axolot.com/components/download.htm 从这里可以下载到从Delphi5到DelphiXE全部支持的版本. 二.软件安装 ...

  3. linux下利用elk+redis 搭建日志分析平台教程

    linux下利用elk+redis 搭建日志分析平台教程 http://www.alliedjeep.com/18084.htm   elk 日志分析+redis数据库可以创建一个不错的日志分析平台了 ...

  4. (一)windows7下solr7.1.0默认jetty服务器环境搭建

    windows7下solr7.1.0默认jetty服务器环境搭建 1.下载solr solr7官网地址:http://lucene.apache.org/solr/ jdk8官网地址:http://w ...

  5. centos 7下安装mysql-8.0

    本篇文章主要介绍在centos7 环境下安装mysql8.0并设置为开机自启. 安装步骤 1.配置yum源 首先在 https://dev.mysql.com/downloads/repo/yum/  ...

  6. net core体系-web应用程序-4net core2.0大白话带你入门-7asp.net core日志组件(Logger和Nlog)

    asp.net core日志组件   日志介绍 Logging的使用 1. appsettings.json中Logging的介绍 Logging的配置信息是保存在appsettings.json配置 ...

  7. Linux下定时切割Mongodb数据库日志并删除指定天数前的日志记录

    此为在网络上找来的,觉得很好! 实现目的: 对Mongodb数据库日志按天保存,并且只保留最近7天的日志记录. 具体操作: 使用Mongodb数据库自带的命令来切割日志 ps -def | grep ...

  8. Tomcat在windows服务器下,将tomcat控制台日志记录到日志文件中

    Tomcat在windows服务器下,将tomcat控制台日志记录到日志文件中 在Linux系统中,Tomcat 启动后默认将很多信息都写入到 catalina.out 文件中,我们可以通过tail  ...

  9. Delphi 7下最小化到系统托盘

    在Delphi 7下要制作系统托盘,只能制作一个比较简单的系统托盘,因为ShellAPI文件定义的TNotifyIconData结构体是比较早的版本.定义如下: 123456789   _NOTIFY ...

随机推荐

  1. 判断JS对象是否拥有某属性的方法举例

    判断JS对象是否拥有某属性 JS是否拥有某属性的判断方法,这里提供两种方式,供大家参考. 1.in 运算符 var obj = {name:'jack'}; alert('name' in obj); ...

  2. C#事件作用和用法

    例如有下面的需求需要实现:程序主画面中弹出一个子窗口.此时主画面仍然可以接收用户的操作(子窗口是非模态的).子窗口上进行某些操作,根据操作的结果要在主画面上显示不同的数据. 即如下图所示: 大多数我们 ...

  3. H5小内容(四)

    SVG   基本内容     SVG并不属于HTML5专有内容       HTML5提供有关SVG原生的内容     在HTML5出现之前,就有SVG内容     SVG,简单来说就是矢量图     ...

  4. HTML5列表

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  5. appium的安装过程(图文界面)

    资料来源:http://www.cnblogs.com/fnng/p/4560298.html 1.准备安装材料

  6. Python Tips and Traps(二)

    6.collections 模块还提供有OrderedDict,用于获取有序字典 import collections d = {'b':3, 'a':1,'x':4 ,'z':2} dd = col ...

  7. uboot 顶层makefile细节分析

    uboot的源文件众多,学习庞然大物首先找到脊椎--顶层的makfile,逐一破解.但是,uboot的makefile同样是一个庞然大物,所以也要找到它的主线.倘若过分专注部分细节,很难做到把握全局, ...

  8. jquery实现抽奖

    用jquery实现抽奖小程序   用jquery实现抽奖小程序 这些日子,到处都可以看到关于微信小程序的新闻或报到,在博客园中写关于微信小程序的也不少.但是今天我要说的不是微信小程序,而是用简单的jq ...

  9. JNI/NDK开发指南(开山篇)

    转载请注明出处:http://blog.csdn.net/xyang81/article/details/41759643 相信很多做过Java或Android开发的朋友经常会接触到JNI方面的技术, ...

  10. JS代码判断IE6,IE7,IE8,IE9的函数代码

    JS代码判断浏览器版本,支持IE6,IE7,IE8,IE9!做网页有时候会用到JS检测IE的版本,下面是检测Microsoft Internet Explorer版本的三种代码 做网页有时候会用到JS ...