Remote rsyslog server records the logs of python script

Ubuntu 14.04.1 LTS

rsyslog server: 10.0.7.77

python client: 10.0.2.122

[rsyslog server]

1.Install rsyslog with apt-get

sudo apt-get install -y rsyslog 2.edit /etc/rsyslog.conf ,uncomment this line$ModLoad immark # provides –MARK– message capability# provides UDP syslog reception$ModLoad imudp$UDPServerRun 514# provides TCP syslog reception$ModLoad imtcp$InputTCPServerRun 514I will custom my log format,so comment this line:#$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat$template myFormat,"[%$NOW% %TIMESTAMP:8:15% %HOSTNAME%] %programname% %msg%\n" set "myFormat" for default tempalte

ps: You can find more format default attributes at

$ActionFileDefaultTemplate myFormat create my log file:$template DynaFile, "/var/log/falls-%$YEAR%-%$MONTH%-%$DAY%.log":programname,contains,"falls" -?DynaFile first line define template named "DynaFile" path is /var/……

second line means if programname contains "falls" then the logs will be recorded in "DynaFile" path.

3.Edit/etc/default/rsyslog,like this:

RSYSLOGD_OPTIONS=" -r514 -m 0"4.restart rsyslog serversudo service rsyslog restart check rsyslog network status:sudo netstat -anpl | grep 514 If you can see 514 port for tcp and udp ,it’s successful.

[client]creat my test.py

<pre name="code" class="python">#!/usr/bin/env python# encoding: utf-8import loggingimport logging.handlersimport randomdef test():my_logger = logging.getLogger("falls.com")my_logger.setLevel(logging.DEBUG)handler = logging.handlers.SysLogHandler(address = ('10.0.7.77',514))f = logging.Formatter('falls[10.0.0.1]: %(message)s')handler.setFormatter(f)my_logger.addHandler(handler)<span style="white-space:pre"></span>## Produce different log every time with random number for testing.i = random.randint(1,1000000)#my_logger.debug('This is a test remote log! %d' % i)my_logger.info('fuck: This is a test remote log! %d' % i)if __name__ = '__main__':<span style="white-space:pre"></span>test()when run test.py,it write a log at rsyslog server:/var/log/falls-DATE.log , the content like this:[2015-02-08 04:17:55 ip-10-0-2-122] falls fuck: This is a test remote log! 344963

,就是去旅行。牵着彼此的手,

Remote rsyslog server records the logs of python script

相关文章:

你感兴趣的文章:

标签云: