繁体   English   中英

每次在python中创建一个新的日志文件

[英]Create a new log file each time in python

我是Python的新手,这个查询听起来太基础了。

我希望每次运行应用程序时都创建一个新的日志文件。

我使用下面的代码完成了我的要求。

def initializeLog(logSpec):

    dirName   = logSpec['dirName']
    fileName  = logSpec['fileName']
    timeStamp = time.strftime("%Y%m%d%H%M%S")
    logFQ     = dirName + fileName + "_" + timeStamp + ".log"

    if not os.path.exists(dirName):
        os.makedirs(dirName)

    logFormat = '%(asctime)s %(funcName)-25s  %(levelname)-7s : %(message)s'
    logging.basicConfig(
        level    = logging.INFO,
        format   = logFormat,
        fileName = logFQ,
        filemode = 'w'
    )

我知道这远非理想,如果我能获得一些关于如何最好地实现的建议,那将是很棒的。 我已经检查了WatchedFileHandler,RotatingFileHandler,但无法让它们正常工作以适应我的要求。

请指教。

您应该花一些时间浏览Python日志记录文档:

记录:方法

总而言之,您可以创建一个记录器并将其配置为在不同级别进行报告,还可以将其配置为每次创建新的日志文件,再添加到控制台的输出,或者每天创建的新文件……这里有很多选项。

import logging

# set up logging to file - see previous section for more details 

logging.basicConfig(level=logging.DEBUG,
                    format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
                    datefmt='%m-%d %H:%M',
                    filename='/temp/myapp.log',
                    filemode='w')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM