我試圖在谷歌上進行一些搜索(每5分鐘左右循環)。 當它得到一個命中時,我希望它將結果推送到系統日誌服務器。我對Python非常陌生,所以請原諒無知,我已經搜索了很多年,並且找不到我的問題的答案。Python應用程序輸出到系統日誌服務器
我打算添加多個查詢,根據logevent不同的查詢結果尋找不同的結果。
WARN "possible hit"
CRITICAL "definatly a hit"
etc
我想輸出是例如像: 日誌類型,網址,日期/時間
下面是我一直在玩到目前爲止的代碼。我可以搜索並登錄到一個文件,但不是我想如何。我只得到時間格式和偶數類型,我沒有在日誌中獲得我的查詢結果。我不知道如何登錄到系統日誌服務器。
#!/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」)) ^ 語法錯誤:無效的語法
感謝您的快速反應,我已經看到了,但要誠實地告訴您,我正在努力讓它滿足您的需求。你能舉個例子嗎?我看不出如何將結果存入日誌並將其發送到系統日誌服務器 – H20
因此,您想要同時登錄文件和系統日誌服務器嗎?在這種情況下,添加兩個處理程序。 – codeape
感謝您指出SysLogHandler生病從這裏仔細看,你能讓我知道我將如何得到我的結果到日誌中?例如logging.warn('網址') – H20