2016-10-10 109 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() 
相關問題