2016-10-10 2 views
0

제 노력에도 불구하고 파이썬으로 로그인 할 때 사용할 수있는 함수를 만드는 방법을 찾을 수 없었습니다. 무슨 일이 있어도 중복 된 syslog 항목이 있습니다.파이썬에서 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

당신은 파이썬 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() 
관련 문제