Skip to main content

A simple logger class to log to files

Project description

Simple File Logger

This python package provides a Logger class which is easy to use for basic logging to files.

Install

pip install simple-file-logger

Usage

from simple_file_logger import Logger

logger = Logger("my_log_file", "path/to/log/directory")
logger.info("Hello!")

# writes to `my_log_file_YYYYMMDD_HHMM_SS.log`
# 2022-01-26 11:57:14,182 - INFO - Hello!

The constructor provides various options to configure the logger.

logfile_name: str,
log_dir: Union[Path, str, None]=None,
level=logging.DEBUG,
mode="w",
add_timestamp_to_filename=True,
log_to_console=False,
is_null_handler=False,
is_rolling_handler=False,
process: str = None,
  • To disable to console in addition to the file (default behavior), pass log_to_console=False.

  • The is_rolling_handler parameter controls whether the logger automatically writes to a new file when the existing one becomes larger than 5mb. It will archive the current log with a serial number and transition to a new file automatically. The limit of archived files is 5 so the oldest one will get deleted when archiving for the 6th time.

  • The is_null_handler parameter initializes a logger that does nothing. This is useful for unit testing libraries where functions log messages but you don't want any actual logging to take place.

  • The process parameter is a little addition to provide some info about what process the currently running script represents. It can be any arbitrary string, such as downloading_data or monitoring_files etc. This process will also appear on each log line. As the script executes, you can set the process in the logger object to a new value. This is helpful for producing files which facilitate easy line extraction related to a specific process when the file is big.

    logger.process = "downloading_file"
    # ... logic to download some file which does some logging.
    # The lines will have `downloading_file` before the log message.
    
    # update file contents
    logger.process = "update_contents"  # set process to indicate the context of log messages to follow
    
    # ... logic to update file contents and do some logging.
    
    # no need for further process logs, and just want to log messages.
    logger.process = ""  # prevents addition of process string to log message.
    

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-file-logger-0.1.6.tar.gz (4.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

simple_file_logger-0.1.6-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

Details for the file simple-file-logger-0.1.6.tar.gz.

File metadata

  • Download URL: simple-file-logger-0.1.6.tar.gz
  • Upload date:
  • Size: 4.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.11 CPython/3.9.10 Windows/10

File hashes

Hashes for simple-file-logger-0.1.6.tar.gz
Algorithm Hash digest
SHA256 f47cb8f03e1d07f429770074bef47c937e053cd9b7008890054d0b6f256826af
MD5 6167f85bd7545b46155f0c8362704244
BLAKE2b-256 a7b42e8d36fa500de69367e911d444274a8d50915b3a76a8fe2fb2980808b523

See more details on using hashes here.

File details

Details for the file simple_file_logger-0.1.6-py3-none-any.whl.

File metadata

File hashes

Hashes for simple_file_logger-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 cbf6ea99d04eeee20d0f85d9d33bdcd6680ccff2560ceacdcdc79779a0308046
MD5 0052b246f86a6dfdcce0f95dab2e30b4
BLAKE2b-256 f9c74cca787b927c28b57d08477cacc20281b530fac10a9d81e953a91c964eb2

See more details on using hashes here.

Supported by

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