Python之logging日志模块

logging

用于便捷既然日志切线程安全的模块

vim log_test.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import logging
 
 
logging.basicConfig(filename='log.log',
                    format='%(asctime)s - %(name)s - %(levelname)s -%(module)s:  %(message)s',
                    datefmt='%Y-%m-%d %H:%M:%S %p',
                    level=logging.DEBUG)
 
logging.debug('debug')
logging.info('info')
logging.warning('warning')
logging.error('error')
logging.critical('critical')
logging.log(10,'log')

运行生成日志文件log.log

模拟一个生成错误日志的脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import logging
 
 
logging.basicConfig(filename='log.log',
                    format='%(asctime)s - %(name)s - %(levelname)s -%(module)s:  %(message)s',
                    datefmt='%Y-%m-%d %H:%M:%S %p',
                    level=logging.DEBUG)
 
while True:
    option = raw_input("input a digit:")
    if option.isdigit():
        print "hehe",option
        logging.info('option correct')
    else:
        logging.error('Must input a digit!')

执行如果输入的是数字,写入info日志如果不是则写成error日志

PS:level=logging.DEBUG 是代表最低记录基本如果改成WARNING则不会记录info,debug信息就算设置了

 

上面是把日志写到文件里面

把日志显示到屏幕上面有输出到文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import logging
 
logger = logging.getLogger("simple_example")
logger.setLevel(logging.DEBUG)
#on screen
ch = logging.StreamHandler()
ch.setLevel(logging.WARNING)
#into file
fh = logging.FileHandler("log2.log")
fh.setLevel(logging.DEBUG)
 
formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s -%(module)s:  %(message)s")
 
ch.setFormatter(formatter)
fh.setFormatter(formatter)
 
logger.addHandler(ch)
logger.addHandler(fh)
 
logger.debug("debug msg...")
logger.info("info msg...")
logger.warn("warn msg...")
logger.error("error msg...")
logger.critical("critical msg...")

屏幕没有输出debug信息

 

posted @   minseo  阅读(251)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示