# README
Usage
Format: Datetime UserAgent 8-traceID OperatorName TransactionID ReceivedTime ClientTime message
// without tracing
func GetLogger() logger.Logger {
levelStr := "LOG_LEVEL"
level, err := logger.GetLevel(levelStr)
if err != nil {
level = logger.InfoLevel
}
return logrus.NewLogrusLogger(
logger.WithLevel(level),
)
}
// with tracing
func GetLogger(tracer trace.Tracer) logger.Logger {
levelStr := "LOG_LEVEL"
level, err := logger.GetLevel(levelStr)
if err != nil {
level = logger.InfoLevel
}
return logrus.NewLogrusLogger(
logger.WithLevel(level),
logger.WithTracer(tracer),
)
}
// with hooks
broker := kafka.NewKafkaBroker(broker.WithBrokerAddresses("127.0.0.1:9092"))
broker.Connect()
tracer, _ := otel.NewOpenTelemetryTracer(context.Background(),
trace.WithTraceServiceName("go_logrus_testing"),
)
trace.SetDefaultTracer(tracer)
log := NewLogrusLogger(
logger.WithLevel(logger.TraceLevel),
WithHooks(NewKafkaLoggingHook(
broker,
"go-core",
WithKafkaLoggingHookLevels([]logger.Level{logger.InfoLevel, logger.TraceLevel}),
WithKafkaLoggingHookTopic("mcs.logging.test1"))),
)
ctx := context.Background()
ctx, f := trace.StartTracing(ctx, "test logging kafka events")
defer f(ctx)
log.Fields(map[string]interface{}{
logger.FIELD_OPERATOR_NAME: "test logging with hooks",
logger.FIELD_STEP_NAME: "push event to kafka",
}).Infof(ctx, "test events")
time.Sleep(100 * time.Millisecond)
logger := GetLogger()
logger.Error(ctx, "Recovered from panic")
logger.Errorf(ctx, "Recovered from panic: %v", r)
# Packages
No description provided by the author
# Functions
No description provided by the author
No description provided by the author
New builds a new logger based on options.
warning to use this option.
No description provided by the author
No description provided by the author
set hooks, override the LevelHooks set before.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Constants
No description provided by the author
# Structs
No description provided by the author
No description provided by the author