您的位置:首页 > 编程语言 > Python开发

python远程发送syslog到某个机器上514端口,并注意addHandler()在循环执行时,调用只能一次

2018-03-01 10:33 941 查看
源代码

#/usr/bin/python
#encoding:utf-8
import logging
import logging.handlers  # handlers要单独import
import GetConfig
getcon=GetConfig.GetConfig()
IP=getcon[0]
Port=int(getcon[1])
logger = logging.getLogger('WebTamper')
fh = logging.handlers.SysLogHandler((IP, Port), logging.handlers.SysLogHandler.LOG_AUTH)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setFormatter(formatter)
logger.addHandler(fh)
def sendresyslog(mes):
    logger.warning(mes)
测试执行
import sendresyslog
# check_change.check()
i=0
for i in range(0,3):

    sendresyslog.sendresyslog('111111')

打印
<36>2018-03-01 10:27:59,617 - WebTamper - WARNING - 111111
<36>2018-03-01 10:28:01,619 - WebTamper - WARNING - 111111

<36>2018-03-01 10:28:03,619 - WebTamper - WARNING - 111111

注意:
logger.addHandler(fh) 只能在循环中调用一次,否则,会出现叠加式的打印
每次调用debug都会设置添加一个log handler,每个handler都会打印一次log,所有就会出现调用几次debug,就会打印几条相同的log。

<36>2018-03-01 10:27:59,617 - WebTamper - WARNING - 111111

<36>2018-03-01 10:28:01,619 - WebTamper - WARNING - 111111

<36>2018-03-01 10:28:03,619 - WebTamper - WARNING - 111111

<36>2018-03-01 10:28:01,619 - WebTamper - WARNING - 111111
<36>2018-03-01 10:28:03,619 - WebTamper - WARNING - 111111

<36>2018-03-01 10:28:01,619 - WebTamper - WARNING - 111111
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: