2016-10-10 113 views
0

尽管我的努力,我一直无法弄清楚如何创建一个函数,使用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() 

什么是写一个系统日志功能,我可以在自己的程序重复使用的正确方法?

回答

0

你应该使用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() 
相关问题