Python应用程序输出到syslog服务器
-
12-11-2019 - |
题
我正在尝试在谷歌上进行一些搜索(每5分钟左右循环)。 当它获得一个命中时,我希望它将结果推向Syslog服务器。我对Python非常新的,所以请原谅无知,我已经搜索了年龄,找不到我的问题的答案。
我打算添加多个查询的查询,根据查询结果,Logevent不同。
WARN "possible hit"
CRITICAL "definatly a hit"
etc
.
我希望输出为例: 日志类型,URL,日期/时间 以下是我到目前为止正在玩的代码。我可以搜索和登录文件,但不是我想要的。我只会获得时间和偶数类型,我没有让我的查询结果在日志中。而且我不知道如何登录syslog服务器。
#!/usr/bin/python
import urllib
import simplejson, logging
query = urllib.urlencode({'q' : 'SEARCHTERMHERE'})
url = 'http://ajax.googleapis.com/ajax/services/search/web?v=1.0&%s' \ % (query)
search_results = urllib.urlopen(url)
json = simplejson.loads(search_results.read())
results = json['responseData']['results']
for i in results:
logging.basicConfig(format='%(asctime)s %(message)s', filename='hits.log')
logging.warning ('Likley hit')
print i['url']
#!/usr/bin/python
import urllib
import simplejson
import logging
from logging.handlers import SysLogHandler
query = urllib.urlencode({'q' : 'SEARCHTERMHERE'})
url = 'http://ajax.googleapis.com/ajax/services/search/web?v=1.0&%s' \
% (query)
search_results = urllib.urlopen(url)
json = simplejson.loads(search_results.read())
results = json['responseData']['results']
for i in results:
print i['url']
logger = logging.getLogger()
logger.addHandler(SysLogHandler(address=('192.168.0.2', 514), facility=LOG_USER, socktype=socket.SOCK_DGRAM)
logger.addHandler(logging.FileHandler("hits.log"))
logging.warn("likley Hit: " + i['url'])
.
我得到: 文件“gog.py”,第18行 logger.addhandler(logging.fileHandler(“hits.log”)) ^ SyntaxError:语法无效
解决方案
不隶属于 StackOverflow