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 better-file-logger

Usage

from better_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,
is_console_only=False,
is_null_handler=False,
is_rolling_handler=False,
process: str = None,
  • To create a console-only handler, pass an empty string for the first argument, and set is_console_only to True.

  • 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.4.tar.gz (4.3 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.4-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: simple-file-logger-0.1.4.tar.gz
  • Upload date:
  • Size: 4.3 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.4.tar.gz
Algorithm Hash digest
SHA256 7b0e5c9357af467bec78db525308fb0af4affd948299ab7994e6f05cff6fa95b
MD5 c6045756b780032033816547b46082fd
BLAKE2b-256 d9c8490329f0c4829ed82047e364f4c77f428043647f0651cca192ca52f7de84

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simple_file_logger-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 c8b7c53bc77a95881504e5068a6874033933f17c4fb69261bafcaf63b124cb67
MD5 724512ad3dbf055062bbbaa59ad5a19f
BLAKE2b-256 5f3dfaab7d88f1ecdcdd2092b85249518cd732185c639597c159325b3573cd18

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