package
0.0.10
Repository: https://github.com/kingstonduy/go-core.git
Documentation: pkg.go.dev

# 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