Skip to main content

Simple Logging Config

Project description

Overview

tests codecov Docs PyPI PyPI - License

Installation

With Pip:

pip install simple_logging_config

Usage

The simple_logging_config package provides a simplified logging configuration.

To use with the default configuration, only 2 lines of code are required.

from simple_logging_config import configure_logging

configure_logging()

Or

from simple_logging_config import SimpleLoggingConfig

SimpleLoggingConfig()

This will enable info level logging to the console and debug level logging to a file.

Information logged to the console is just the log message with no additional detail.
Information logged to file includes the timestamp, log_level, module and message

For a slightly more complex usecase, using a few additional lines of code, configure_logging is configurable using command line parameters.

# myscript.py

from argparse import ArgumentParser
from simple_logging_config import configure_logging, add_logging_arguments

parser = ArgumentParser(description="Test Program")
add_logging_arguments(parser)
args = parser.parse_args()

configure_logging(**vars(args))

Your script will now accept additional CLI paramaters to configure logging at runtime as shown below.

usage: myscript.py [-h] [-v | --slc-level LEVELS] [--slc-modules [MODULES ...]] [--slc-log-file-path LOG_FILE_PATH]
               [--slc-backup-count BACKUP_COUNT] [--slc-config {dual,dual_rotating,dual_detailed,console,file,rotating_file}]      

Test Program

options:
  -h, --help            show this help message and exit
  -v, --verbose         The level of logging verbosity for the default handler. Use multiple times (up to -vvv) for increased      
                        verbosity.
  --slc-level LEVELS, --slc-levels LEVELS
                        The log level(s) to be applied to attached handlers. This value can be a single integer or a string        
                        representing a defined log level. Or it can be a string representing a dictionary where key/value pairs    
                        are handler names and the log level to be associated with that handler
  --slc-modules [MODULES ...]
                        The names of the modules to be logged. If omitted all modules are logged.
  --slc-log-file-path LOG_FILE_PATH
                        The path the log file will be saved to. If this is a folder, the log file will be saved to this folder     
                        with the file name derived from the name of the calling script. Otherwise, assume this is a full path to   
                        a named log file.
  --slc-backup-count BACKUP_COUNT
                        An integer specifying The number of backup log files to retain.
  --slc-config {dual,dual_rotating,dual_detailed,console,file,rotating_file}
                        The name of the logging config to be used.

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

simple_logging_config-0.0.2.tar.gz (13.9 kB view hashes)

Uploaded Source

Built Distribution

simple_logging_config-0.0.2-py3-none-any.whl (14.6 kB view hashes)

Uploaded Python 3

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