mirror of
https://github.com/absmach/magistrala.git
synced 2026-06-23 04:10:28 +00:00
8c084b177e
Signed-off-by: Musilah <nataleigh.nk@gmail.co> Signed-off-by: Musilah <nataleigh.nk@gmail.com> Co-authored-by: Musilah <nataleigh.nk@gmail.co> Co-authored-by: Dušan Borovčanin <dusan.borovcanin@abstractmachines.fr>
26 lines
563 B
Go
26 lines
563 B
Go
// Copyright (c) Abstract Machines
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package logger
|
|
|
|
import (
|
|
"fmt"
|
|
"io"
|
|
"log/slog"
|
|
"time"
|
|
)
|
|
|
|
// New returns wrapped slog logger.
|
|
func New(w io.Writer, levelText string) (*slog.Logger, error) {
|
|
var level slog.Level
|
|
if err := level.UnmarshalText([]byte(levelText)); err != nil {
|
|
return &slog.Logger{}, fmt.Errorf(`{"level":"error","message":"%s: %s","ts":"%s"}`, err, levelText, time.RFC3339Nano)
|
|
}
|
|
|
|
logHandler := slog.NewJSONHandler(w, &slog.HandlerOptions{
|
|
Level: level,
|
|
})
|
|
|
|
return slog.New(logHandler), nil
|
|
}
|