总所周知,logging.handlers.TimedRotatingFileHandler这个类是进程不安全的
我的一个改法
#/usr/bin/python3
import tornado.web
from tornado import ioloop
from tornado import httpserver
from tornado import httpclient
from tornado import httputil
from tornado import options
from tornado.tcpclient import TCPClient
import time
import socket
import logging
import os
import multiprocessing
lock_Rollover = multiprocessing.Lock()
class MultiProcessSafeTimedRotatingFileHandler(logging.handlers.TimedRotatingFileHandler):
def __init__(self, filename, when='h', interval=1, backupCount=0, encoding=None, delay=False, utc=False, atTime=None):
super().__init__(filename,when, interval, backupCount, encoding, delay, utc, atTime)
filename = self.baseFilename
if os.path.exists(filename):
line = open(filename,"r").readline()
if line == '':
t = int(time.time())
else