Delphi 7下使用Log4Delphi 0.8日志组件
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日志组件的更多相关文章
- delphi XE5下安卓开发技巧
delphi XE5下安卓开发技巧 一.手机快捷方式显示中文名称 project->options->Version Info-label(改成需要显示的中文名即可),但是需要安装到安卓手 ...
- [转载]: delphi中XLSReadWrite控件的使用(2)---delphi XE下安装
一.下载 官方下载网址: http://www.axolot.com/components/download.htm 从这里可以下载到从Delphi5到DelphiXE全部支持的版本. 二.软件安装 ...
- linux下利用elk+redis 搭建日志分析平台教程
linux下利用elk+redis 搭建日志分析平台教程 http://www.alliedjeep.com/18084.htm elk 日志分析+redis数据库可以创建一个不错的日志分析平台了 ...
- (一)windows7下solr7.1.0默认jetty服务器环境搭建
windows7下solr7.1.0默认jetty服务器环境搭建 1.下载solr solr7官网地址:http://lucene.apache.org/solr/ jdk8官网地址:http://w ...
- centos 7下安装mysql-8.0
本篇文章主要介绍在centos7 环境下安装mysql8.0并设置为开机自启. 安装步骤 1.配置yum源 首先在 https://dev.mysql.com/downloads/repo/yum/ ...
- net core体系-web应用程序-4net core2.0大白话带你入门-7asp.net core日志组件(Logger和Nlog)
asp.net core日志组件 日志介绍 Logging的使用 1. appsettings.json中Logging的介绍 Logging的配置信息是保存在appsettings.json配置 ...
- Linux下定时切割Mongodb数据库日志并删除指定天数前的日志记录
此为在网络上找来的,觉得很好! 实现目的: 对Mongodb数据库日志按天保存,并且只保留最近7天的日志记录. 具体操作: 使用Mongodb数据库自带的命令来切割日志 ps -def | grep ...
- Tomcat在windows服务器下,将tomcat控制台日志记录到日志文件中
Tomcat在windows服务器下,将tomcat控制台日志记录到日志文件中 在Linux系统中,Tomcat 启动后默认将很多信息都写入到 catalina.out 文件中,我们可以通过tail ...
- Delphi 7下最小化到系统托盘
在Delphi 7下要制作系统托盘,只能制作一个比较简单的系统托盘,因为ShellAPI文件定义的TNotifyIconData结构体是比较早的版本.定义如下: 123456789 _NOTIFY ...
随机推荐
- 自定义注解与MYSQL
无聊之作,可以提意见,但别嘲笑啊 package bean; import java.sql.Date; import annotationK.annotation.Column; import an ...
- IOS 学习笔记 2015-04-15 控制器数据反向传值
// // FirstViewController.h // 控制器数据传递 // // Created by wangtouwang on 15/4/15. // Copyright (c) 201 ...
- SVN资料库转移-----dump和load
最近由于大批量的更换服务器,所以之前布署的SVN服务器需要重新布署,需要把原来的资源库转移到新服务器上,并且使管理的项目版本一致,在网上查了一下SVN版本库迁移,但看了一上google出来的也很少,所 ...
- 思维导图软件VYM
http://www.insilmaril.de/vym/ 点击打开链接http://www.oschina.net/p/vym 有人说VYM就跟目录是一回事,确实是这样, 只不过与excel之类的比 ...
- python【第二十篇】Django表的多对多、Ajax
1 创建多对多表的方式有两种 1.1 方式一:自定义关系表 class Host(models.Model): nid = models.AutoField(primary_key=True) hos ...
- Emmet Documentation
src:http://docs.emmet.io/cheat-sheet/ Emmet Documentation Syntax Child: > nav>ul>li <n ...
- string内存管理
本人从事.net开发快两年了,一直认为鄙人的C++基础还是很扎实的,并且对Windows操作系统也有一定认识(Linux系就真比较少用),刚毕业的时候,也曾经经常研究游戏破解之类的小外挂,那时候真是折 ...
- AirPlay简介
AirPlay是苹果公司在iOS4.2即Mac OS Mountain Lion中加入的一种播放技术.可以将iPhone.iPod.iPad和Mac上的视频镜像传送到支持AirPlay的设备上(如音响 ...
- IOS中获取文件路径的方法
iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储一般放在什么位置,得到模拟器的路径的简单方式是什么. documents,tmp,app,Library. (NSHomeDirectory ...
- Sql server中DateDiff用法【转】
记录下来.每次使用都忘记.... DATEDIFF 函数 [日期和时间] 功能 返回两个日期之间的间隔. 语法 DATEDIFF ( date-part, date-expression-1, dat ...