Question

J'essaie de faire des recherches sur Google (en boucle toutes les 5 minutes environ). Quand il obtient un coup, je veux qu'il pousse les résultats vers un serveur Syslog. Je suis très nouveau à Python, alors pardonnez à l'ignorance, j'ai cherché des siècles et je ne trouve pas de réponse à ma question.

J'ai l'intention d'ajouter plusieurs requêtes à la recherche de résultats diffirents en fonction des résultats de la requête que Logevent diffère.

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

Je voudrais que la sortie soit par exemple comme: type de journal, URL, date / heure

Vous trouverez ci-dessous le code avec lequel je jouais jusqu'à présent. Je peux rechercher et me connecter à un fichier, mais pas comment je voudrais. Je n'obtiens que le formatage pour le temps et le type pair, je n'obtiens pas mes résultats de requête dans le journal. Et je ne sais pas comment connecter à un serveur 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'])

Je comprends: Fichier "gog.py", ligne 18 logger.addhandler (logging.fileHandler ("hits.log")) ^ syntaxerror: syntaxe non valide

Était-ce utile?

La solution

Vous pouvez configurer le module de journalisation pour sortir vers Syslog, voir http://docs.python.org/library/logging.handlers.html#sysloghandler

Exemple simple:

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")

Les journaux ci-dessus au syslog local à l'aide d'une prise de domaine Unix. Vous pouvez également spécifier un nom d'hôte pour vous connecter à syslog à l'aide d'UDP. Voir les documents pour plus d'informations.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top