2012-10-18 8 views
9

Attualmente ho questo come il mio logger di base per l'applicazione Flask. Anche se vedo che c'è un Flask.logger object. Come faccio ad usare il logger nativo Flask? O è quello che sto facendo qui sotto bene?Semplificando la registrazione nel pallone

Sono anche un po 'confuso su dove vanno i diversi stati di registrazione, ad esempio la registrazione di informazioni rispetto alla registrazione in errore?

LOG_FILENAME = 'app_access_logs.log' 

info_log = logging.getLogger('app_info_log') 
info_log.setLevel(logging.INFO) 

handler = logging.handlers.RotatingFileHandler(
    LOG_FILENAME, 
    maxBytes=1024 * 1024 * 100, 
    backupCount=20 
    ) 

info_log.addHandler(handler) 

... 

@app.before_request 
def pre_request_logging(): 
    #Logging statement 
    if 'text/html' in request.headers['Accept']: 
     info_log.info('\t'.join([ 
      datetime.datetime.today().ctime(), 
      request.remote_addr, 
      request.method, 
      request.url, 
      request.data, 
      ', '.join([': '.join(x) for x in request.headers])]) 
     ) 

risposta

3

Probabilmente quello che vuoi è descritto come segue.

LOG_FILENAME = 'app_access_logs.log' 

app.logger.setLevel(logging.INFO) # use the native logger of flask 

handler = logging.handlers.RotatingFileHandler(
    LOG_FILENAME, 
    maxBytes=1024 * 1024 * 100, 
    backupCount=20 
    ) 

app.logger.addHandler(handler) 

... 

@app.before_request 
def pre_request_logging(): 
    #Logging statement 
    if 'text/html' in request.headers['Accept']: 
     app.logger.info('\t'.join([ 
      datetime.datetime.today().ctime(), 
      request.remote_addr, 
      request.method, 
      request.url, 
      request.data, 
      ', '.join([': '.join(x) for x in request.headers])]) 
     ) 
+0

Quali dovrebbero essere le impostazioni di autorizzazione/proprietario per il file di registro? Ho cercato di farlo funzionare con il mio uwsgi ma funzionerà solo quando è per 777 autorizzazioni. – user805981

Problemi correlati