Ho riscontrato problemi in cui il mio server lanciava un 500 se non si accede all'API per 30 minuti. Per verificare il problema, devo tenere traccia di ogni singola richiesta API effettuata. Sto usando Tornado di fronte a Flask. Questo è il mio codice finora:Come memorizzare i registri di Tornado in un file?
import tornado.httpserver
import tornado.ioloop
import tornado.web
from flasky import app
from tornado.wsgi import WSGIContainer
from tornado.ioloop import IOLoop
from tornado.web import FallbackHandler
from tornado.log import enable_pretty_logging
enable_pretty_logging()
tr = WSGIContainer(app)
application = tornado.web.Application([
(r".*", FallbackHandler, dict(fallback=tr)),
])
if __name__ == '__main__':
application.listen(5000)
IOLoop.instance().start()
cosa è il modo più efficiente per archiviare i registri di qualche file?
Ho provato a fare questo, ma funziona solo quando il processo si chiude con 0:
import sys
import time
timestr = time.strftime("%Y%m%d-%H%M%S")
filename = "C:/Source/logs/" + timestr + ".log"
class Logger(object):
def __init__(self):
self.terminal = sys.stdout
self.log = open(filename, "a")
def write(self, message):
self.terminal.write(message)
self.log.write(message)
def flush(self):
pass
sys.stdout = Logger()
Grazie mille! Le opzioni di tornado integrate hanno funzionato completamente. – 90abyss