示例:
python
import logging
class MyApp:
def __init__(self):
# 1. 配置日志(通常只在程序启动时配置一次)
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(levelname)s - %(message)s'
)
# 2. 获取当前模块的 Logger
self.logger = logging.getLogger(__name__)
def run(self):
self.logger.info("程序开始运行")
try:
# 模拟一些操作
result = 10 / 2
self.logger.info(f"计算结果是: {result}")
# 模拟一个警告
if result > 4:
self.logger.warning("结果大于 4,请注意!")
except Exception as e:
self.logger.error(f"发生了一个错误: {e}")
self.logger.info("程序结束运行")
# 启动程序
if __name__ == "__main__":
app = MyApp()
app.run()
说明:
| 代码片段 | 作用说明 |
|---|---|
logging.basicConfig(...) |
全局配置日志的基本参数。 |
level=logging.INFO |
设置日志的最低 输出级别。只有 INFO 级别及以上(如 WARNING, ERROR, CRITICAL)的日志才会被打印。 |
format='%(asctime)s - %(levelname)s - %(message)s' |
定义日志的输出格式: - %(asctime)s: 时间戳 - %(levelname)s: 日志级别(如 INFO, ERROR) - %(message)s: 具体的日志内容 |
self.logger = logging.getLogger(__name__) |
获取一个 Logger 实例。通常在类中使用,__name__ 会作为日志的名称(通常是模块名)。 |
可设置级别:
