<强> 1。日志输出到屏幕强>
# !/usr/bin/env python # - * -编码:utf - 8 - * 从__future__进口absolute_import 从__future__进口部门 从__future__进口print_function 导入日志 logging.basicConfig(=日志级别。NOTSET、格式=' % s - (asctime) %(名字)s - % (levelname) s - %(消息)s ') logging.debug(“这是一个调试消息。”) logging.info(“这是一个信息消息。”) 日志记录。警告(“这是一个警告消息。”) 日志记录。错误(“这是一个错误消息”。) 日志记录。重要的(这是一个关键的消息。) >之前默认的是日志级别。警告,低于这个级别的就不输出了。如果需要显示低于日志记录。警告级别的内容,可以引入日志记录。NOTSET级别来显示。
调试-打印全部的日志。详细的信息,通常只出现在诊断问题上。
INFO -打印信息、警告、错误,关键级别的日志。确认一切按预期运行。
警告——打印警告、错误,关键级别的日志。表明一些问题在不久的将来,这个软件还能按预期工作。
错误——打印错误,关键级别的日志。更严重的问题,软件没能执行一些功能。
关键:打印关键级别。一个严重的错误,表明程序本身可能无法继续运行。
/usr/bin/python2.7/home/strong/git_workspace/MonoGRNet/test.py 2019-06-26 16:00:45,990 -根-调试-这是一个调试消息。 2019-06-26 16:00:45,990 -根-信息-这是一个信息的信息。 2019-06-26 16:00:45,990根-警告这是一个警告消息。 2019-06-26 16:00:45,990 -根错误-这是一个错误消息。 2019-06-26 16:00:45,990 -根至关重要——这是一个重要的消息。 过程完成退出代码0 >之前<强> 2。日志输出到文件强>
# !/usr/bin/env python # - * -编码:utf - 8 - * 从__future__进口absolute_import 从__future__进口部门 从__future__进口print_function 导入日志 进口os.path 导入的时间 记录器=logging.getLogger () logger.setLevel (logging.DEBUG) time_line=trftime (Y ' % % m % d % H % m ', time.localtime (time.time ())) print (os.getcwd ()) log_path=os.path.dirname (os.getcwd ()) + '/' 日志文件=log_path + time_line + ' . log ' 处理程序=日志记录。文件句柄(日志文件模式=' w ') handler.setLevel (logging.INFO) 格式化程序=logging.Formatter (“% (asctime) s - %(文件名)s[线:% (lineno) d] - % (levelname): %(消息)”) handler.setFormatter (formatter) logger.addHandler(处理器) logger.debug(“这是一个调试消息。”) logger.info(“这是一个信息消息。”) 记录器。警告(“这是一个警告消息。”) 记录器。错误(“这是一个错误消息”。) 记录器。重要的(这是一个关键的消息。) >之前/usr/bin/python2.7/home/strong/git_workspace/MonoGRNet/test.py/home/strong/git_workspace/MonoGRNet 过程完成退出代码0 >之前201906261627.的日志
2019-06-26 16:27:26,899 -测试。py(线:30)——信息:这是一个信息的信息。 2019-06-26 16:27:26,899 -测试。py(线:31)——警告:这是一个警告消息。 2019-06-26 16:27:26,899 -测试。py[线:32]-错误:这是一个错误消息。 2019-06-26 16:27:26,899 -测试。py(线:33)——至关重要的:这是一个关键的消息。<强> 3。日志同时输出到屏幕和文件强>
# !/usr/bin/env python # - * -编码:utf - 8 - * 从__future__进口absolute_import 从__future__进口部门 从__future__进口print_function 导入日志 进口os.path 导入的时间 记录器=logging.getLogger (__name__) logger.setLevel(水平=logging.DEBUG) time_line=trftime (Y ' % % m % d % H % m ', time.localtime (time.time ())) print (os.getcwd ()) log_path=os.path.dirname (os.getcwd ()) + '/' 日志文件=log_path + time_line + ' . log ' 处理程序=日志记录。文件句柄(日志文件模式=' w ') handler.setLevel (logging.INFO) 格式化程序=logging.Formatter (“% (asctime) s - %(文件名)s[线:% (lineno) d] - % (levelname): %(消息)”) handler.setFormatter (formatter) 控制台=logging.StreamHandler () console.setLevel (logging.WARNING) logger.addHandler(处理器) logger.addHandler(控制台) logger.debug(“这是一个调试消息。”) logger.info(“这是一个信息消息。”) 记录器。警告(“这是一个警告消息。”) 记录器。错误(“这是一个错误消息”。) 记录器。重要的(这是一个关键的消息。)Python实现日志同时输出到屏幕和文件