/mn_slack_logger

Slack Logger

Primary LanguagePythonMIT LicenseMIT


Logo

Medianova Slack Logger

MN Slack Logger is a Python package for logging error messages to a Slack channel.

Getting Started

To use MN Slack Logger, follow these steps:

Prerequisites

First, add MN Slack Logger to your project

pip install mn-slack-logger

(back to top)

Usage

MN Slack Logger can be used to send messages of various levels (info, warning, error) to your Slack channel. Here's how you can use it:

from mn_slack_logger import SlackLogger

logger = SlackLogger(slack_url="https://slack-webhook-url", slack_user="Logger")
logger.log("An example message", level="info")
logger.log("An example warning", level="warning")
logger.log("An example error", level="error", error="traceback text...")

For handling long traceback messages, MN Slack Logger shortens them automatically to fit Slack's message length limits.

(back to top)

Usage with FastAPI

MN Slack Logger can be integrated into a FastAPI application to log messages to Slack. Here's an example of how you can use it in your FastAPI application:

from fastapi import FastAPI, HTTPException
from mn_slack_logger import SlackLogger

app = FastAPI()
logger = SlackLogger(slack_url="https://slack-webhook-url", slack_user="FastAPI Logger")

@app.exception_handler(HTTPException)
async def http_exception_handler(request, exc):
    logger.log(f"HTTP Exception: {exc.detail}", level="error", error=str(exc))
    return {"detail": exc.detail}

@app.get("/")
async def read_root():
    return {"Hello": "World"}

@app.get("/error")
async def cause_error():
    raise HTTPException(status_code=400, detail="This is a test error")

This example sets up a basic FastAPI application with an exception handler that logs HTTP exceptions to Slack using MN Slack Logger.

(back to top)