ScribeHandler ist eine einfache Proxy-Schicht, die mit der Standard-Python-Logging-Modul arbeitet. Es wirkt aa-Handler-Objekt, das an einen Logger in üblicher Weise hinzugefügt wird.
Wichtige Bits:
Beim Instanziieren des Handler, werden Sie wollen, um die Verbindung zur Einstellung beschrieben angeben. Die folgenden Schlüsselwort-Argumente werden reconized (und Standardwerte):
Argument & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Default
---------------------------
Gastgeber & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 127.0.0.1
Port & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; 1463
Kategorie & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; % (Hostname) s -% (loggername) s
Transport & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ScribeHandler.FRAMED
uri & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Keiner
- Host und Port, sollte klar sein,
- Wird der Transport, dann ScribeHandler.FRAMED
& Nbsp; & nbsp; & nbsp; thrift.transport.TTransport.TFramedTransport () verwendet wird.
- Wird der Transport, dann ScribeHandler.BUFFERED
& Nbsp; & nbsp; & nbsp; thrift.transport.TTransport.TBufferedTransport () verwendet wird.
- Wenn Verkehr ist dann ScribeHandler.HTTP
& Nbsp; & nbsp; & nbsp; thrift.transport.THttpClient.THttpClient () wird verwendet und uri darf nicht
& Nbsp; & nbsp; & nbsp; Keiner
- Wenn Verkehr ist None dann können Sie jede akzeptable Thrift / Scribe zuweisen
& Nbsp; & nbsp; & nbsp; Transport über
& Nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ScirbeHandler.transport =
wobei
. - Kategorie in die Kategorie Parameter scribe.LogEntry () Objekt & nbsp übersetzt; Es sollte ein Standard-Format-String mit Mapping-Schlüssel. Im Folgenden sind die reconized Kartierschlüssel:
& Nbsp; & nbsp; & nbsp; Key Name & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Quelle
& Nbsp; & nbsp; & nbsp; ----------------------
& Nbsp; & nbsp; & nbsp; Modul & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; logging.LogRecord.module
& Nbsp; & nbsp; & nbsp; levelname & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; logging.LogRecord.levelname
& Nbsp; & nbsp; & nbsp; loggername & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; logging.LogRecord.name
& Nbsp; & nbsp; & nbsp; Process & nbsp; & nbsp; & nbsp; & nbsp; logging.LogRecord.processName
& Nbsp; & nbsp; & nbsp; Hostname & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; socket.gethostname ()
Hier ist ein einfaches Beispiel, wie man es benutzt:
Import Protokollierung
Import ScribeHandler
mylogger = logging.getLogger ('ScribeLogger')
mylogger.setLevel (logging.DEBUG)
Handler = ScribeHandler.ScribeHandler (Kategorie = '% (hostname) s -% (levelname) s', file_buffer = '/ tmp / LogBuffer')
mylogger.addHandler (handler)
mylogger.debug ('Material geschieht')
Anforderungen :
- Python
Kommentare nicht gefunden