晒酷学院:https://shareku.ke.qq.com/
微信号:添加请注明晒酷学院 QQ群:979438600
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...')
日志输出: