Skip to main content

Development utilities with structured logging

Project description

Dev Utils

A collection of development utilities, starting with structured logging.

Installation

pip install dev-utils-jokerssd

Logging Utils

A powerful wrapper around structlog and Python's standard logging module to provide structured JSON logging with rotation, async writing, and easy configuration.

Usage

from dev_utils import LoggingUtils

# Basic Setup
logging_utils = LoggingUtils(
    log_file="app.log",
    log_level="INFO",
    print_output=True,
    json_formatter=True,
    binding_dict={"app_name": "my_app"}
)

logger = logging_utils.get_logger()

# Log something
logger.info("Application started", version="1.0.0")

# Exception logging
try:
    1 / 0
except ZeroDivisionError:
    logger.exception("Something went wrong")

Features

  • Structured JSON Logs: By default, logs are formatted as JSON for easy parsing by log management tools.
  • Async Logging: Uses a background thread for file writing to avoid blocking the main execution path.
  • Log Rotation: Automatically rotates log files daily (default).
  • Context Binding: Bind global context variables (like request_id or user_id) to all logs.
  • Standard API: Compatible with standard python logging (mostly) and structlog.

Lark Wrapper

A wrapper for interaction with Lark/Feishu Custom bots, providing strong typing and error handling.

Usage

from dev_utils.lark_wrapper import MsgBot, BotType, MsgType, BotStatus

# Initialize the bot
bot = MsgBot(
    chat_id="your-chat-id",
    url="https://open.larksuite.com/open-apis",
    api_name="bot/v2/hook/",
    bot_type=BotType.LARK
)

# Send a text message
response = bot.send_cust_bot_msg(
    message="Hello, World!",
    msg_type=MsgType.TEXT,
    title="Notification"
)

# Check response
if response.status == BotStatus.OK:
    print("Success:", response.msg)
else:
    print("Failed:", response.errors)

Features

  • Strong Typing: Uses BotStatus, BotType, and BotResponse for predictable API interactions.
  • Multi-Platform Support: Extensible design (currently supports Lark).
  • Async Support: async_send_msg available for non-blocking operations.
  • Rich Content: Supports Post/Rich Text messages via MsgType.POST.

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

dev_utils_jokerssd-0.5.2.tar.gz (75.0 kB view details)

Uploaded Source

Built Distribution

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

dev_utils_jokerssd-0.5.2-py3-none-any.whl (16.1 kB view details)

Uploaded Python 3

File details

Details for the file dev_utils_jokerssd-0.5.2.tar.gz.

File metadata

  • Download URL: dev_utils_jokerssd-0.5.2.tar.gz
  • Upload date:
  • Size: 75.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.17

File hashes

Hashes for dev_utils_jokerssd-0.5.2.tar.gz
Algorithm Hash digest
SHA256 9721a7c594a5c969a6ac0675b73a086dc8ee66fe96877eb42e090f1ea6107529
MD5 ee2d5a54361cb74d82e42bd8c3e12f2c
BLAKE2b-256 1e6e2d3a9befd662f3d4caa96f6ef2d124702141f6c7106734ef0e912790dad9

See more details on using hashes here.

File details

Details for the file dev_utils_jokerssd-0.5.2-py3-none-any.whl.

File metadata

File hashes

Hashes for dev_utils_jokerssd-0.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3142868570a0e2abb9744e3f175629efe48038262396d0115d10378e66667fb5
MD5 cdb54474db27298a332b3be979f7f854
BLAKE2b-256 342709c90488ec703cc1fa77aa07d239fbc69751c57e4fc9dffdaf0dc0ec9127

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