Skip to main content

logging stream server written on gevent

Project description

logging server written on gevent

Run log server:

from netlog import Server
Server('./logs', 5010).start()

If you don’t need blocking in .start() line:

Server('./logs', 5010).start(blocking=False)

Simple way to run as daemon:

python -c "import netlog; netlog.Server('./logs', 5010').start()" &

Usage from clients:

from netlog import Client
client = Client('127.0.0.1', 5010, 'logname')
client.send('qwe asd')
client.send('ert\n dfg')    # may be multiline
client.close()              # or del client

Features:

  • put to one log file from many client processes
  • save in binary format .tar.gz, use zcat and zgrep for read
  • unlimited size of log string
  • rotation by date
  • automatic delete old logs

TODO:

  • realize rotator :)
  • fetch Ctrl+C and -9 signals for flush before exit
  • udp transfer (maybe, only after v1.0)
  • implement logging.handlers.SocketHandler protocol (maybe, only after v1.0)

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

netlog-0.5.5.tar.gz (2.8 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page