Skip to main content

A proxy for python UDP/TCP logging to loggly

Project description

Py2Loggly is a proxy server listening on UDP and TCP for messages coming from python’s UDP/TCP logging handler, it will forward all these messages to loggly.com.

Installation

Install dependencies

py2loggly only depends on gevent

Install py2loggly

From sources

$ python setup.py install

From Pypi

$ pip install py2loggly

Usage

Starting the server

The only required parameter is --loggly-token to provide your loggly TOKEN.

$ py2loggly --loggly-token $LOGGLY_TOKEN

The default TCP port is 9020 and the default UDP port is 9021.

Parameters

usage: py2loggly [-h] [-v] [--bind-ip IP] [--tcp-port PORT] [--udp-port PORT]
                 [--fqdn] [--hostname HOSTNAME] --loggly-token TOKEN
                 [--tags TAG1 TAG2 [TAG1 TAG2 ...]]

Proxy for python UDP/TCP logging to loggly

optional arguments:
  -h, --help            show this help message and exit
  -v, --version         show program's version number and exit
  --bind-ip IP          IP address to listen on
  --tcp-port PORT       TCP port to listen on
  --udp-port PORT       UDP port to listen on
  --fqdn                Use the fully qualified domain name
  --hostname HOSTNAME   Use the provided hostname instead of guessing it.
  --loggly-token TOKEN  the loggly TOKEN.
  --tags TAG1 TAG2 [TAG1 TAG2 ...]
                        Tags for the event message

Sending messages to py2loggly

You can either use SockerHandler or DatagramHandler from python’s logging.handlers

The biggest advantage to use DatagramHandler is that logging won’t slow down your application and if py2loggly is not running, it won’t impact your application.

So the recommended setup is to run py2loggly locally on each server and use the DatadgramHandler.

Example

import logging, logging.handlers

rootLogger = logging.getLogger('')
rootLogger.setLevel(logging.DEBUG)
socketHandler = logging.handlers.SocketHandler('localhost',
                    logging.handlers.DEFAULT_TCP_LOGGING_PORT)
# don't bother with a formatter, since a socket handler sends the event as
# an unformatted pickle
rootLogger.addHandler(socketHandler)

# Now, we can log to the root logger, or any other logger. First the root...
logging.info('Jackdaws love my big sphinx of quartz.')

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py2loggly-1.1.2.tar.gz (5.4 kB view details)

Uploaded Source

File details

Details for the file py2loggly-1.1.2.tar.gz.

File metadata

  • Download URL: py2loggly-1.1.2.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for py2loggly-1.1.2.tar.gz
Algorithm Hash digest
SHA256 3764ad0931decea9939e54e4c494a1831ae3b305fa8a27f69068b8e88c1824eb
MD5 a28eafd7b86407da2dd6d55e9ba5cf9a
BLAKE2b-256 e29c7c8028ab6521bb21dd32d7f27e5218b6feb0aaf02621d110ce38e369e708

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page