Pythonロガーの使用私は2つのハンドラを持っています。ロギングを 'main'に設定すると、logger.handler変数にハンドラが設定されていないことがわかります。代わりに、syslogのルートハンドラを使用します。指定されたハンドラを使用しないPythonログ
以下は使用中のコードと構成のコピーです。
コード:
def load_config(self):
logging.config.fileConfig('/etc/msdb/integration/logging.conf')
log = logging.getLogger('main')
log.debug("Hello")
設定:
[loggers]
keys=root,props,main,thread,rabbit,blockchain
[handlers]
keys=file,syslog
[formatters]
keys=simple
[logger_root]
level=DEBUG
handlers=syslog
[logger_props]
level=DEBUG
handlers=file
qualname=Properties
propagate=0
[logger_main]
level=DEBUG
handlers=file
qualname=Main
propagate=0
[logger_thread]
level=DEBUG
handlers=file
qualname=Thread
propagate=0
[logger_rabbit]
level=DEBUG
handlers=file
qualname=RabbitMQ
propagate=0
[logger_blockchain]
level=DEBUG
handlers=file
qualname=BigChainDB
propagate=0
[handler_file]
class=logging.handlers.RotatingFileHandler
level=NOTSET
formatter=simple
args=('/var/log/msdb/msdb.intergration.log','a', 100000, 1, 'utf8')
[handler_syslog]
class=StreamHandler
level=DEBUG
formatter=simple
args=(sys.stdout,)
[formatter_simple]
format=%(asctime)s - %(levelname)%s - %(threadName)%s - %(filename)s:%(lineno)d - %(message)s
datefmt=
ありがとうございました!私の頭を何時間も傷つけていた、それはとても単純なものだとは信じられない! –