python日志模块
Posted 乱糟糟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python日志模块相关的知识,希望对你有一定的参考价值。
python的日志模块使用logging,如果想要输出符合自己的预期,需要重新定义,废话不多说,直接贴代码。
# encoding: utf -8 from logging.handlers import TimedRotatingFileHandler import logging import os import inspect #调用方法log.debug(\'logname.log\',\'输出内容\') this_file = inspect.getfile(inspect.currentframe()) path = os.path.abspath(os.path.dirname(this_file)) class log: def __init__(self): if os.path.isdir(\'%s\\\\log\'%path): #创建log文件夹 pass else: os.mkdir(\'%s\\\\log\'%path) def debug(self,logname,kwarg): logFilePath = \'%s\\\\log\\\\%s\'%(path,logname) logger = logging.getLogger("yourName") logger.setLevel(logging.DEBUG) handler = TimedRotatingFileHandler(logFilePath, when="midnight", interval=1, backupCount=20) formatter = logging.Formatter(\'%(asctime)s %(levelname)s %(message)s\') handler.setFormatter(formatter) logger.addHandler(handler) logger.debug(\'%s\'%(kwarg)) logger.removeHandler(handler) def error(self,logname,kwarg): logFilePath = \'%s\\\\log\\\\%s\'%(path,logname) logger = logging.getLogger("yourName") logger.setLevel(logging.ERROR) handler = TimedRotatingFileHandler(logFilePath, when="midnight", interval=1, backupCount=20) formatter = logging.Formatter(\'%(asctime)s %(levelname)s %(message)s\') handler.setFormatter(formatter) logger.addHandler(handler) logger.error(\'%s\'%(kwarg)) logger.removeHandler(handler)
handler = TimedRotatingFileHandler(logFilePath, when="midnight", interval=1, backupCount=20) 定义写入日志的策略:
1.每天一个日志文件。
2.超过20个,删除最早生成的日志。
formatter = logging.Formatter(\'%(asctime)s %(levelname)s %(message)s\') 定义日志输出的格式
log().debug(\'test.log\',\'Hello World...\')
日志输出:
以上是关于python日志模块的主要内容,如果未能解决你的问题,请参考以下文章