Mam do czynienia z problemami, w których mój serwer rzuca 500, jeśli API nie jest dostępny przez 30 minut na odcinku. Aby sprawdzić problem, muszę śledzić każde wykonane żądanie API. Używam Tornado przed Flaską. To jest mój kod do tej pory:Jak przechowywać dzienniki Tornado w pliku?
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()
Jaki jest najbardziej efektywny sposób przechowywania logów do jakiegoś pliku?
Próbowałem to zrobić, ale to działa tylko wtedy, gdy proces wychodzi z 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()
Dzięki tak dużo! Wbudowane opcje tornado całkowicie działały. – 90abyss