382人参与 • 2024-05-16 • Delphi
logger 很多框架都有,简单的实现就是一个队列加一根线,有复杂的,qdac里面涉及的就很巧妙,本来qdac就是个线程框架,所以也有先天优势。
在mormot 里面自然也有日志实现,它设计的比较麻烦。
begin tsynlog.family.level := log_verbose; // disable logs for benchmarking tsynlog.family.highresolutiontimestamp := false; tsynlog.family.noenvironmentvariable:=true; tsynlog.family.fileexistsaction := acappend; tsynlog.family.perthreadlog := ptonefileperthread; tsynlog.family.onarchive:=@eventarchivezip; tsynlog.family.autoflushtimeout := 1; end;
var
log: isynlog;
begin
log:=tsynlog.enter();
log.log(tsynloginfo.slldebug, 'accdsdfdasdfafasf');
end;
由mormot.core.log处理的可用日志事件包括:
tsynloglevel 包含了以下是具体的事件:
sllinfo:记录通用信息事件。slldebug:记录详细的调试信息。slltrace:记录低级别的逐步调试信息。sllwarning:记录意外值(非错误)。sllerror:记录错误信息。sllenter:记录每个方法的开始。sllleave:记录每个方法的退出。slllasterror:记录getlasterror操作系统消息。sllexception:记录抛出的所有异常——自windows xp起可用。sllexceptionos:记录所有操作系统低级别异常(如edivbyzero、erangeerror、eaccessviolation等)。sllmemory:记录内存统计信息(以mb为单位)。sllstacktrace:记录调用者的堆栈跟踪(它默认是 tsynlogfamily.levelstacktrace的一部分,如 sllerror、sllexception、sllexceptionos、slllasterror和 sllfail)。sllfail:为 tsyntestslogged.failed方法定义,并可用于记录一些客户端断言(可能是通知,而非错误)。sllsql:专用于跟踪sql语句。sllcache:应用于跟踪内部缓存机制。sllresult:可以跟踪sql结果,json编码。slldb:专用于跟踪低级别的数据库引擎功能。sllhttp:可用于跟踪http进程。sllclient/sllserver:可用于跟踪某些客户端或服务器进程。sllservicecall/sllservicereturn:跟踪某些远程服务或库。slluserauth:跟踪用户身份验证(例如,针对个别请求)。sllcustom*项目:可用于任何目的。sllnewrun:在进程打开旋转日志时写入。sllddderror:记录任何与ddd相关的低级别错误信息。slldddinfo:记录任何与ddd相关的低级别调试信息。sllmonitoring:记录统计信息(如果可用),或者可用于在连接到toolsadmin的人员之间进行实时聊天。在 mormot 1.18 中提供了要给logger日志的查器。其实有点累赘,当然用了那个工具顿时就可以感觉到 mormot 的日志模式还是很厉害的。

您想发表意见!!点此发布评论
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论