Skip to content

evalphobia/logrus_kinesis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logrus_kinesis

Build Status Coverage Status codecov GoDoc

AWS Kinesis Hook for Logrus :walrus:

Usage

import (
    "github.com/evalphobia/logrus_kinesis"
    "github.com/sirupsen/logrus"
)

func main() {
    hook, err := logrus_kinesis.New("my_stream", Config{
        AccessKey: "ABC", // AWS accessKeyId
        SecretKey: "XYZ", // AWS secretAccessKey
        Region:    "ap-northeast-1",
    })

    // set custom fire level
    hook.SetLevels([]logrus.Level{
        logrus.PanicLevel,
        logrus.ErrorLevel,
    })

    // ignore field
    hook.AddIgnore("context")

    // add custome filter
    hook.AddFilter("error", logrus_kinesis.FilterError)


    // send log with logrus
    logger := logrus.New()
    logger.Hooks.Add(hook)
    logger.WithFields(f).Error("my_message") // send log data to kinesis as JSON
}

Special fields

Some logrus fields have a special meaning in this hook.

message if message is not set, entry.Message is added to log data in "message" field.
stream_name stream_name is a custom stream name for Kinesis. If not set, defaultStreamName is used as stream name.
partition_key partition_key is a custom partition key for Kinesis. If not set, defaultStreamName or entry.Message is used as stream name.

About

AWS Kinesis hooks for logrus

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages