2016-08-11 5 views
2

(Linux) 명령 줄 또는 Python을 사용하여 일부 테스트에 일부 로깅을 신속하게 삽입하려고합니다. syslogd를 다시 구성하는 등 시스템 전반에 걸친 작업을 수행하고 싶지 않습니다. 내가 수행하여 전에이 같은 짓을 한빠른 원격 로깅 시스템?

:

wget과 URL/logme 메신저 = 모듈 이름 & MSG = 그래서 hello_world

그리고 바로 서버 로그 파일을 구문 분석?. 그것은 약간 hackish이고 당신은 모든 데이터를 URL 인코딩해야합니다. 분명 누군가가 지금까지 더 나은 길을 가졌습니다.

몇 가지 원격 로깅을 빠르게 얻을 수있는 더 좋은 방법이 있습니까?

+0

시스템 전반에 걸쳐 안소니를 바꾸고 싶지 않으십니까? 그렇지 않으면 rsyslog를 로거 서버로 설정하고 python 'loggerglue'를 설정하여 클라이언트에서 원격 호스트로 로깅 할 수 있습니다. – rfkortekaas

+0

나는 loggerglue에 관해 몰랐다. 나는 루트 권한없이 설정할 수있는 것을 원한다. 비 특권 포트에서 syslog를 실행할 수 있다면 작동 할 것입니다. –

답변

3

원격 syslog 서버를 사용할 수 있습니다 : rsyslog 또는 python 패키지 loggerglue는 rfc5424 및 rfc5425에 설명 된대로 syslog 프로토콜을 구현합니다. . 1024 이상의 포트를 사용할 때 루트가 아닌 사용자로 실행할 수 있습니다.

파이썬 로깅 모듈에는 syslog 원격 로깅을 지원하는 SyslogHandler가 있습니다.

import logging 
import logging.handlers 

my_logger = logging.getLogger('MyLogger') 
my_logger.setLevel(logging.DEBUG) 

handler = logging.handlers.SysLogHandler(address = ('127.0.0.1',514)) 

my_logger.addHandler(handler) 

my_logger.debug('this is debug') 
my_logger.critical('this is critical')