Skip to content
Snippets Groups Projects
Select Git revision
  • 11fa97747f3dfac0ae80283e9974c5c79472ead4
  • master default protected
  • 1.31
  • 4.38.7
  • 4.38.6
  • 4.38.5
  • 4.38.4
  • 4.38.3
  • 4.38.2
  • 4.38.1
  • 4.38.0
  • 4.37.2
  • 4.37.1
  • 4.37.0
  • 4.36.0
  • 4.35.0
  • 4.34.1
  • 4.34.0
  • 4.33.1
  • 4.33.0
  • 4.32.2
  • 4.32.1
  • 4.32.0
23 results

01-getting-started.md

Blame
  • 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{}
    }