我编写了一个小函数来将事件记录到文件中。这个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日志,2014-01-24日志的日志文件,
我的问题是:日志文件保持不变。它不断地将日志记录到myapplog.2014-01-23.log,并且只有在重新启动守护进程之后,才创建和使用具有正确日期的适当日志。
发布于 2014-01-23 16:03:38
听起来您需要使用TimedRotatingFileHandler作为文档化的这里。
另外,您不应该不止一次地调用basicConfig() (我猜您调用logmessage不止一次)。作为记录在案,basicConfig()不会做任何事情,除非设置一个基本配置(所以只有第一个调用可以执行任何操作--后续调用会发现有配置,所以不要做任何事情)。
https://stackoverflow.com/questions/21310192
复制相似问题