98 lines
2.3 KiB
Go
98 lines
2.3 KiB
Go
// Copyright Earl Warren <contact@earl-warren.org>
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package util
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
forgejo_log "code.gitea.io/gitea/modules/log"
|
|
"code.gitea.io/gitea/modules/migration"
|
|
|
|
"code.forgejo.org/f3/gof3/v3/logger"
|
|
)
|
|
|
|
type f3Logger struct {
|
|
m migration.Messenger
|
|
l forgejo_log.Logger
|
|
}
|
|
|
|
func (o *f3Logger) Message(message string, args ...any) {
|
|
if o.m != nil {
|
|
o.m(message, args...)
|
|
}
|
|
}
|
|
|
|
func (o *f3Logger) SetLevel(level logger.Level) {
|
|
}
|
|
|
|
func forgejoLevelToF3Level(level forgejo_log.Level) logger.Level {
|
|
switch level {
|
|
case forgejo_log.TRACE:
|
|
return logger.Trace
|
|
case forgejo_log.DEBUG:
|
|
return logger.Debug
|
|
case forgejo_log.INFO:
|
|
return logger.Info
|
|
case forgejo_log.WARN:
|
|
return logger.Warn
|
|
case forgejo_log.ERROR:
|
|
return logger.Error
|
|
case forgejo_log.FATAL:
|
|
return logger.Fatal
|
|
default:
|
|
panic(fmt.Errorf("unexpected level %d", level))
|
|
}
|
|
}
|
|
|
|
func f3LevelToForgejoLevel(level logger.Level) forgejo_log.Level {
|
|
switch level {
|
|
case logger.Trace:
|
|
return forgejo_log.TRACE
|
|
case logger.Debug:
|
|
return forgejo_log.DEBUG
|
|
case logger.Info:
|
|
return forgejo_log.INFO
|
|
case logger.Warn:
|
|
return forgejo_log.WARN
|
|
case logger.Error:
|
|
return forgejo_log.ERROR
|
|
case logger.Fatal:
|
|
return forgejo_log.FATAL
|
|
default:
|
|
panic(fmt.Errorf("unexpected level %d", level))
|
|
}
|
|
}
|
|
|
|
func (o *f3Logger) GetLevel() logger.Level {
|
|
return forgejoLevelToF3Level(o.l.GetLevel())
|
|
}
|
|
|
|
func (o *f3Logger) Log(skip int, level logger.Level, format string, args ...any) {
|
|
o.l.Log(skip+1, f3LevelToForgejoLevel(level), format, args...)
|
|
}
|
|
|
|
func (o *f3Logger) Trace(message string, args ...any) {
|
|
o.l.Log(1, forgejo_log.TRACE, message, args...)
|
|
}
|
|
|
|
func (o *f3Logger) Debug(message string, args ...any) {
|
|
o.l.Log(1, forgejo_log.DEBUG, message, args...)
|
|
}
|
|
func (o *f3Logger) Info(message string, args ...any) { o.l.Log(1, forgejo_log.INFO, message, args...) }
|
|
func (o *f3Logger) Warn(message string, args ...any) { o.l.Log(1, forgejo_log.WARN, message, args...) }
|
|
func (o *f3Logger) Error(message string, args ...any) {
|
|
o.l.Log(1, forgejo_log.ERROR, message, args...)
|
|
}
|
|
|
|
func (o *f3Logger) Fatal(message string, args ...any) {
|
|
o.l.Log(1, forgejo_log.FATAL, message, args...)
|
|
}
|
|
|
|
func NewF3Logger(messenger migration.Messenger, logger forgejo_log.Logger) logger.Interface {
|
|
return &f3Logger{
|
|
m: messenger,
|
|
l: logger,
|
|
}
|
|
}
|