Python BasicConfig日志记录不会更改日志文件

菲尔

我写了一个小函数来将事件记录到文件中。该python脚本被导入到主脚本中。该主脚本作为守护程序运行(实际上是在轮询数据库)。

MainScript.py:

import logger

logger.logmessage(module = module, message = "SomeMessage")

logger.py:

def logmessage(message, module, level = 'INFO'):
    today = str(datetime.date.today())
    logFile = '/path/to/log/myapplog.'+today+'.log'

    logging.basicConfig(format='%(asctime)s - %(levelname)s - '+ module + ' -  %(message)s',level=logging.INFO,filename=logFile)

    if level is "INFO":
        logging.info(message)
    elif level is "WARNING":
        logging.warning(message)
    elif level is "CRITICAL":
        logging.critical(message)

我的意图是:获取类似myapplog.2014-01-23.log,2014-01-24.log等的日志文件...

我的诺言:日志文件保持不变。它会不断记录到myapplog.2014-01-23.log,并且只有在重新启动守护程序之后,才会创建并使用具有正确日期的正确日志。

维奈·萨吉普(Vinay Sajip)

听起来您需要TimedRotatingFileHandler按照此处的说明使用

另外,您不应打给您basicConfig()一次以上的电话(我想您打给您的电话logmessage不止一次)。如所记录的那样,basicConfig()除了设置基本配置(如果没有配置)之外不会做任何事情(因此只有第一个调用会做任何事情-后续调用会找到一个配置,所以什么也不做)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章