2016-08-11 3 views
2

Я хочу, чтобы быстро вставить некоторые записи в некоторые тесты, используя либо (Linux) командную строку, либо Python. Я не хочу делать ничего системного (например, переконфигурировать syslogd).Быстрая дистанционная система регистрации?

Я сделал что-то подобное раньше, выполнив:

Wget URL/logme им = module_name & тзд = hello_world

А потом просто разбора лог-файл сервера?. Это немного хаки, и вы должны URL-кодировать все ваши данные. Наверняка у кого-то есть лучший способ.

Есть ли лучший способ быстро получить удаленный журнал?

+0

Вы не хотите менять Антони с обеих сторон по ширине? В противном случае вы можете настроить rsyslog как сервер журнала и python 'loggerglue' для регистрации с клиента на удаленный хост. – rfkortekaas

+0

Я не знал о loggerglue, что могло бы помочь. Я хочу что-то, что я могу настроить без прав root. Если я могу запустить syslog на не привилегированном порту, это должно сработать. –

ответ

3

Вы можете использовать удаленный сервер syslog: rsyslog или пакет python loggerglue реализует протокол syslog, как описано в rfc5424 и rfc5425. , Когда вы используете порт выше 1024, вы можете запускать его как пользователь без полномочий root.

Внутри модуля регистрации python у вас есть SyslogHandler, который также поддерживает удаленное ведение журнала syslog.

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')