Skip to main content

LupinDental logger

Project description

Lupin Logger

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 .lupinlog.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.1.0.tar.gz (6.3 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.1.0-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for lupin_logger-0.1.0.tar.gz
Algorithm Hash digest
SHA256 50283b5af5b73382dcba9c8ba49407c0e2ed680fcaee19b2b058ef7517c94e13
MD5 85e11b8d377d01dc3916875b5365583a
BLAKE2b-256 d1c154ed50adc47389a97013c2be2badf3e6e0b8218a06727ab60e5ddc5a7a54

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for lupin_logger-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0d6cd14ca7d48fa38864e211572b60b63fee9ceeb25b67ccfd105b5a5cf99d13
MD5 e92621924e64f75dfd2b3c7471025ba2
BLAKE2b-256 ab078eafe803f32ea6d92568b181c1cf8e5246a31d0222a95b4a00a4008464ac

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