我正在尝试使用python日志记录库(RotatingFileHandler)从多个线程登录到同一文件。在文件翻转之前,即所有线程(从1到n)登录到同一sample.log之前,它运行良好,并且在翻转之后,每个线程登录到单独的文件。例如,在翻转之后,线程1登录到sample.log,线程2登录到sample.log.1.。
LOG_FILENAME = 'sample.log'
log = logging.getLogger('MultiLogger')
handler = logging.handlers.RotatingFileHandler(LOG_FILENAME, maxBytes=1*1024*1024, backupCount=10)
formatter = logging.Formatter('%(created)f %(asctime)s %(processName)-12s%(levelname)-8s %(message)s')
logging.Formatter.converter = time.gmtime
logging.raiseExceptions = True
handler.setFormatter(formatter)
log.addHandler(handler)
log.setLevel(logging.DEBUG)
然后我在每个线程上使用getLogger来获取日志记录处理程序。
logging.getLogger('MultiLogger')