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

相关文章

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

代码随想录冲冲冲 Day39 动态规划Part7

198. 打家劫舍 dp数组的意义是在第i位的时候偷的最大钱数是多少 如果nums的size为0 总价值当然就是0 如果nums的size为1 总价值是nums[0] 遍历顺序就是从小到大遍历 之后是递推公式 对于dp[i]的最大价值来说有两种可能 1.偷第i个 那么最大价值就是dp[i-2]+nums[i] 2.不偷第i个 那么价值就是dp[i-1] 之后取这两个的最大值就是d

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip

flume系列之:查看flume系统日志、查看统计flume日志类型、查看flume日志

遍历指定目录下多个文件查找指定内容 服务器系统日志会记录flume相关日志 cat /var/log/messages |grep -i oom 查找系统日志中关于flume的指定日志 import osdef search_string_in_files(directory, search_string):count = 0

我在移动打工的日志

客户:给我搞一下录音 我:不会。不在服务范围。 客户:是不想吧 我:笑嘻嘻(气笑) 客户:小姑娘明明会,却欺负老人 我:笑嘻嘻 客户:那我交话费 我:手机号 客户:给我搞录音 我:不会。不懂。没搞过。 客户:那我交话费 我:手机号。这是电信的啊!!我这是中国移动!! 客户:我不管,我要充话费,充话费是你们的 我:可是这是移动!!中国移动!! 客户:我这是手机号 我:那又如何,这是移动!你是电信!!

D4代码AC集

贪心问题解决的步骤: (局部贪心能导致全局贪心)    1.确定贪心策略    2.验证贪心策略是否正确 排队接水 #include<bits/stdc++.h>using namespace std;int main(){int w,n,a[32000];cin>>w>>n;for(int i=1;i<=n;i++){cin>>a[i];}sort(a+1,a+n+1);int i=1