delphi日志模块代码

2024-09-06 14:38
文章标签 代码 模块 日志 delphi

本文主要是介绍delphi日志模块代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

unit LOG_logging;


interface
uses
  System.Win.ScktComp,  System.SysUtils, Winsock, Windows, System.Classes,
  UGlobalvariable_type;


type


  TLOG_logging = class
    txt: TextFile;  {文件}
    txtfile: AnsiString; {文件名}
    procedure ONLOG(VVGFlogtype: integer; VVGFlogstr: AnsiString);


  strict private
    VGFlogstr: AnsiString;
    VGFlogtype: integer;


    procedure Setlogstr(const Value: AnsiString);
    procedure Setlogtype(const Value: integer);
    procedure log_save;   {日志函数}
  published


  public
    constructor  Create;
    destructor destroy; override;
    procedure Execute;


    property logtype:integer read VGFlogtype write Setlogtype;
    property logstr:AnsiString read VGFlogstr write Setlogstr;
  end;


implementation


constructor TLOG_logging.Create;
begin
  inherited Create;
  if not DirectoryExists(ExtractFilePath(ParamStr(0))+'log\') then
    ForceDirectories(ExtractFilePath(ParamStr(0))+'log\');
  txtfile := ExtractFilePath(ParamStr(0))+'log\'+ FormatDateTime('YYYYMMDD',Now ) +'.log' ;
  AssignFile( txt,txtfile);
  //Resume ; //唤醒线程,开始执行Execute里的内容
end;


destructor TLOG_logging.destroy;
begin
  inherited;
end;


procedure TLOG_logging.Execute;    {建立TCP服务线程}
begin
  TRY
    txtfile := ExtractFilePath(ParamStr(0))+'log\'+ FormatDateTime('YYYYMMDD',Now ) +'.log' ;
    if fileexists(txtfile) then
    begin


    end
    else
    begin
      AssignFile( txt,txtfile);
      Rewrite(txt);    //日志文件新建或者重写原有的文件
      CloseFile(txt);
    end;


    if VGFlogtype > 0 then
    begin
      log_save;  {日志函数}
      VGFlogtype := 0;
    end;


  FINALLY
  END;


end;


procedure TLOG_logging.log_save;  {日志函数}
begin
  try
    try
      Append(txt);  //写打开文件,指针到尾
    except
      Exit;
    end;


    case VGFlogtype of
      1://异常记录
      begin
        Writeln(txt,'systemerr:'+FormatDateTime('yy-mm-dd hh:nn:ss',now) +'|'+string(VGFlogstr) );  //写入记录文件
        Writeln(txt,'' );


      end;
      2://TCP记录
      begin


        Writeln(txt,'TCP_LOG:'+FormatDateTime('yy-mm-dd hh:nn:ss',now) +'|'+string(VGFlogstr));  //写入记录文件
        Writeln(txt,'' );


      end;
      3://记录日志
      begin


        Writeln(txt,'LOG:'+FormatDateTime('yy-mm-dd hh:nn:ss',now) +'|'+string(VGFlogstr) );  //写入记录文件
        Writeln(txt,'' );


      end;
    end;


  finally
    CloseFile(txt);
  end;


end;


procedure TLOG_logging.Setlogstr(const Value: AnsiString);
begin
  VGFlogstr := Value;
end;


procedure TLOG_logging.Setlogtype(const Value: integer);
begin
  VGFlogtype := Value;
end;


procedure TLOG_logging.ONLOG(VVGFlogtype: integer; VVGFlogstr: AnsiString);
begin


  VGFlogstr := VVGFlogstr;
  VGFlogtype := VVGFlogtype;
  Execute;


end;




end.

这篇关于delphi日志模块代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1142288

相关文章

Spring Boot 3.4.3 基于 Spring WebFlux 实现 SSE 功能(代码示例)

《SpringBoot3.4.3基于SpringWebFlux实现SSE功能(代码示例)》SpringBoot3.4.3结合SpringWebFlux实现SSE功能,为实时数据推送提供... 目录1. SSE 简介1.1 什么是 SSE?1.2 SSE 的优点1.3 适用场景2. Spring WebFlu

SpringBoot日志配置SLF4J和Logback的方法实现

《SpringBoot日志配置SLF4J和Logback的方法实现》日志记录是不可或缺的一部分,本文主要介绍了SpringBoot日志配置SLF4J和Logback的方法实现,文中通过示例代码介绍的非... 目录一、前言二、案例一:初识日志三、案例二:使用Lombok输出日志四、案例三:配置Logback一

java之Objects.nonNull用法代码解读

《java之Objects.nonNull用法代码解读》:本文主要介绍java之Objects.nonNull用法代码,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录Java之Objects.nonwww.chinasem.cnNull用法代码Objects.nonN

golang 日志log与logrus示例详解

《golang日志log与logrus示例详解》log是Go语言标准库中一个简单的日志库,本文给大家介绍golang日志log与logrus示例详解,感兴趣的朋友一起看看吧... 目录一、Go 标准库 log 详解1. 功能特点2. 常用函数3. 示例代码4. 优势和局限二、第三方库 logrus 详解1.

SpringBoot实现MD5加盐算法的示例代码

《SpringBoot实现MD5加盐算法的示例代码》加盐算法是一种用于增强密码安全性的技术,本文主要介绍了SpringBoot实现MD5加盐算法的示例代码,文中通过示例代码介绍的非常详细,对大家的学习... 目录一、什么是加盐算法二、如何实现加盐算法2.1 加盐算法代码实现2.2 注册页面中进行密码加盐2.

python+opencv处理颜色之将目标颜色转换实例代码

《python+opencv处理颜色之将目标颜色转换实例代码》OpenCV是一个的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS操作系统上,:本文主要介绍python+ope... 目录下面是代码+ 效果 + 解释转HSV: 关于颜色总是要转HSV的掩膜再标注总结 目标:将红色的部分滤

在C#中调用Python代码的两种实现方式

《在C#中调用Python代码的两种实现方式》:本文主要介绍在C#中调用Python代码的两种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C#调用python代码的方式1. 使用 Python.NET2. 使用外部进程调用 Python 脚本总结C#调

如何自定义Nginx JSON日志格式配置

《如何自定义NginxJSON日志格式配置》Nginx作为最流行的Web服务器之一,其灵活的日志配置能力允许我们根据需求定制日志格式,本文将详细介绍如何配置Nginx以JSON格式记录访问日志,这种... 目录前言为什么选择jsON格式日志?配置步骤详解1. 安装Nginx服务2. 自定义JSON日志格式各

Java时间轮调度算法的代码实现

《Java时间轮调度算法的代码实现》时间轮是一种高效的定时调度算法,主要用于管理延时任务或周期性任务,它通过一个环形数组(时间轮)和指针来实现,将大量定时任务分摊到固定的时间槽中,极大地降低了时间复杂... 目录1、简述2、时间轮的原理3. 时间轮的实现步骤3.1 定义时间槽3.2 定义时间轮3.3 使用时

Python使用date模块进行日期处理的终极指南

《Python使用date模块进行日期处理的终极指南》在处理与时间相关的数据时,Python的date模块是开发者最趁手的工具之一,本文将用通俗的语言,结合真实案例,带您掌握date模块的六大核心功能... 目录引言一、date模块的核心功能1.1 日期表示1.2 日期计算1.3 日期比较二、六大常用方法详