Hi Giovanni, the python fileinput module does have a read buffer, that is very handy under heavy load, but for testing you might be better off with sys.stdin.readline() Best regards, Balint On 10/21/2015 07:54 PM, Giovanni Mancuso wrote:
Hi, i wrote a program destination (in python) that parse a message and insert data in redis.
My code is: import re import fileinput import redis
r = redis.Redis(host="127.0.0.1", port=6379, db=0)
for line in fileinput.input(): tid = re.search('X-TransactionId: (.+?) ', line) #print tid.group(1) regexp_result = re.findall(" Recipient: ([A-z0-9._%+-]+@[A-z0-9.-]+)", line) for email in regexp_result: r.sadd(tid.group(1)+"_recs", email)
I configure my destination in this way: destination python_to_file { program("/usr/bin/python /etc/syslog-ng/python/Ric_acc_dest.py" flush-lines(1)); };
It works only if i send many message. If i send only one message it doesn't insert nothing in redis.
Any ideas?
--
______________________________________________________________________________ Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support/documentation/?product=syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq