# Module : log > **Coder** : ASH > **Last Update** : 2026-7-22-22:56 > **Contact** : yore159357@163.com > **Version** : 0.0.1 --- ## Features : 功能特性 ### 核心功能 1. **自动日志记录** - 自动记录事件发生的时间(相对于模块启动) 2. **多级别日志** - 支持 debug、info、warn、error、fatal 五个标准日志级别 3. **自定义事件类型** - 允许为日志事件添加自定义类型标签 4. **自动文件管理** - 自动创建日志目录和日志文件 5. **日志解析** - 提供日志文件解析和统计分析功能 6. **日志转换** - 支持将解析后的日志重新写入日志文件 ### 日志级别 - `debug` - 调试信息 - `info` - 一般信息 - `warn` - 警告信息 - `error` - 错误信息 - `fatal` - 致命错误 --- ## Default Parameter : 默认参数 `st`:在您的程序导入时,会自动将导入的时间记作系统时,如果需要中途调用,请用赋值语句:`log.st = [您所想更改的时间]` `defult_log_file_dir`:默认的日志文件存放目录,未修改时,默认路径为`./logs` --- ## Function Declaration : 函数说明 ### `log(event_content,level = 'debug',type = 'event',event_time = None)` > ASH:这是主要的日志记录函数,也是模块的核心 #### 参数 - `event_content` (`str`) : 日志事件内容描述 - `level` (`str`, `optional`) : 日志级别,默认为 'debug' - `type` (`str`, `optional`) : 事件类型,默认为 'event' - `event_time` (`float`, `optional`) : 自定义事件时间戳,默认为 None(使用当前时间) #### 功能 记录事件到日志文件并自动计算相对启动时间的时间戳,格式为: ```[相对时间][级别][类型][内容]``` #### 示例 ```py log('程序启动') # 默认debug级别 log('用户登录成功', level='info') # info级别 log('磁盘空间不足', level='warn', type='system') log('初始化完成', event_time=time.time()) ``` --- ### `trans_log(log_list)` > ASH:日志转换函数,没啥大用 #### 参数 `log_list` (`list`) : 写有固定格式的日志内容的列表 #### 功能 1. 解析标准格式的日志行 2. 将解析后的日志重新写入当前日志文件 3. 保持时间戳相对性 #### 提示 ##### 1.传入的列表的格式 对于传入函数的列表,有以下格式要求: ```js [ "事件1伪日志", "事件2伪日志", ... ] ``` 对于每一条伪日志,结构要求为: ```js "[绝对时间][级别][类型][内容]" ``` ##### 2.绝对时间与相对时间 本函数要求传入的伪日志内容要求时间为绝对时间(Unix时间戳)而非日志记录文件内的相对时间 --- ### `read_log_files()` >ASH:这个函数可以读取对应路径的日志文件,并返回相应的事件类型计数 该函数返回值(dict)的结构如下: ```js { 'file_name':'文件名称.log', 'file_path':'文件路径', 'event_num':{ 'debug':debug_number, 'info':info_number, 'warn':warn_number, 'error':error_number, 'fatal':fatal_number }, 'normal_exit':True 'end_event':event } ``` #### 参数说明 - `'event_num'` : 不同重要程度的事件类型的计数的字典,其值为`int`型. - `'normal_exit'` : 对应程序退出是否正常的布尔值 - `'end_event'` : 表示结束事件的类型 在调用该函数时,请确保读取文件在模组默认所在的目录内,并使用以下语句 ```py from Modules import log read_result = log.read_log_file(files_path) print(read_result) ``` 最终输出结果可能同上