syslogサーバーにログを記録し、メッセージをフォーマットするために 'logging.Formatter'を使用するメソッドを作成しました。しかし、それはFormatter
が私のsyslogメッセージに追加のテキストを追加しているようで、私はそれを取り除く方法がわかりません。python logging.Formatterメッセージに追加の値を追加する
ここlogger.py
にあります方法です:
import logging
import logging.handlers
import os
def sendLog(msg):
address = "192.168.1.200"
port = 514
syslogger = logging.getLogger("app_processing LEVEL='{}'".format(os.environ['ENV']))
syslogger.setLevel(logging.DEBUG)
# f = ContextFilter()
# syslogger.addFilter(f)
handler = logging.handlers.SysLogHandler(address=(address, port))
formatter = logging.Formatter("%(asctime)s %(name)s %(message)s", datefmt='%m/%d/%Y %H:%M:%S')
handler.setFormatter(formatter)
syslogger.addHandler(handler)
syslogger.debug(msg)
そして、私は他のモジュールからそれを呼んでいる:
:結果がサーバにログインしていたときに、しかしlogger.sendLog("FUNCTION='get_inventory_db' MESSAGE='Retrieving inventory information'")
2017-10-20 14:48:35 -04:00 192.168.1.101 192.168.1.101 user.debug 10/20/2017 18:48:35 app_processing LEVEL='development' FUNCTION='get_inventory_db' MESSAGE='Retrieving inventory information'
2017-10-20 14:48:35 -04:00 192.168.1.101 192.168.1.101 user.debug
e syslogメッセージの開始。
私は次のように出力を期待している:
10/20/2017 18:48:35 app_processing LEVEL='development' FUNCTION='get_inventory_db' MESSAGE='Retrieving inventory information'
は私が正しくフォーマッタを使用していませんか?
これは良いことです...私は反対側からアプローチします。 – Godzilla74