Skip to main content

LupinDental logger

Project description

Lupin Logger

Build Status Code Style: Flake8 Last Release License: MIT Coverage

A custom logging system for LupinDental with colored console output and structured JSON logging.

Features

  • Colored console output with visual formatting based on log level
  • Structured JSON logs saved to .lupinlogs.jsonl files
  • Custom attributes with automatic type-based coloring
  • Custom NOTICE level (between INFO and WARNING)
  • Automatic organization of logs by date
  • Full traceability with timestamp, application, origin, and location

Installation from PYPI

pip install lupin_logger

Deployment on PYPI

  • Add the version to pyproject.toml
version = "0.1.0"
  • Go to GitLab Tags

    • Click on New tag
    • Select the main branch if it is a final tag and click on Create tag.
    • Select the current branch if it is a test or development tag.

Quick Start

from lupin_logger import get_logger

# Create a logger
logger = get_logger(name="my_module", app="my_application")

# Basic logs
logger.info("Application started")
logger.debug("Debug information")
logger.warning("Warning!")
logger.error("An error occurred")
logger.critical("Critical error")

# Custom NOTICE level
logger.notice("Important operation succeeded")

Logging with Attributes

Attributes allow you to add structured data to your logs:

# Simple attributes
logger.info("File processed", {"filename": "data.csv", "rows": 1500})

# With different types (automatic coloring)
logger.info("Process completed", {
    "duration": 3.14,        # float → yellow
    "success": True,          # bool → white
    "files_count": 42,        # int → yellow
    "output_path": Path("/tmp/out")  # Path → cyan
})

# Exception logging
try:
    result = 1 / 0
except Exception:
    logger.exception("Division by zero", {"operation": "calculate"})

Log Levels

Level Usage Console Color
DEBUG Detailed debugging information Blue
INFO General information White
NOTICE Important successful events Green
WARNING Warnings Yellow
ERROR Non-critical errors Red
CRITICAL Critical errors requiring attention Magenta

Log Directory Configuration

By default, logs are saved to:

  • Linux/macOS: ~/LupinDentalData/logs/
  • Windows: C:/Users/<USERNAME>/LupinDentalData/logs/

Custom Directory

logger = get_logger(
    name="my_module",
    app="my_app",
    log_directory="/custom/path/logs"
)

Development

Requirements

  • Python >= 3.11

Development Installation

git clone https://gitlab.com/lupindental/arsene/rd-utilities/lupin_logger.git
cd lupin_logger
pip install -e .

License

MIT - LupinDental

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

lupin_logger-0.5.1.tar.gz (10.4 kB view details)

Uploaded Source

Built Distribution

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

lupin_logger-0.5.1-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file lupin_logger-0.5.1.tar.gz.

File metadata

  • Download URL: lupin_logger-0.5.1.tar.gz
  • Upload date:
  • Size: 10.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for lupin_logger-0.5.1.tar.gz
Algorithm Hash digest
SHA256 ab2f66ef390f1426da1f35b51e2750b87debb7ca6bc8582ceecf76d22f3146e5
MD5 1a0c3055d74a795f2f6ec2b913bb7f8a
BLAKE2b-256 ec004fca7f833e8083838d97e4326d7502511f813cea98a4e10d2c812f9a670f

See more details on using hashes here.

File details

Details for the file lupin_logger-0.5.1-py3-none-any.whl.

File metadata

  • Download URL: lupin_logger-0.5.1-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for lupin_logger-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d0e05f3ab02f0bc1953926cce7d24a67c0df52889a6654967794d43332d8d94b
MD5 2792b24ba7e18969764351f604bdb269
BLAKE2b-256 20761bd0ec13ac0a008e6678a12835a50d1485e8d7c8868b95061341a73efc57

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