Skip to main content

Just another one Python logging package.

Project description

EPYLOG

Logs are the first.

This is a simple wrapper to standard logging library for Python.

Epylog provides to send log data to different sources e.g. file, rsyslog, graylog, http, etc.

Use different loggers for different needs and manage it from one place.

build status PyPi status FOSSA Status

Installation

pip install epylog

Usage

  • Move to project root directory and create logging.cfg file:

    cd /project/root
    touch logging.cfg
    
  • Fill configuration file with you logging settings. Push to targets array everything you want to send to. And fill rules array with logger names (use * wildcard if you want) and set which targets loggers can use:

    {
      "targets": [
          {
            "name": "fl",
            "type":  "file",
            "filename": "/var/log/my_log.log"
          },
          {
            "name": "gl",
            "type":  "graylog",
            "host": "localhost",
            "port": 12202,
            "facility": "test"
          },
          {
            "name": "rsl",
            "type":  "syslog",
            "address": "localhost",
            "facility": "test"
          }
      ],
      "rules": [
          {  
            "name": "my_test_*",
            "min-level": "info",
            "write-to": "fl, gl",
            "format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
          },
          {  
            "name": "*",
             "min-level": "warning",
             "write-to": "rsl",
             "format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
          }
      ]
    }
    
  • Finally call getLogger function to initialize your logger:

    from epylog import Logger
    
    # put some code here
    
    logger = Logger.getLogger('my_test_logger')
    logger.info('Hello from %s', logger.name)
    
  • Enjoy sending your logs everywhere

Configuration reference

logging.cfg is a simple JSON object that descxribes all sources that you planning to use and associates loggers with this sources.

Targets

Tagrets are sources where can you send your logs.

...
    {
        "name": "fl",
        "type":  "file",
        ...
    }
...
Field Description
name Unique name of target
type Target type. Now availible file, watch-file, syslog, http and graylog target types
other fields Other fields associated with specific target e.g. filename, host, facility, etc.

Rules

Rules are patterns for associating user loggers with specific configuration.

...
    {  
      "name": "my_test_*",
      "min-level": "info",
      "write-to": "fl, gl",
      "format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
    }
...
Field Description
name Unique name(s) of logger given by getLogger method. Use * wildcard for applying same settings for group of loggers
min-level Minimum logging level
write-to Target names splitted by comma without whitespases that will be asociated with this logger(s)
format Log line format

License

FOSSA Status

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

epylog-0.1.33.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

epylog-0.1.33-py2.py3-none-any.whl (5.7 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file epylog-0.1.33.tar.gz.

File metadata

  • Download URL: epylog-0.1.33.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.1

File hashes

Hashes for epylog-0.1.33.tar.gz
Algorithm Hash digest
SHA256 fdba779ac3aa1923f5f8415ca91f735dc69e2bf60f283eba90f4fb90d77e9a04
MD5 074a64df4872b451533fd43e31e44870
BLAKE2b-256 78f2f584130699783043785d80cd9a90ac674e7b7b71edbe8e8f55e931e50a2a

See more details on using hashes here.

File details

Details for the file epylog-0.1.33-py2.py3-none-any.whl.

File metadata

  • Download URL: epylog-0.1.33-py2.py3-none-any.whl
  • Upload date:
  • Size: 5.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.1

File hashes

Hashes for epylog-0.1.33-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 efd7dfdbc31e227b11a3490da9358814724febc267665144f905b4fedc013389
MD5 2ab647c73b417db114a8ada02417189b
BLAKE2b-256 1143e4247031d233a41bd123141ab45c596ee16f74ccf1126d1fd7f1b91b4c5e

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