- River's logger is diary.For("river") (warn by default), conga's own lines diary.For("conga"); an app-published logger still wins
- GORM logs through logger.NewSlogLogger(diary.For("db")): warn level, record-not-found ignored, parameterized SQL traces only at verbosity 3
- Smoke tests TestRiverLoggerUsesDiarySmoke and TestGormLoggerUsesDiarySmoke
38 lines
1.0 KiB
Go
38 lines
1.0 KiB
Go
package lagoon
|
|
|
|
import (
|
|
"bytes"
|
|
"context"
|
|
"strings"
|
|
"testing"
|
|
|
|
"git.golem15.com/golem15/summercms/modules/bonfire"
|
|
"git.golem15.com/golem15/summercms/modules/diary"
|
|
)
|
|
|
|
// TestGormLoggerUsesDiarySmoke: GORM logs through the diary component db,
|
|
// and only reports info lines (SQL traces) at verbosity 3.
|
|
func TestGormLoggerUsesDiarySmoke(t *testing.T) {
|
|
var buf bytes.Buffer
|
|
t.Cleanup(diary.Reset)
|
|
diary.Bootstrap(&buf, diary.Options{Color: bonfire.ColorNever})
|
|
ctx := context.Background()
|
|
|
|
gormLogger().Warn(ctx, "slow %s", "query")
|
|
if !strings.Contains(buf.String(), "component=db") {
|
|
t.Fatalf("GORM record lacks component=db:\n%s", buf.String())
|
|
}
|
|
|
|
buf.Reset()
|
|
gormLogger().Info(ctx, "trace at default verbosity")
|
|
if buf.Len() != 0 {
|
|
t.Fatalf("GORM info line logged at verbosity 0:\n%s", buf.String())
|
|
}
|
|
|
|
diary.SetVerbosity(3, false)
|
|
gormLogger().Info(ctx, "trace at verbosity 3")
|
|
if !strings.Contains(buf.String(), "trace at verbosity 3") {
|
|
t.Fatalf("GORM info line missing at verbosity 3:\n%s", buf.String())
|
|
}
|
|
}
|