精易论坛

标题: 日志操作对象模块,自己封装的模块 [打印本页]

作者: 1752328925    时间: 2025-1-1 01:33
标题: 日志操作对象模块,自己封装的模块

LOG日志类


日志是啥


日志(Log)是指系统或应用程序在运行过程中记录的事件、操作、状态变化等信息的集合。日志通常用于追踪程序的行为,帮助开发者理解程序是如何执行的,以及在出现问题时,可以用来诊断和解决问题。日志可以包含各种类型的信息,例如:



日志可以输出到不同的目标,比如控制台、文件、数据库或者其他外部服务。日志记录的级别可以根据需要配置,以确保只记录重要的信息或者在调试时包含更详细的日志条目。


LogConfig自定义类型


当你在初始化一个Log对象时,需要提供一个LogConfig (日志信息配置) 自定义数据类型,这个类型包含三个参数,分别为:



那么,我们的LogConfig自定义类型就说完了,下面说说我们的Log类的使用


Log类的使用


首先在程序集声明一个Log类的变量,名称为log


初始化方法


log.initLog(参数1,参数2)



那么这个时候我们就有了log对象了,


使用方法


log.warning("我是一个警告日志")此时你将会看见一个警告日志出现在控制台


log.error("我是一个错误日志")此时你将会看见一个错误日志出现在控制台


log.info("我是一个信息日志")此时你将会看见一个信息日志出现在控制台


log.debug("我是一个调试日志")此时你将会看见一个调试日志出现在控制台


log.trace("我是一个跟踪日志")此时你将会看见一个跟踪日志出现在控制台,但是这个日志需要你手动配置LogConfig自定义类型了,因为咱们上面获取的是默认配置,所以默认配置是一个调试级别,所以这个跟踪级别的日志是不会出现在控制台的


当然,如果你程序正式编译出来的时候,肯定不会看调试级别的日志,所以当你正式使用的时候,还是需要手动配置LogConfig自定义类型,请将日志输出在文件,且级别为信息级别


额外的功能


在调试阶段,可以将日志打印在窗口上,Log内部封装了一个窗口,需要你调用出来才可以看见,其作用:方便观察日志,如果输出类型是文件的话,在windows系统中不方便实时监听日志的变化,所以小编就封了一个窗口在内部,方便观察日志变化,好像没什么大作用


log.showLogWindow(参数1,参数2)
parentWindow:这个参数是一个父窗口,parent是爸爸的意思,那么window就是窗口啦
logBackgroundColor:这个参数是日志Box的背景颜色,可以不填,不填是黑色的哦,因为我觉得黑色好看一点

还有:这个日志类初始化的时候会分配5种颜色,分别对应5种级别,如果你不用窗口观看日志,大可不必关心这个颜色,因为这个颜色只有开启了窗口,才会有效果。如果你开启窗口观察日志,也可以不用关心这个颜色,因为日志在初始化的时候都给了默认的配色了


如果你真觉得不好看,可以通过Log类的setWindowTextBoxShowColor(参数1,参数2,xx3,xx4,xx5)方法去手动设置5种日志的输出颜色这5个参数分别对应5种级别,自己看参数,对应好就行 例如:#红色


说一下什么时候用什么级别的日志

对于不了解日志的人来说。易语言的调试输出就很舒服了,那我还用什么log啊,麻烦死了。


你有没有发现,当你把程序编译好之后发布给他人使用,在使用过程中发现程序异常中断,或者出现了逻辑异常,结果不对,那都是家常便饭,这时候使用者的本地会有日志文件,日志文件里的日志就是你的log输出的日志,当然,你可以调用窗口打印模式,实时监控日志,


至于日志的级别

警告级别:发出警告,这个错误不影响整个程序的使用,表示潜在的问题,可能不会立即导致失败,但如果忽视可能会在未来引起麻烦。


错误日志:例如获取结果是空了,或者其他的错误,用这个日志来打印,记录任何阻止功能正常工作的错误条件


信息日志:正常记录执行,例如 应用程序运行过程中重要的事件,如启动、配置加载、用户登录等


调试日志:用于记录有助于诊断问题的详细信息,但这些信息对于正常操作不是必需的,例如提交参数,返回参数打印。默认的配置是调试级别


跟踪日志:这是最详细的日志级别,通常用于记录程序执行路径中的每一个步骤。它主要用于开发阶段的深入调试。


合适的选择级别,方便与更快的定位问题所在


插:如果开启了监听窗口打印,那么控制台和文件都不会输出日志,这块我觉得不错


最后


模块中封装了其他的类也可以看一下,会用的用,不会用的别用,不妨反编译看一下里面是啥玩意,目前没测出bug,有bug自行反编译修复哈,坏不包修复




模块函数展示

日志文件(跨天)展示

文件内容展示

监听窗口展示

orange.zip (34.62 KB, 下载次数: 57) log窗口打印测试.e (52.42 KB, 下载次数: 62)


作者: 白云飘飘    时间: 2025-1-1 10:45
看起来很不错哦,谢谢分享!
作者: a657938016    时间: 2025-1-1 11:36
感谢分享
作者: 轻风影    时间: 2025-1-1 12:50
这个看起不错
作者: liushuku    时间: 2025-1-3 17:22
很强  很需要

作者: kingchain    时间: 2025-1-7 12:39
很强  很需要
作者: 是可可吖    时间: 2025-1-7 12:45
感谢分享,很给力!~
作者: 木子心    时间: 2025-1-9 02:06
感谢分享,很给力!~
作者: 苏冉0322    时间: 2025-1-10 16:01
这才是该有的帖子 大佬太棒了
作者: 515667395    时间: 2025-1-11 15:58
多谢分享
作者: zhujinkui    时间: 2025-1-14 09:37
开源万岁,收藏了,谢谢分享!!!
作者: 1752328925    时间: 2025-1-22 12:17
Orange_3.3.1.ec

orange.zip

39.77 KB, 下载次数: 33, 下载积分: 精币 -2 枚

售价: 1 枚 精币  [记录]

3.3.1


作者: wanglaowu    时间: 2025-1-24 08:57
6666666666666666666666
作者: chinakafei    时间: 2025-1-29 03:29

这才是该有的帖子 大佬太棒了
作者: kenan236    时间: 2025-3-2 19:04
66666666666666666666666
作者: heifengye    时间: 2025-3-16 22:21
本帖最后由 heifengye 于 2025-3-16 22:36 编辑

拿走了 试试
作者: BY小齐    时间: 2025-3-26 19:51

作者: Maxximal    时间: 2025-4-7 21:30
信息性消息(Info):描述应用程序正常操作过程中的重要事件
作者: lqylbh    时间: 2025-4-20 20:46
感谢分享,很给力!~
作者: xuangeylw    时间: 2025-4-26 21:58
为啥多线程输出日志的时候,不显示,必须要全选才有内容


作者: 1752328925    时间: 2025-4-27 10:32
xuangeylw 发表于 2025-4-26 21:58
为啥多线程输出日志的时候,不显示,必须要全选才有内容

应该是插入编辑框的时候没有锁代码照成的

作者: 1752328925    时间: 2025-4-27 10:32
xuangeylw 发表于 2025-4-26 21:58
为啥多线程输出日志的时候,不显示,必须要全选才有内容

你把你的测试打印log代码发出来,我优化一下这个问题
作者: asd5125747    时间: 2025-4-28 00:03
支持大佬,顶礼膜拜
作者: 冥灵    时间: 2025-5-29 02:03
顶礼膜拜
作者: 豆芽爱吃肉    时间: 2025-6-12 17:24
拿走了 试试
作者: 豆芽爱吃肉    时间: 2025-6-12 17:30

支持大佬,顶礼膜拜
作者: ogion    时间: 2025-6-12 21:30
感谢开源,支持楼主
作者: sky122    时间: 5 天前
感谢分享




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4