Skip to content

Commit

Permalink
Reorganized packaging and added manifest files
Browse files Browse the repository at this point in the history
  • Loading branch information
mattmcclean committed Feb 14, 2012
1 parent 9931b4c commit f9b4e42
Show file tree
Hide file tree
Showing 8 changed files with 32 additions and 9 deletions.
1 change: 1 addition & 0 deletions CHANGES.txt
@@ -0,0 +1 @@
v0.1, 2012-02-14 -- Initial release
2 changes: 2 additions & 0 deletions MANIFEST.in
@@ -0,0 +1,2 @@
include *.txt
recursive-include docs *.txt
15 changes: 15 additions & 0 deletions README.txt
@@ -0,0 +1,15 @@
===========
Logstash
===========

Logstash provides library for creating logstash messages from Python.
The most useful class is the Event class that formats a JSON object into
a Python class.

#!/usr/bin/env python

import logstash

event = logstash.Event(json_data)

For more information on logstash goto the website `here <http://www.logstash.net/>`_
2 changes: 2 additions & 0 deletions logstash/__init__.py
@@ -0,0 +1,2 @@
__all__ = ['Event']
from event import Event
2 changes: 1 addition & 1 deletion logstash.py → logstash/event.py
Expand Up @@ -3,7 +3,7 @@
import urlparse import urlparse
import copy import copy


class LogEvent(object): class Event(object):


def __init__(self, json_obj = None): def __init__(self, json_obj = None):
self.cancelled = False self.cancelled = False
Expand Down
File renamed without changes.
12 changes: 6 additions & 6 deletions test/test_event.py → logstash/test/test_event.py
@@ -1,13 +1,13 @@
import unittest import unittest
import json import json
import time import time
from logstash import LogEvent from logstash.event import Event


class Test(unittest.TestCase): class Test(unittest.TestCase):
"""Unit tests for logstash.""" """Unit tests for logstash."""


def test_create_new_event(self): def test_create_new_event(self):
event = LogEvent() event = Event()


self.assertEqual(event.getsource(), 'unknown') self.assertEqual(event.getsource(), 'unknown')
self.assertEqual(event.gettags(), []) self.assertEqual(event.gettags(), [])
Expand All @@ -27,7 +27,7 @@ def test_create_from_json(self):
"@timestamp" : time.strftime("%Y-%m-%dT%H:%M:%S",now), "@timestamp" : time.strftime("%Y-%m-%dT%H:%M:%S",now),
"@message" : "This is the message" "@message" : "This is the message"
}) })
event = LogEvent(data) event = Event(data)
self.assertEqual(event.getsource(), 'test01.example.com') self.assertEqual(event.getsource(), 'test01.example.com')
self.assertEqual(event.gettags(), ['tag1', 'tag2', 'tag3']) self.assertEqual(event.gettags(), ['tag1', 'tag2', 'tag3'])
self.assertEqual(event.getfields(), { "key1" : "field1", self.assertEqual(event.getfields(), { "key1" : "field1",
Expand All @@ -51,7 +51,7 @@ def test_get_fields(self):
"@timestamp" : time.strftime("%Y-%m-%dT%H:%M:%S",now), "@timestamp" : time.strftime("%Y-%m-%dT%H:%M:%S",now),
"@message" : "This is the message" "@message" : "This is the message"
}) })
event = LogEvent(data) event = Event(data)
self.assertEqual(event.get("@source"), 'test01.example.com') self.assertEqual(event.get("@source"), 'test01.example.com')
self.assertEqual(event.get("@tags"), ['tag1', 'tag2', 'tag3']) self.assertEqual(event.get("@tags"), ['tag1', 'tag2', 'tag3'])
self.assertEqual(event.get("key1"), "field1") self.assertEqual(event.get("key1"), "field1")
Expand All @@ -62,14 +62,14 @@ def test_get_fields(self):
self.assertEqual(event.get("@message"), "This is the message") self.assertEqual(event.get("@message"), "This is the message")


def test_set_source(self): def test_set_source(self):
event = LogEvent() event = Event()
event.setsource("http://www.example.com/some/path") event.setsource("http://www.example.com/some/path")


self.assertEqual(event.get("@source"), "http://www.example.com/some/path") self.assertEqual(event.get("@source"), "http://www.example.com/some/path")
self.assertEqual(event.get("@source_host"), "www.example.com") self.assertEqual(event.get("@source_host"), "www.example.com")
self.assertEqual(event.get("@source_path"), "/some/path") self.assertEqual(event.get("@source_path"), "/some/path")


event = LogEvent() event = Event()
event.setsource("www.example.com") event.setsource("www.example.com")
self.assertEqual(event.get("@source"), "www.example.com") self.assertEqual(event.get("@source"), "www.example.com")
self.assertEqual(event.get("@source_host"), "www.example.com") self.assertEqual(event.get("@source_host"), "www.example.com")
Expand Down
7 changes: 5 additions & 2 deletions setup.py
Expand Up @@ -2,10 +2,13 @@


from distutils.core import setup from distutils.core import setup


setup(name='Logstash', setup(name='logstash',
version='0.1dev', version='0.1dev',
description='Python library for Logstash', description='Python library for Logstash',
author='Matt McClean', author='Matt McClean',
author_email='matt.mcclean@gmail.com', author_email='matt.mcclean@gmail.com',
packages=['logstash',], packages=['logstash', 'logstash.test'],
license='LICENSE.txt',
description='Python library for Logstash.',
long_description=open('README.txt').read(),
) )

0 comments on commit f9b4e42

Please sign in to comment.