summaryrefslogtreecommitdiffstats
path: root/services/f3/util/logger.go
diff options
context:
space:
mode:
Diffstat (limited to 'services/f3/util/logger.go')
-rw-r--r--services/f3/util/logger.go97
1 files changed, 97 insertions, 0 deletions
diff --git a/services/f3/util/logger.go b/services/f3/util/logger.go
new file mode 100644
index 0000000..21d8d6b
--- /dev/null
+++ b/services/f3/util/logger.go
@@ -0,0 +1,97 @@
+// 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,
+ }
+}