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.
You can download the library using pip, as:
$ pip install dnif
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.
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).
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).