2010-12-13 10 views
15

Ich versuche, in Python für die Protokollierung ein Format zur Einrichtung anzuzeigen: könnenWie Datumsformat mit Python Protokollierungsmodul

import logging,logging.handlers 
FORMAT = "%(asctime)-15s %(message)s" 
logging.basicConfig(format=FORMAT,level=logging.INFO) 
logger = logging.getLogger("twitter") 
handler = logging.handlers.RotatingFileHandler('/var/log/twitter_search/message.log', maxBytes=1024000, backupCount=5) 
logger.addHandler(handler) 

Grundsätzlich funktioniert die Anmeldung, aber ohne das Datumsformat ...

Antwort

25

Sie fügen Sie den datefmt Parameter basicConfig:

logging.basicConfig(format=FORMAT,level=logging.INFO,datefmt='%Y-%m-%d %H:%M:%S') 

Oder das Format für die Rotating Filehandler zu setzen:

fmt = logging.Formatter(FORMAT,datefmt='%Y-%m-%d') 
handler.setFormatter(fmt) 
+0

der zweite Vorschlag funktioniert, danke! –

+0

'datefmt' wird intern an' time.strftime() 'übergeben: siehe die entsprechende [Dokumentation] (https://docs.python.org/2/library/time.html#time.strftime) für alle gültigen Formate Saiten. – sevko