时间:2021-05-23
1. 简介
追踪某些软件运行时所发生事件的方法, 可以在代码中调用日志中某些方法来记录发生的事情
一个事件可以用一个可包含可选变量数据的消息来描述
事件有自己的重要性等级
2. 使用logging日志系统四大组件
使用代码如下
import os, time, logging, sysfrom Common.plugs.get_config import r_configBASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))if sys.platform == "win32": ENV_CONF_DIR = os.path.join(BASE_DIR, 'Common/conf/env_config.ini').replace('/', '\\')else: ENV_CONF_DIR = os.path.join(BASE_DIR, 'Common/conf/env_config.ini')log_path = r_config(ENV_CONF_DIR, "log", "log_path")class Log: def __init__(self, log_path): self.logName = os.path.join(log_path, '{0}.log'.format(time.strftime('%Y-%m-%d'))) def console_log(self, level, message): # 创建一个logger logger = logging.getLogger() logger.setLevel(logging.DEBUG) # 创建一个handler,用于 debug 写入日志文件 debug_file = logging.FileHandler(self.logName, 'a+', encoding='utf-8') debug_file.setLevel(logging.DEBUG) # 再创建一个handler,用于输出到控制台 ch = logging.StreamHandler() ch.setLevel(logging.DEBUG) # 定义handler的输出格式 formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') debug_file.setFormatter(formatter) ch.setFormatter(formatter) # 给logger添加handler logger.addHandler(debug_file) logger.addHandler(ch) # 记录一条日志 if level == 'info': logger.info(message) elif level == 'debug': logger.debug(message) elif level == 'warning': logger.warning(message) elif level == 'error': logger.error(message) elif level == 'critical': logger.critical(message) logger.removeHandler(ch) logger.removeHandler(debug_file) debug_file.close() def debug(self, message): #最详细日志信息, 多用于问题诊断 self.console_log('debug', message) def info(self, message): #仅次于DEBUG, 多用于记录关键点信息, 确保程序按预期执行 self.console_log('info', message) def warning(self, message): #低等级故障, 但程序仍能运行, 如磁盘空间不足警告 self.console_log('warning', message) def error(self, message): #由于比WARNING严重的问题, 导致某些功能不能正常运行时的记录 self.console_log('error', message) def critical(self, message): 严重错误, 导致应用程序不能继续运行时的记录 self.console_log('critical', message)if __name__ == '__main__': Log(log_path).info("adasd") Log(log_path).error("dsadasddasd")'''以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
python的logging模块python提供了一个日志处理的模块,那就是logging。导入logging模块使用以下命令:importlogginglog
python自带了日志模块logging,可以用来记录程序运行过程中的日志信息。同时python还有logbook模块用来取代logging模块,在很多的项目中
详解使用python的logging模块在stdout输出前言: 使用python的logging模块时,除了想将日志记录在文件中外,还希望在前台执行pyth
本文实例讲述了Python使用logging结合decorator模式实现优化日志输出的方法。分享给大家供大家参考,具体如下:python内置的loging模块
这篇文章主要介绍了Python迭代器模块itertools使用原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可