fix call stack depth bug to show log location correctly

This commit is contained in:
Jeffrey Paul 2024-06-14 05:38:29 -07:00
parent 000fe293ee
commit a660203e8f
1 changed files with 19 additions and 4 deletions

View File

@ -16,7 +16,10 @@ func NewConsoleHandler() *ConsoleHandler {
return &ConsoleHandler{}
}
func (c *ConsoleHandler) Handle(ctx context.Context, record slog.Record) error {
func (c *ConsoleHandler) Handle(
ctx context.Context,
record slog.Record,
) error {
timestamp := time.Now().UTC().Format("2006-01-02T15:04:05.000Z07:00")
var colorFunc func(format string, a ...interface{}) string
@ -32,16 +35,28 @@ func (c *ConsoleHandler) Handle(ctx context.Context, record slog.Record) error {
}
// Get the caller information
_, file, line, ok := runtime.Caller(5)
_, file, line, ok := runtime.Caller(4)
if !ok {
file = "???"
line = 0
}
fmt.Println(colorFunc("%s [%s] %s:%d: %s", timestamp, record.Level, file, line, record.Message))
fmt.Println(
colorFunc(
"%s [%s] %s:%d: %s",
timestamp,
record.Level,
file,
line,
record.Message,
),
)
return nil
}
func (c *ConsoleHandler) Enabled(ctx context.Context, level slog.Level) bool {
func (c *ConsoleHandler) Enabled(
ctx context.Context,
level slog.Level,
) bool {
return true
}