您好,欢迎光临本网站![请登录][注册会员]  
文件名称: 线程安全日志记录器
  所属分类: Delphi
  开发工具:
  文件大小: 46kb
  下载次数: 1
  上传时间: 2008-01-11
  提 供 者: unsi****
 详细说明: (******************************************************************************)
(* 模 块 名: HSLogger4D.Pas *)
(* 别 名: 多任务线程安全日志接口-进程独立版 *)
(* 作 者: Unsigned(僵哥) *)
(* 说 明: 基于线程安全和文件缓存的单例多线程同步日志记录接口,本接口由一个 *)
(* Delphi版本的动态链接库来提供相应的功能,采用Delphi的 String 类型 *)
(* 传递参数,使用时请注意调用方式与Delphi一致,不建议使用于 Delphi *)
(* 以外的语言环境,由此所引发的后果,作者不承担任何责任 *)
(* 附带文件: HSLogger4D.DLL *)
(* 版 本 号: 1.1 *)
(* 创 建 于: 2007-07 *)
(* 备 注: 本接口属进程独立版不处理多进程间同步 *)
(* *)
(* 修改记录: 2007-07-13 创建最初版本 *)
(* 2007-07-14 修正多线程内存管理冲突 *)
(******************************************************************************)

unit HSLogger4D;

interface
uses
Windows;
(*********************************)
(* 功 能:记录日志 *)
(* 参数1:日志文件名,支持相对路径 *)
(* 参数2:日志内容,自行控制换行符 *)
(* 参数3:记录日志后是否关闭文件 *)
(* (不会释放其它资源) *)
(* 返回值:0=成功,非0=LastError *)
(*********************************)
function WriteLogThreadsafe(
FileName : String;
LogString : String;
CloseFileAfterWrote : BOOL
) : DWORD;overload;

function WriteLogThreadsafe(
FileName : String;
LogString : String
) : DWORD;overload;
(*********************************)
(* 功 能:关闭日志文件 *)
(* 参数1:日志文件名,支持相对路径 *)
(* 参数2:记录日志文件关闭后是否 *)
(* 释放其它相关资源 *)
(*********************************)
procedure CloseFile(
FileName : String;
FreeAfterClose : BOOL = true
);

(*********************************)
(* 功 能:关闭所有日志文件 *)
(* 参数1:记录日志文件关闭后是否 *)
(* 释放其它相关资源 *)
(*********************************)
procedure CloseAllFile(
FreeAfterClose : BOOL = false
);

(*********************************)
(* 功 能:强制缓存写入文件 *)
(* 参数1:日志文件名,支持相对路径 *)
(* 参数2:写入文件后是否关闭文件 *)
(* (不会释放其它资源) *)
(* 返回值:0=失败,非0=成功 *)
(*********************************)
function FlushFileToDisk(
FileName : String;
CloseFileAfterFlush : BOOL = true
) : BOOL;

(*********************************)
(* 功 能:强制缓存写入文件 *)
(* 参数1:写入文件后是否关闭文件 *)
(* (不会释放其它资源) *)
(*********************************)
procedure FlushAllFileToDisk(
CloseFileAfterFlush : BOOL = false
);

var
CloseFileAfterWrote:BOOL=false;

implementation

(******************************************************************************)
(* *)
(* <<日志接口定义>> *)
(* 注:请保持与源接口一致 *)
(******************************************************************************)
type
(*Logger Interface*)
ILogger=interface
['{E43E419D-26AD-48e6-8097-19622CC2043E}']
function WriteLog(
FileName : String;
LogString : String;
CloseFileAfterWrote : BOOL = true
) : DWORD;

procedure CloseFile(
FileName : String;
FreeAfterClose : BOOL = true
);

procedure CloseAllFile(
FreeAfterClose : BOOL = true
);

function FlushFileToDisk(
FileName : String;
CloseFileAfterFlush : BOOL = true
) : BOOL;

procedure FlushAllFileToDisk(
CloseFileAfterFlush : BOOL = true
);
end;

(*Logger Import statement*)
function HSLoggerObject: ILogger; stdcall;
external 'HSLogger4D.dll'
name 'HSLoggerObject';

(*Write Log-String to file*)
(*********************************)
(* 功 能:记录日志 *)
(* 参数1:日志文件名,支持相对路径 *)
(* 参数2:日志内容,自行控制换行符 *)
(* 参数3:记录日志后是否关闭文件 *)
(* (不会释放其它资源) *)
(*********************************)
function WriteLogThreadsafe(
FileName : String;
LogString : String;
CloseFileAfterWrote : BOOL
) : DWORD;
begin
Result:=HSLoggerObject.WriteLog(
FileName,
LogString,
CloseFileAfterWrote
);
end;

function WriteLogThreadsafe(
FileName : String;
LogString : String
) : DWORD;
begin
Result:=WriteLogThreadsafe(
FileName,
LogString,
CloseFileAfterWrote
);
end;

(*Close one Logfile,and free logfile-Object if FreeAfterClose was set to TRUE*)
(*********************************)
(* 功 能:关闭日志文件 *)
(* 参数1:日志文件名,支持相对路径 *)
(* 参数2:记录日志文件关闭后是否 *)
(*********************************)
procedure CloseFile(
FileName : String;
FreeAfterClose : BOOL);
begin
HSLoggerObject.CloseFile(
FileName,
FreeAfterClose
);
end;

(*Close All Logfile,and free logfile-Object if FreeAfterClose was set to TRUE*)
(*********************************)
(* 功 能:关闭所有日志文件 *)
(* 参数1:记录日志文件关闭后是否 *)
(*********************************)
procedure CloseAllFile( FreeAfterClose : BOOL = false );
begin
HSLoggerObject.CloseAllFile(FreeAfterClose);
end;

(*********************************)
(* 功 能:强制缓存写入文件 *)
(* 参数1:日志文件名,支持相对路径 *)
(* 参数2:写入文件后是否关闭文件 *)

(* 返回值:0=失败,非0=成功 *)
(*********************************)
function FlushFileToDisk( FileName : String;
CloseFileAfterFlush : BOOL
) : BOOL;
begin
Result:=HSLoggerObject.FlushFileToDisk(
FileName,
CloseFileAfterFlush
);
end;

(*********************************)
(* 功 能:强制缓存写入文件 *)
(* 参数1:写入文件后是否关闭文件 *)
(*********************************)
procedure FlushAllFileToDisk( CloseFileAfterFlush : BOOL );
begin
HSLoggerObject.FlushAllFileToDisk(CloseFileAfterFlush);
end;
end. ...展开收缩
(系统自动生成,下载前可以参看下载内容)

下载文件列表

相关说明

  • 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
  • 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
  • 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
  • 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
  • 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
 相关搜索: Delphi File Logger Multithread
 输入关键字,在本站1000多万海量源码库中尽情搜索: