6
我正在使用python sysloghander將日誌發送到集中式syslog服務器。代碼正在工作,但我在定製格式時遇到了一些問題。以下是我寫的代碼。如何在python sysloghandler中設置自定義應用程序名稱
#!/usr/bin/python
import logging
from logging.handlers import SysLogHandler
import subprocess
hostname = subprocess.check_output(['hostname', '-f'])
logger = logging.getLogger()
logger.setLevel(logging.INFO)
syslog = SysLogHandler(address=('log.central.log', 514))
formatter = logging.Formatter('%(asctime)s %(name)s: %(levelname)s %(message)s', '%b %e %H:%M:%S')
syslog.setFormatter(formatter)
logger.addHandler(syslog)
logger.info("My Message")
是否可以在日誌格式化程序中添加自定義標記/變量。我想添加主機名和app_name,因爲我已經設置了中央日誌記錄服務器來根據主機名和app_name創建日誌文件。
App_name可以是任何東西,例如我可以將app_name設置爲「mysql_communication_log」或「wsgi_log」,然後在中央服務器上創建具有相同名稱的單獨文件。
我所尋找的是類似
formatter = logging.Formatter('%(asctime)s %(hostname)s %(app_name)s: %(message)s', '%b %e %H:%M:%S')