Metadata-Version: 2.0
Name: dnif
Version: 1.0.2
Summary: DNIF Logging Client Library
Home-page: https://github.com/dnif/dnif-logger
Author: Bhumil Haria
Author-email: bhumilharia@gmail.com
License: Apache
Keywords: dnif logging analytics
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Requires-Dist: requests (>=2.4.2)

dnif-logger
===========

This is the official Python DNIF client library. This allows you to
directly write log statements into your application code and integrate
it with DNIF Adapters.

Installation
------------

You can download the library using pip, as:

.. code:: sh

    $ pip install dnif

Getting Started
---------------

The DNIF library currently supports two ingestion mechanisms: 1. TCP
protocol uploads using the HTTP(S) endpoint 2. Uploads using the UDP
protocol

Typical usages for both of these are given below.

TCP
~~~

.. code:: python

    from dnif.consumer import AsyncHttpConsumer
    from dnif.logger import DnifLogger
    dlog = DnifLogger(AsyncHttpConsumer('http://TARGET_IP:PORT/json/receive'))
    dlog.log({'key': 'value'})

The AsyncHttpConsumer is thread-safe, so you can use the same instance
across threads (recommended).

UDP
~~~

.. code:: python

    from dnif.consumer import AsyncUDPConsumer
    from dnif.logger import DnifLogger
    dlog = DnifLogger(AsyncUDPConsumer('UDP_IP', UDP_PORT))
    dlog.log('Hello World')

The AsyncUDPConsumer is thread-safe, so you can use the same instance
across threads (recommended).

