Hinzufügen von benutzerdefinierten parameter in Python-logging-formatter?

Ich bin mit der standard-Python-logging-Modul mit dem Flask-framework. Ich möchte zum schreiben von Protokollen zu der Datei mit dem alle Aufzeichnungen der Benutzer Aktionen mit benutzerdefinierten parameter " %(username)s auf die Anmeldung.Formatter:

admin - 2013-10-11 15:11:47,033 action0
user1 - 2013-10-11 15:11:48,033 action1
user2 - 2013-10-11 15:11:49,033 action2
admin - 2013-10-11 15:11:50,033 action3

Ich bin mit RotatingFileHandler:

def get_user_name():
    return session.get("username", "")

file_handler = RotatingFileHandler(fname, maxBytes=1 * 1024 * 1024, backupCount=5)
file_handler.setLevel(logging.DEBUG)
file_handler.setFormatter(logging.Formatter(
    '%(username)s - %(asctime)s %(levelname)-10s %(message)s  [in %(pathname)s:%(lineno)d]'
)) # how to insert get_user_name() instead %(username)s?

app.logger.addHandler(file_handler)

Was ist der richtige Weg, um solche logger? Danke.

  • Ist 2013-10-11 15:11:47,033 [DEBUG] admin - action0 ok?
  • Das problem ist, dass ich nicht weiß, wie das einfügen admin in diese log-Meldung. %(username)s kann in jedem Ort, wenn es wichtig ist.
  • Dies wird diskutiert unter docs.python.org/3/howto/...
InformationsquelleAutor orion_tvv | 2013-10-11
Schreibe einen Kommentar