Вопрос

Я пытаюсь сделать некоторые поиск в Google (зацикливается на каждые 5 минут или около того). Когда он получает удар, я хочу, чтобы он выдвинул результаты на сервер системного журнала.Я очень новый Python, поэтому, пожалуйста, прости невежество, я искал веков и не могу найти ответ на мой вопрос.

Я намерен добавлять несколько запросов, которые ищут разные результаты в зависимости от результатов запроса, который не работает.

WARN "possible hit"
CRITICAL "definatly a hit"
etc
.

Я хотел бы, например, вывод, например: Тип журнала, URL, Дата / время

Ниже приведен код, с которым я играл с до сих пор.Я могу искать и войти в файл, но не как я хотел бы.Я получаю только форматирование времени и даже типом, я не получаю приводу в журнал.И я понятия не имею, как войти в системный журнал.

#!/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: Неверный синтаксис

Это было полезно?

Решение

Вы можете настроить модуль ведения журнала для вывода в Syslog, см. http://docs.cython.org/Library/logging.handlers.html#sysloghandler

Простой пример:

from logging.handlers import SysLogHandler
import logging

logger = logging.getLogger()
logger.addHandler(SysLogHandler('/dev/log'))
logger.addHandler(logging.FileHandler("filename.log"))

logging.warn("Hello world")
.

Приведенные выше журналы к локальному системному журналу с использованием розетки домена Unix.Вы также можете указать имя хоста для входа в системный журнал, используя UDP.Смотрите документы для получения дополнительной информации.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top