Support logstash logging.

Adds new --logstash=HOST:PORT option. All log info will be sent
to this logstash server.

Change-Id: Iddfba31ff264da609c30e1cecbd38897bb1e2c3d
This commit is contained in:
David Shrewsbury 2013-06-17 15:41:59 -04:00
parent 8227dea6de
commit 8a7264f638
2 changed files with 10 additions and 0 deletions

View File

@ -14,6 +14,7 @@
import argparse
import logging
import logging.handlers
import logstash
import os
import os.path
import sys
@ -159,6 +160,10 @@ class Options(object):
),
help='log file to use (ignored with --nodaemon)'
)
self.parser.add_argument(
'--logstash', dest='logstash', metavar="HOST:PORT",
help='send logs to logstash at "host:port"'
)
self.parser.add_argument(
'--user', dest='user',
help='user to use for daemon mode'
@ -208,6 +213,10 @@ def setup_logging(name, args):
handler = logging.handlers.SysLogHandler(address=args.syslog_socket,
facility=args.syslog_facility)
handler.setFormatter(simple_formatter)
elif args.logstash:
logstash_host, logstash_port = args.logstash.split(':')
handler = logstash.LogstashHandler(logstash_host, int(logstash_port))
handler.setFormatter(ts_formatter)
elif logfile:
handler = CompressedTimedRotatingFileHandler(
logfile, when='D', interval=1, backupCount=7

View File

@ -2,6 +2,7 @@ eventlet
gearman>=2.0.2
pbr>=0.5.12
python-daemon>=1.6
python-logstash
python_novaclient>=2.11.1
python_swiftclient>=1.3.0
requests>=1.0.0