Skip to main content

A lightweight Python logging wrapper that simplifies Python's standard logging module

Project description

Simplified Logger

A lightweight Python logging wrapper that simplifies the use of Python's standard logging module. This library provides an easy-to-use interface for logging to both console and files with minimal configuration.

Features

  • Simple API: Clean and intuitive methods for all log levels
  • File & Console Logging: Support for both file and console handlers
  • Formatted Output: Pre-configured formatting with timestamps and log levels
  • Auto Directory Creation: Automatically creates log directories if they don't exist
  • Duplicate Prevention: Built-in checks to prevent duplicate handler initialization
  • Multiple Log Levels: Support for INFO, DEBUG, WARNING, ERROR, and CRITICAL levels

Installation

Clone the repository or copy the lib/standard-logger.py file to your project:

pip install simplified-logging

Or simply download the file and place it in your project directory.

Usage

Basic Example

from std_log import Logger

# Initialize the logger
logger = Logger(name="app.log", dir="logs")

# Add console handler (outputs to terminal)
logger.console_handler()

# Add file handler (writes to file)
logger.file_handler()

# Log messages at different levels
logger.info("Application started successfully")
logger.debug("Debugging information")
logger.warn("This is a warning message")
logger.error("An error occurred")
logger.critical("Critical system failure")

Console-Only Logging

from std_log import Logger

logger = Logger(name="console.log", dir="logs")
logger.console_handler()

logger.info("This will only appear in the console")

File-Only Logging

from std_log import Logger

logger = Logger(name="app.log", dir="logs")
logger.file_handler()

logger.info("This will only be written to .logs/app.log")

Custom Log Directory

from std_log import Logger

# Logs will be stored in .my-logs/application.log
logger = Logger(name="application.log", dir="my-logs")
logger.file_handler()

Recommended Pattern

from std_log import Logger

class AppWatcher(Logger):
    def __init__(self, name: str, dir:Optional[str] = None, level: int = 0):
        super().__init__(dir = dir or 'logs', name=f"{self.__class__.__name__} -- {name}.log")

logger = AppWatcher(name="service.log", dir="logs")
logger.console_handler()
logger.file_handler()

logger.info("Service started")

API Reference

Logger Class

__init__(name: str, dir: str)

Initialize a new logger instance.

  • name: Name of the log file (e.g., "app.log")
  • dir: Directory name where logs will be stored (prefix with '.' automatically added)

console_handler() -> None

Adds a console handler to output logs to the terminal/console.

file_handler() -> None

Adds a file handler to write logs to a file. Creates the directory if it doesn't exist.

info(message: str)

Logs an informational message (INFO level).

debug(message: str)

Logs a debug message (DEBUG level). Useful for detailed diagnostic information.

warn(message: str)

Logs a warning message (WARNING level).

error(message: str)

Logs an error message (ERROR level).

critical(message: str)

Logs a critical message (CRITICAL level). For severe errors that may cause application failure.

Log Format

The logger uses the following format for all messages:

%(asctime)s - %(levelname)-8s - %(name)s - %(message)s

Example output:

2026-03-09 10:30:45,123 - INFO     - app.log - Application started successfully
2026-03-09 10:30:46,456 - WARNING  - app.log - This is a warning message
2026-03-09 10:30:47,789 - ERROR    - app.log - An error occurred

Requirements

  • Python 3.7+
  • No external dependencies (uses standard library only)

Project Structure

simplified-logger/
├── .git/
├── .github/
├── .vscode/
├── LICENCE
├── README.md
├── pyproject.toml
└── std_log/
    ├── __init__.py
    └── standard-logger.py

License

Licence

Author

krigjo25 - krigjo25@gmail.com

Support

If you encounter any issues or have questions, please open an issue on the GitHub repository.

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

simplified_logging-1.0.13.4.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

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

simplified_logging-1.0.13.4-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file simplified_logging-1.0.13.4.tar.gz.

File metadata

  • Download URL: simplified_logging-1.0.13.4.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for simplified_logging-1.0.13.4.tar.gz
Algorithm Hash digest
SHA256 79d8b127760900d7c83493e554d10d0b04582c0b9ab0426ebcb2d344692612d6
MD5 8b9c55f7eaff48f2f1114cac74fb4e91
BLAKE2b-256 51c99446e545d4276089764d93750367b8006ec9f8e9ce9971026488df1fa9b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for simplified_logging-1.0.13.4.tar.gz:

Publisher: publish-package-pypi.yml on krigjo25/simplified-logger

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simplified_logging-1.0.13.4-py3-none-any.whl.

File metadata

File hashes

Hashes for simplified_logging-1.0.13.4-py3-none-any.whl
Algorithm Hash digest
SHA256 8a482f0351f8de4b1af014b6d3b252431646a3f4f9f4398e5910045e2ef14256
MD5 f58a4afe78cae8d272e0b7ea80063424
BLAKE2b-256 9c694a3bc088f5da8b6a43a323cb2d36727d30a34d420cc4f8ff4a56929d0471

See more details on using hashes here.

Provenance

The following attestation bundles were made for simplified_logging-1.0.13.4-py3-none-any.whl:

Publisher: publish-package-pypi.yml on krigjo25/simplified-logger

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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