12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- package logger
- import (
- "os"
- "github.com/sirupsen/logrus"
- )
- var (
- defaultLogger *logrus.Logger
- )
- func init() {
- defaultLogger = logrus.New()
- defaultLogger.SetOutput(os.Stdout)
- defaultLogger.SetFormatter(&logrus.JSONFormatter{
- TimestampFormat: "2006-01-02T15:04:05.000Z07:00",
- })
- // Set log level based on environment
- if os.Getenv("ENV") == "production" {
- defaultLogger.SetLevel(logrus.InfoLevel)
- } else {
- defaultLogger.SetLevel(logrus.DebugLevel)
- }
- }
- // NewLogger creates a new logger entry with a specific component name
- func NewLogger(component string) *logrus.Entry {
- return defaultLogger.WithField("component", component)
- }
- // SetLogLevel sets the logging level
- func SetLogLevel(level logrus.Level) {
- defaultLogger.SetLevel(level)
- }
- // GetLogger returns the default logger instance
- func GetLogger() *logrus.Logger {
- return defaultLogger
- }
- // Fields type for structured logging
- type Fields logrus.Fields
- // WithFields creates a new logger entry with specified fields
- func WithFields(fields Fields) *logrus.Entry {
- return defaultLogger.WithFields(logrus.Fields(fields))
- }
|