Wenn Sie die japanische Zeit einstellen möchten, müssen Sie sich mit dem Attribut "Formatter.converter" herumschlagen.
Da Formatter.converter
ein Aufruf ist, der time.struct_time
zurückgibt, definieren Sie eine solche geeignete Funktion.
def customTime(*args):
return datetime.now(timezone('Asia/Tokyo')).timetuple()
.timetuple ()
erhaltene struct_time aufnehmen können, kommentieren Sie dies bitte.main.py
import logging
from pytz import timezone
from datetime import datetime
#Nennen Sie es Logger.Wenn Sie mit diesem Namen aufrufen, werden die folgenden Einstellungen an andere Module vererbt..
logger = logging.getLogger("example")
logger.setLevel(logging.DEBUG)
#Handler-Einstellungen zur Ausgabe an die Konsole
sh = logging.StreamHandler()
sh.setLevel(logging.DEBUG)
def customTime(*args):
return datetime.now(timezone('Asia/Tokyo')).timetuple()
formatter = logging.Formatter(
fmt='%(levelname)s : %(asctime)s : %(message)s',
datefmt="%Y-%m-%d %H:%M:%S %z"
)
formatter.converter = customTime
sh.setFormatter(formatter)
#Handler-Einstellungen, die in eine Datei ausgegeben werden sollen
fh = logging.FileHandler("logs/example.log")
fh.setLevel(logging.DEBUG)
def customTime(*args):
return datetime.now(timezone('Asia/Tokyo')).timetuple()
formatter = logging.Formatter(
fmt='%(levelname)s : %(asctime)s : %(message)s',
datefmt="%Y-%m-%d %H:%M:%S %z"
)
formatter.converter = customTime
fh.setFormatter(formatter)
logger.addHandler(sh)
logger.addHandler(fh)
Recommended Posts