我写了一个小函数来将事件记录到文件中。此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,只有在重启守护进程后,才会创建并使用正确日期的正确日志。
答案 0 :(得分:1)
听起来您需要使用TimedRotatingFileHandler
作为记录here。
此外,您不应多次致电basicConfig()
(我认为您不止一次致电logmessage
)。作为documented,basicConfig()除了设置基本配置外不会做任何事情(如果只有第一次调用做任何事情 - 后续调用发现有配置,所以不要做任何事情)。