diff --git a/logstash/formatter.py b/logstash/formatter.py index f5c4424..e4ec2d3 100644 --- a/logstash/formatter.py +++ b/logstash/formatter.py @@ -3,6 +3,7 @@ import socket import sys from datetime import datetime + try: import json except ImportError: @@ -10,7 +11,6 @@ class LogstashFormatterBase(logging.Formatter): - def __init__(self, message_type='Logstash', tags=None, fqdn=False): self.message_type = message_type self.tags = tags if tags is not None else [] @@ -28,7 +28,8 @@ def get_extra_fields(self, record): 'funcName', 'id', 'levelname', 'levelno', 'lineno', 'module', 'msecs', 'msecs', 'message', 'msg', 'name', 'pathname', 'process', 'processName', 'relativeCreated', 'thread', 'threadName', 'extra', - 'auth_token', 'password') + 'auth_token', 'password' + ) if sys.version_info < (3, 0): easy_types = (basestring, bool, dict, float, int, long, list, type(None)) @@ -82,7 +83,8 @@ def serialize(cls, message): if sys.version_info < (3, 0): return json.dumps(message) else: - return bytes(json.dumps(message), 'utf-8') + return str(json.dumps(message)) + class LogstashFormatterVersion0(LogstashFormatterBase): version = 0 @@ -115,7 +117,6 @@ def format(self, record): class LogstashFormatterVersion1(LogstashFormatterBase): - def format(self, record): # Create message dict message = { diff --git a/logstash/handler_tcp.py b/logstash/handler_tcp.py index cc687bd..bb945a2 100644 --- a/logstash/handler_tcp.py +++ b/logstash/handler_tcp.py @@ -22,4 +22,4 @@ def __init__(self, host, port=5959, message_type='logstash', tags=None, fqdn=Fal self.formatter = formatter.LogstashFormatterVersion0(message_type, tags, fqdn) def makePickle(self, record): - return self.formatter.format(record) + b'\n' + return self.formatter.format(record) + '\n' diff --git a/setup.py b/setup.py index 3329e91..522066e 100644 --- a/setup.py +++ b/setup.py @@ -2,6 +2,7 @@ setup( name='python-logstash', packages=['logstash'], + install_requires=['pika'], version='0.4.7', description='Python logging handler for Logstash.', long_description=open('README.rst').read(),