标签:日志 ima 内容 mkdir 功能 exists class critical 技术
Python3的logging功能是比较丰富的支持不同层次的日志输出,但或是我们想在日志前输出时间、或是我们想要将日志输入到文件,我们还是想要自定义日志类。
之前自己也尝试写过但感觉文档太乱看不懂怎么写,今天有人拿个半成品来问为什么代码报错,在其基础上改造了一下。
import os import datetime import logging class LogConfig: def __init__(self): # 创建存放日志的目录 if not os.path.exists(‘./log‘): os.mkdir(‘./log‘) # 操作系统本身不允许文件名包含:等特殊字符,所以这里也不要用,不然赋给filename时会报错 nowTime = datetime.datetime.now().strftime(‘%Y-%m-%d‘) # level----指定打印的日志等级;默认为WARNING;可为NOTSET、DEBUG、INFO、WARNING、ERROR、CRITICAL # format----指定整条日志的格式;这里设置为“时间-等级-日志内容” # datefmt----format中时间的格式; # filename----日志输出到的文件;默认打印到控制台 # filemode----日志文件读写形式;默认为“a”;配合filename使用,如果不用filename该参数也可不用 logging.basicConfig(level=logging.INFO, format=‘%(asctime)s %(levelname)s %(message)s‘, datefmt=‘%Y-%m-%d %H:%M:%S‘, filename=f‘./log/{nowTime}.log‘, filemode=‘a‘) self.logger = logging.getLogger() def getLogger(self): return self.logger if __name__ == "__main__": logger = LogConfig().logger logger.debug(‘print by debug‘) logger.info(‘print by info‘) logger.warning(‘prit by warning‘)
参考:https://docs.python.org/3/library/logging.html#levels
标签:日志 ima 内容 mkdir 功能 exists class critical 技术
原文地址:https://www.cnblogs.com/lsdb/p/10273409.html