python 打印/保存日志

import logging

# 方法一 logging
# LOG_FORMAT = "%(asctime)s - %(levelname)s - %(message)s"
# DATE_FORMAT = "%m/%d/%Y %H:%M:%S %p"
#
# # logging.basicConfig(filename='my.log', level=logging.DEBUG, format=LOG_FORMAT, datefmt=DATE_FORMAT)
# logging.basicConfig(level=logging.DEBUG) # 默认日志输出到控制台,默认是WARNING
# logging.basicConfig(level=logging.DEBUG,
# format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s')
# # logging.basicConfig函数对日志的输出格式及方式做相关配置
#
# logging.debug("This is a debug log.")
# logging.info("This is a info log.")
# logging.warning("This is a warning log.")
# logging.error("This is a error log.")
# logging.critical("This is a critical log.")

# 方法二 日志器
# 创建日志器
def get_log():
logger = logging.getLogger()
logger.setLevel(level=logging.DEBUG) # 处理器设置级别,然后可以对每个处理器单独设置级别
# 创建两种不同的日志处理器
console_handler = logging.StreamHandler()
file_handler = logging.FileHandler("./log.txt", mode='a', encoding='utf-8')
# 第三步 设置输出格式1
console_fmt = '%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s'
file_fmt = '%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s'
# 第三步 设置输出格式2
fmt1 = logging.Formatter(fmt=console_fmt)
fmt2 = logging.Formatter(fmt=file_fmt)
# 第三步 设置输出格式3
console_handler.setFormatter(fmt1)
file_handler.setFormatter(fmt2)

# 单独设置每个处理器的级别
file_handler.setLevel(logging.CRITICAL)
console_handler.setLevel(logging.DEBUG)
# 添加处理器
logger.addHandler(console_handler)
logger.addHandler(file_handler)
# logger.debug("这是日志")
# logger.warning('这是警告日志')
# logger.critical('这是严重日志')
return logger

if __name__ == '__main__':
l = get_log()
l.debug("这是日志")
l.warning("这是日志")

详细参考:

Python之日志处理(logging模块) - 云游道士 - 博客园 (cnblogs.com)

posted @   Mia妈妈加油呀  阅读(504)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示