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. AJAX 简单上手

    AJAX简介 没有AJAX会怎么样?普通的ASP.Net每次执行服务端方法的时候都要刷新当前页面,如实现显示服务器的时间每次都要刷新页面的坏处:页面刷新打断用户操作.速度慢.增加服务器的流量压力.如果 ...

  2. 一段sql的优化

    优化前代码 select * ,ROW_NUMBER() OVER(order by WrongCount desc) as rowId from(select Quba_IDint,Quba_Num ...

  3. Avoiding “will create implicit index” NOTICE

    执行PgSql避免 notice 信息,执行之前加入以下语句调整报错级别即可: SET CLIENT_MIN_MESSAGES = ‘WARNING’;

  4. LeetCode【第217题】Contains Duplicate

    题目: ''' Given an array of integers, find if the array contains any duplicates. Your function should ...

  5. MVC + JQUERY + AJAX

  6. IOS 多线程之GCD

    参考:http://www.cnblogs.com/wendingding/p/3806821.html <<Objective-C基础教程>> 第二版 一 简介 GCD 全称 ...

  7. IEnumerable,ICollection,IList,List区别

    做C#的同学们,都知道,一类只能有一个继承类,但可以实现多个接口.这句话就告诉我们:IEnumerable,ICollection,IList,List区别了 首先我看看 IEnumerable: / ...

  8. XMLHttpRequest2的进步之处

    本文参考自:XMLHttpRequest2 新技巧 (重点保留demo,方便自己日后查阅) HTML5是现在web开发中的热点,虽然关于web app和local app一直有争论,但是从技术学习的角 ...

  9. Ubuntu 安装基础教程

    转自:http://teliute.org/linux/Ubsetup/index.html 1.进入 live cd 桌面  1)设置好启动后,断开网络,然后重启动计算机,可以用硬盘启动,也可以刻成 ...

  10. android 双向滑动 seekbar

    实现原理: 1.自定义View,在onDraw(Canvas canvas)中,画出2个Drawable滑动块,2个Drawable滑动条,2个Paint(text) 2.监听onTouchEvent ...