Select Git revision
01-getting-started.md
database-logging.go 1.09 KiB
// Copyright 2024 schukai GmbH
// SPDX-License-Identifier: AGPL-3.0
package jobqueue
import (
"context"
"gorm.io/gorm/logger"
"time"
)
type GormAdapter struct{}
func (GormAdapter) LogMode(logger.LogLevel) logger.Interface {
return GormAdapter{} // Noop. Not needed in this case.
}
func (GormAdapter) Info(ctx context.Context, message string, data ...interface{}) {
Info(message, data...)
}
func (GormAdapter) Warn(ctx context.Context, message string, data ...interface{}) {
Warn(message, data...)
}
func (GormAdapter) Error(ctx context.Context, message string, data ...interface{}) {
Error(message, data...)
}
func (GormAdapter) Trace(ctx context.Context, begin time.Time, fc func() (string, int64), err error) {
elapsed := time.Since(begin)
sql, rowsAffected := fc()
if err != nil {
Error("gorm trace",
"elapsed", elapsed,
"sql", sql,
"rows", rowsAffected,
"err", err,
)
return
}
Trace("gorm trace",
"elapsed", elapsed,
"sql", sql,
"rows", rowsAffected,
)
}
var _ logger.Interface = (*GormAdapter)(nil)
func newGormAdapter() *GormAdapter {
return &GormAdapter{}
}