导入包

import logging.handlers
import datetime

logger = logging.getLogger("log")

日志目录查找并创建

if os.path.isdir('log'):
    print("当前目录下存在 log 文件夹")
    # pass
else:
    print("当前目录下不存在 log 文件夹,调用 mkdir 创建该文件夹")
    os.mkdir('log')

设置log的一些参数,如下所示:

try:
    handler1 = logging.handlers.RotatingFileHandler(
        filename='log/log-'+datetime.datetime.now().strftime("%Y-%m-%d %H-%M-%S"),
        maxBytes=10 * 1024 * 1024, backupCount=20, encoding='utf-8')
    logger.setLevel(logging.DEBUG)
    handler1.setLevel(logging.DEBUG)

    formatter = logging.Formatter("%(asctime)s %(name)s %(levelname)s %(message)s")
    handler1.setFormatter(formatter)

    logger.addHandler(handler1)
except:
    print("log 初始化设置错误!")
# 说明:ilename为log文件名称,maxBytes为最大分割存储字节数(每个文件不超过maxBytes),backupCount为单次运行程序最大log文件数,每个文件最大maxBytes字节时。超过时,覆盖最早的。

# 也能按照时间分割。例如按照每隔1个小时,保存一个日志文件,备份文件为最多3个,示例如下
handler2 = logging.handlers.TimedRotatingFileHandler("test.txt", when="H", interval=1, backupCount=3)

日志内容最终效果如下:

Python查询电脑日志 python查看运行日志_当前目录