migrated to new logging module from golibh

This commit is contained in:
2025-12-31 20:26:13 +11:00
parent 1d9af44d0a
commit 03095448d6
4 changed files with 9 additions and 87 deletions

View File

@@ -3,6 +3,7 @@ package main
import (
"context"
"fmt"
"git.haelnorr.com/haelnorr/golibh/logger"
"io"
"net/http"
"os"
@@ -10,7 +11,6 @@ import (
"projectreshoot/internal/httpserver"
"projectreshoot/pkg/config"
"projectreshoot/pkg/embedfs"
"projectreshoot/pkg/logging"
"sync"
"time"

5
go.mod
View File

@@ -1,6 +1,6 @@
module projectreshoot
go 1.24.0
go 1.25.5
require (
github.com/a-h/templ v0.3.833
@@ -10,13 +10,14 @@ require (
github.com/mattn/go-sqlite3 v1.14.24
github.com/pkg/errors v0.9.1
github.com/pressly/goose/v3 v3.24.1
github.com/rs/zerolog v1.33.0
github.com/rs/zerolog v1.34.0
github.com/stretchr/testify v1.10.0
golang.org/x/crypto v0.33.0
modernc.org/sqlite v1.35.0
)
require (
git.haelnorr.com/haelnorr/golibh/logger v0.0.0-20251231092003-201af4af7a28 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/dustin/go-humanize v1.0.1 // indirect
github.com/mattn/go-colorable v0.1.14 // indirect

5
go.sum
View File

@@ -1,3 +1,5 @@
git.haelnorr.com/haelnorr/golibh/logger v0.0.0-20251231092003-201af4af7a28 h1:9Kja2VpN9TU+7NWefoSW40jdBQaLEC2Gklo3uWoWGSk=
git.haelnorr.com/haelnorr/golibh/logger v0.0.0-20251231092003-201af4af7a28/go.mod h1:rn805r6IrjzM/90X8pr9ulkBKqCg01YueivQZNMb/IY=
github.com/a-h/templ v0.3.833 h1:L/KOk/0VvVTBegtE0fp2RJQiBm7/52Zxv5fqlEHiQUU=
github.com/a-h/templ v0.3.833/go.mod h1:cAu4AiZhtJfBjMY0HASlyzvkrtjnHWPeEsyGK2YYmfk=
github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
@@ -43,8 +45,11 @@ github.com/pressly/goose/v3 v3.24.1/go.mod h1:rEWreU9uVtt0DHCyLzF9gRcWiiTF/V+528
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE=
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg=
github.com/rs/xid v1.6.0/go.mod h1:7XoLgs4eV+QndskICGsho+ADou8ySMSjJKDIan90Nz0=
github.com/rs/zerolog v1.33.0 h1:1cU2KZkvPxNyfgEmhHAz/1A9Bz+llsdYzklWFzgp0r8=
github.com/rs/zerolog v1.33.0/go.mod h1:/7mN4D5sKwJLZQ2b/znpjC3/GQWY/xaDXUM0kKWRHss=
github.com/rs/zerolog v1.34.0 h1:k43nTLIwcTVQAncfCw4KZ2VY6ukYoZaBPNOE8txlOeY=
github.com/rs/zerolog v1.34.0/go.mod h1:bJsvje4Z08ROH4Nhs5iH600c3IkWhwp44iRc54W6wYQ=
github.com/sethvargo/go-retry v0.3.0 h1:EEt31A35QhrcRZtrYFDTBg91cqZVnFL2navjDrah2SE=
github.com/sethvargo/go-retry v0.3.0/go.mod h1:mNX17F0C/HguQMyMyJxcnU471gOZGxCLyYaFyAZraas=
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=

View File

@@ -1,84 +0,0 @@
package logging
import (
"io"
"os"
"path/filepath"
"github.com/pkg/errors"
"github.com/rs/zerolog"
"github.com/rs/zerolog/pkgerrors"
)
// Takes a log level as string and converts it to a zerolog.Level interface.
// If the string is not a valid input it will return zerolog.InfoLevel
func GetLogLevel(level string) zerolog.Level {
levels := map[string]zerolog.Level{
"trace": zerolog.TraceLevel,
"debug": zerolog.DebugLevel,
"info": zerolog.InfoLevel,
"warn": zerolog.WarnLevel,
"error": zerolog.ErrorLevel,
"fatal": zerolog.FatalLevel,
"panic": zerolog.PanicLevel,
}
logLevel, valid := levels[level]
if !valid {
return zerolog.InfoLevel
}
return logLevel
}
// Returns a pointer to a new log file with the specified path.
// Remember to call file.Close() when finished writing to the log file
func GetLogFile(path string) (*os.File, error) {
logPath := filepath.Join(path, "server.log")
file, err := os.OpenFile(
logPath,
os.O_APPEND|os.O_CREATE|os.O_WRONLY,
0663,
)
if err != nil {
return nil, errors.Wrap(err, "os.OpenFile")
}
return file, nil
}
// Get a pointer to a new zerolog.Logger with the specified level and output
// Can provide a file, writer or both. Must provide at least one of the two
func GetLogger(
logLevel zerolog.Level,
w io.Writer,
logFile *os.File,
logDir string,
) (*zerolog.Logger, error) {
if w == nil && logFile == nil {
return nil, errors.New("No Writer provided for log output.")
}
zerolog.TimeFieldFormat = zerolog.TimeFormatUnix
zerolog.ErrorStackMarshaler = pkgerrors.MarshalStack
var consoleWriter zerolog.ConsoleWriter
if w != nil {
consoleWriter = zerolog.ConsoleWriter{Out: w}
}
var output io.Writer
if logFile != nil {
if w != nil {
output = zerolog.MultiLevelWriter(logFile, consoleWriter)
} else {
output = logFile
}
} else {
output = consoleWriter
}
logger := zerolog.New(output).
With().
Timestamp().
Logger().
Level(logLevel)
return &logger, nil
}