在python中编写syslog函数的正确方法是什么?
问题描述:
尽管我的努力,我一直无法弄清楚如何创建一个函数,使用python登录。不管我做什么,我都会得到一个重复的系统日志条目。在python中编写syslog函数的正确方法是什么?
def send_syslog(input):
my_logger = logging.getLogger()
my_logger.setLevel(logging.DEBUG)
handler = logging.handlers.SysLogHandler(address='/dev/log', facility=19)
my_logger.addHandler(handler)
my_logger.info("SYSTEM MESSAGE: " + str(input))
def main():
send_syslog("Everything is working okay!")
if __name__ == "__main__":
main()
我试图重新排序,写这样的,但我得到了同样的事情:
def send_syslog(input):
my_logger.info("SYSTEM MESSAGE: " + str(input))
def main():
my_logger = logging.getLogger()
my_logger.setLevel(logging.DEBUG)
handler = logging.handlers.SysLogHandler(address='/dev/log', facility=19)
my_logger.addHandler(handler)
send_syslog("Everything is working okay!")
if __name__ == "__main__":
main()
什么是写一个系统日志功能,我可以在自己的程序重复使用的正确方法?
答
你应该使用Python syslog模块:
import syslog
def main():
syslog.syslog(syslog.LOG_INFO, "Everything is working okay!")
syslog.syslog(syslog.LOG_ERR, 'This is logged at the error level.')
if __name__ == "__main__":
main()