|
日常开发过程中,未免需要输出生产日志,但是长期不管理日志文件的话,文件将会大到GB级别,严重影响检查日志的性能,为此,日志分割将尤为重要。
以下分享一个使用python进行日志分割的一个方法,代码如下:
# -*- coding: UTF8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf8')
import logging
from logging.handlers import RotatingFileHandler
fn = "mylog.log"
logger = logging.getLogger(__name__)
logger.setLevel(level=logging.DEBUG)
fmt = '%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s'
format_str = logging.Formatter(fmt)
# 最大日志大小:50MB;备份量:5份
fh = RotatingFileHandler(fn, maxBytes=50 * 1024 * 1024, backupCount=5, encoding="utf-8")
fh.namer = lambda x: "backup." + x.split(".")[-1] # 这里给namer赋值一个方法,注意后边的.1.2.3是一起传递过来的,要自己处理好
fh.setFormatter(fmt=format_str)
logger.addHandler(fh)
if __name__ == '__main__':
logger.info('测试')
|
|
|