2025-10-08 17:44:44 +08:00
|
|
|
|
#!/usr/bin/env python
|
|
|
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
|
|
|
|
|
|
|
|
"""
|
|
|
|
|
|
一个简单的、可配置的日志记录器模块。
|
|
|
|
|
|
"""
|
2025-10-17 10:32:52 +08:00
|
|
|
|
import _thread
|
2025-10-13 14:35:20 +08:00
|
|
|
|
from app.config.config import *
|
2025-10-08 19:36:48 +08:00
|
|
|
|
|
2025-10-17 10:32:52 +08:00
|
|
|
|
# 创建一个锁,用于在多线程环境中同步对print的调用
|
|
|
|
|
|
log_lock = _thread.allocate_lock()
|
|
|
|
|
|
|
2025-10-08 17:44:44 +08:00
|
|
|
|
|
|
|
|
|
|
def log(message: str):
|
|
|
|
|
|
"""
|
|
|
|
|
|
打印一条日志消息,是否实际输出取决于配置文件。
|
2025-10-17 10:32:52 +08:00
|
|
|
|
使用锁来确保多线程环境下的输出不会混乱。
|
2025-10-08 17:44:44 +08:00
|
|
|
|
|
|
|
|
|
|
Args:
|
|
|
|
|
|
message (str): 要打印的日志消息。
|
|
|
|
|
|
"""
|
|
|
|
|
|
# 从配置文件中获取调试开关的状态
|
|
|
|
|
|
# .get()方法可以安全地获取值,如果键不存在,则返回默认值False
|
2025-10-08 19:36:48 +08:00
|
|
|
|
if SYSTEM_PARAMS.get('debug_enabled', False):
|
2025-10-17 10:32:52 +08:00
|
|
|
|
with log_lock:
|
|
|
|
|
|
print(message)
|
2025-10-08 19:36:48 +08:00
|
|
|
|
|
2025-10-08 17:44:44 +08:00
|
|
|
|
# 如果开关为False,此函数会立即返回,不执行任何操作。
|