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. HttpClient4.3 使用经验(一) 简单使用

    package com.wp.nevel.base.utils; import java.io.BufferedOutputStream; import java.io.BufferedReader; ...

  2. ubuntu上 安装 基于sphinx 的 coreseek 全文搜索

    原生sphinx不支持中文, sphinx-for-chinese匹配中文时也不返回结果 ,真纠结,  最好试了 coreseek,这个能正确返回结果了, 所以记录一下 1 http://www.co ...

  3. localStorage、sessionStorage详解,以及storage事件使用

    有关localStorage和sessionStorage的特性. localStorage本身带有方法有 添加键值对:localStorage.setItem(key,value),如果key存在时 ...

  4. JS 页面加载触发事件 document.ready和onload的区别(转)

    原博地址:http://blog.163.com/zhaoyanping_1125/blog/static/20132915320111129113723710/ * document.ready和o ...

  5. C#读取带命名空间的xml,xaml文件的解决方案

    使用C#读取xml文件有三种常用的方式: 1.xmlDocument 2.XmlTextReader 3.Linq To Xml 但是这些方式在读写有些带命名空间的xml时就不知道怎么办了(例如把xa ...

  6. DSP:CCS V6 TMS320F2812 使用printf函数

    使用Code Composer Studio  Version: 6.1.1.00022,建立TMS320F2812工程. /* * main.c */ #include <stdio.h> ...

  7. Asp.net MVC2中你必须知道的扩展点(一):Controller Factory

    Asp.net mvc2中提供很多可以扩展的地方,利用这些扩展之后,asp.net mvc使用起来更加灵活.Simone Chiaretta曾写过一篇文章:13 ASP.NET MVC extensi ...

  8. JS简单仿QQ聊天工具的制作

    刚接触JS,对其充满了好奇,利用刚学到的一点知识,写了一个简单的仿QQ聊天的东西,其中还有很多的不足之处,有待慢慢提高. 功能:1.在输入框中输入内容,点击发送,即可在上方显示所输入内容. 2.点击‘ ...

  9. IE filter & z-index bug

    对最近遇到的2个问题的一点总结. 1.IE filter & z-index 重构后的首页即将上线,测试提出fix导航条扩展菜单在ie789滚动后一段无法显示的问题. 疑云重重: 这个问题一开 ...

  10. JAVA 反射特性

    1.   反射(概念):程序在运行期可以改变程序结构和变量类型,主要是指程序可以访问.检测和修改它本身状态或行为的一种能力. 2.   反射的特性: •在运行时判断任意一个对象所属的类 •在运行时构造 ...