首页 > 其他分享 >在Delphi上位机软件中 增加采集卡工作状态输出成日志的功能

在Delphi上位机软件中 增加采集卡工作状态输出成日志的功能

时间:2023-08-28 10:01:11浏览次数:50  
标签:控件 AWriter BWriter Logs Delphi 机软件 日志 采集卡 Post

TApdComPort控件实现了串口的通信

控件有Logging属性决定了当前的日志状态

QDAC QLog可以生成日志

  

一:

日志发送到远程syslog服务器:

var AWriter := TQLogSocketWriter.Create;
AWriter.ServerHost := 127.0.0.1;//远程服务器地址
AWriter.ServerPort := 514;  //远程服务器端口
AWriter.UseTCP := False;
Logs.Castor.AddWriter(AWriter);

二:

日志记录到本地文件:

//LogPath为日志存放路径

var BWriter := TQLogFileWriter.Create(LogPath);
BWriter.MaxSize := LogSize * 1048576; //单日志文件大小 10M,日志文件大小到达10M即分卷压缩
BWriter.CreateMode := lcmRename;
BWriter.OneFilePerDay := True;
Logs.Castor.AddWriter(BWriter);

或者直接使用SetDefaultLogFile(LogPath + '\Log.TXT', LogSize * 1048576, True, True);

三:

日志输出到控件展示:

var MemoWriter := TQLogStringsWriter.Create;
MemoWriter.Items := Mmo1.Lines;//日志输出到memo控件中展示
MemoWriter.MaxItems := 20 ; //日志展示最大行数
Logs.Castor.AddWriter(MemoWriter);

四:

LogWriter对象有AcceptLevels属性,设置该属性,即当前日志记录对象只会记录对应属性标记的数据,即在Logs.Post时,参数1的日志等级

例如:Writer.AcceptLevels :=  [llMessage, llDebug]

此时只能记录 Logs.Post(llMessage,''),Logs.Post(llDebug,''),其余的Logs.Post(llError,'')等不会被记录

标签:控件,AWriter,BWriter,Logs,Delphi,机软件,日志,采集卡,Post
From: https://www.cnblogs.com/workformyselfandworld/p/17330303.html

相关文章

  • delphi FastReport 保存和加载已准备的报表
    FastReport保存和加载已准备的报表属性和方法TfrxReport.PreviewPagespropertyPreviewPages:TfrxCustomPreviewPages;指向已完成报表的当前页面的链接。它用于与完成的报表相关的所有操作(打印、保存、导出等)。TfrxCustomPreviewPages.LoadFromFilefunctionLoadFromFile......
  • CEF4Delphi(DELPHI Google Chrome 浏览器封装) 折腾 (2)--打开一个网页
      打开网页的,折腾了好久,试运行DEMO,就行,把DELPHI的代码抄过来,就是不行,然后把自己弄的控件名称搞的与DEMO一样,属性全对一样了,还是不行,郁闷很久后,才发现工程文件里面还要加代码。 我的工程名为:OpenChrome 选中工程文件后按CTRL+V,然后做以下修改:下面红色的代码是CEF4中需要......
  • CEF4Delphi(DELPHI Google Chrome 浏览器封装) 折腾 (1)--安装
    1、下载:https://github.com/salvadordf/CEF4Delphi/tree/master2、安装包:CEF4Delphi-master\packages目录中,如果不行,全部包都编译一下。3、下载运行环境:地址到 https://github.com/salvadordf/CEF4Delphi/tree/master中能查的到 Windows32bitsWindows64bitsLinux......
  • Delphi XE UniGUI ExtJS [7] Delhi 动态添加 ClientEvents.ExtEvents 事件
    UniButton1.ClientEvents.ExtEvents.Values['click']:='function(sender){alert("Click")}';UniEdit1.ClientEvents.ExtEvents.Values['change']:='function(sender,newValue){UniForms.UniEdit2.setValue(newValue)}';Un......
  • DELPHI 文件自动备份工具源码分享
    一.工具界面如下(没做UI) 二.设计视图如下: 三.控件说明:1.使用到了第三方StyleControl控件中的SCGPLabel,SCGPEdit,SCGPCheckBox,SCGPCombobox,SCGPButton,这几个控件如果需要,可替换成秕自带控件.难度-12.TrayIcon这个是让程序缩小到托盘上面去的.3.Pop......
  • Delphi获取文件创建时间、文件最后修改时间
    procedureTForm1.Button1Click(Sender:TObject);//获取文件创建时间varFileName:string;ti:Integer;dt:TDateTime;beginFileName:='D:\test\Test.txt';ti:=FileAge(FileName);ShowMessage(IntToStr(ti));//返回:1030115371,需要转换dt:=F......
  • delphi FastReport 预览设置
    FastReport预览设置属性和方法TfrxPreviewOptions.AllowEditpropertyAllowEdit:Boolean;启用或禁用已完成的报表编辑。默认值为True。TfrxPreviewOptions.AllowPreviewEditpropertyAllowPreviewEdit:Boolean;在报表预览中启用就地编辑器。允许用户在没有报告报表设......
  • delphi泛型实现的变体记录
    delphi泛型实现的变体记录typeTRes=record//公共的JSON回复status:Integer;message:string;exception:string;end;TData<T:record>=recorddata:arrayofT;end;TDatas<T:record>=recordres:TRes;......
  • Delphi正则表达式初学入门
    一前言 对于正则表达式,相信很多人都知道,但是很多人的第一感觉就是难学,因为看第一眼时,觉得完全没有规律可寻,而且全是一堆各种各样的特殊符号,完全不知所云。 其实只是对正则不了解而以,了解了你就会发现,原来就这样啊正则所用的相关字符其实不多,也不难记,更不难懂,唯一难的就......
  • delphi 自带 的JOSN 序列化 三
    TConverterEx<T:class>=class(TJsonConverter)publicfunctionCanConvert(ATypeInf:PTypeInfo):Boolean;override;functionReadJson(constAReader:TJsonReader;ATypeInf:PTypeInfo;constAExistingValue:TValue;constASerializer:......