Come generare standard di log di Apache formato logger pitone

voti
1

Qualcuno può aiutare con questo ?? Sto scrivendo un semplice script in python. Quello che sto cercando di fare è registrare i dati trasmessi dal mio script per file di log in forma di un formato di log di Apache standard.

il mio script:

>>> def examine(a):
...    if a == OK:
...       print True
...    else:
...       print False

esaminare ( 'sasasa') Falso

esaminare ( 'OK') Vero

Bene l'idea è di registrare l'uscita di questa funzione per file * .log nello stesso modo come l'apache fa.

Quindi il codice dovrebbe continuare ad andare avanti in questo modo:

import logging
logger = logging.getLogger('name_of_my_application')
logger.setLevel(logging.DEBUG)
fh = logging.FileHandler('logFileName.log')
fh.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setFormatter(formatter)
logger.addHandler(fh)
logger.info(examine('sasasa'))

La domanda è forse come fare una corretta formatter = logging.Formatter(...)

64.242.88.10 - - [07/Mar/2004:16:05:49 -0800] HERE is the output of my function like:  True of False 401 12846

Ho bisogno di questo perché sarà l'applicazione Grok filtro a questo file di log per visualizzarli in pila ELK

COMMONAPACHELOG %{IPORHOST:clientip} %{USER:ident} %{USER:auth} \[%{HTTPDATE:timestamp}\] (?:%{WORD:verb} %{NOTSPACE:request}(?: HTTP/%{NUMBER:httpversion})?|%{DATA:rawrequest}) %{NUMBER:response} (?:%{NUMBER:bytes}|-)
COMBINEDAPACHELOG %{COMMONAPACHELOG} %{QS:referrer} %{QS:agent}

# Log Levels
LOGLEVEL ([Aa]lert|ALERT|[Tt]race|TRACE|[Dd]ebug|DEBUG|[Nn]otice|NOTICE|[Ii]nfo|INFO|[Ww]arn?(?:ing)?|WARN?(?:ING)?|[Ee]rr?(?:or)?|ERR?(?:OR)?|[Cc]rit?(?:ical)?|CRIT?(?:ICAL)?|[Ff]atal|FATAL|[Ss]evere|SEVERE|EMERG(?:ENCY)?|[Ee]merg(?:ency)?)
È pubblicato 26/01/2017 alle 14:00
fonte dall'utente
In altre lingue...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more