Skip to content
This repository has been archived by the owner on Feb 20, 2023. It is now read-only.

vitpelekhaty/logrus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logrus\hooks

Custom hooks for Sirupsen/logrus

Usage

import "github.com/vitpelekhaty/logrus/hooks"

Mongo hook example

import (
    "context"
    "testing"
    "time"

    "go.mongodb.org/mongo-driver/mongo"
    "go.mongodb.org/mongo-driver/mongo/options"
    "github.com/sirupsen/logrus"
    "github.com/vitpelekhaty/logrus/hooks"
)

func main() {
    logger := logrus.New()
    logger.SetFormatter(&logrus.JSONFormatter{})

    client, err := mongo.Connect(ctx, options.Client().ApplyURI("mongodb://localhost:27017"))

    if err != nil {
        logger.Fatal(err)
    }

    defer func() {
        ctx, cancelFunc := context.WithTimeout(context.Background(), time.Second*5)
        defer cancelFunc()

        client.Disconnect(ctx)
    }()

    collection := client.Database("my_logs").Collection("logs")
    hook, err := hooks.NewMongoHook(collection)

    if err != nil {
        logger.Fatal(err)
    }

    logger.AddHook(hook)
    log.Info("Congratulations!")
}

About

Custom hooks for Sirupsen/logrus

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages