improved logging
This commit is contained in:
parent
f8407162ad
commit
05b41cedce
81 changed files with 9802 additions and 279 deletions
15
pkg/db/db.go
15
pkg/db/db.go
|
|
@ -3,11 +3,13 @@
|
|||
package db
|
||||
|
||||
import (
|
||||
"io"
|
||||
"path/filepath"
|
||||
|
||||
"git.giftfish.de/ston1th/docstore/pkg/core"
|
||||
"git.giftfish.de/ston1th/docstore/pkg/index"
|
||||
"git.giftfish.de/ston1th/docstore/pkg/store"
|
||||
"io"
|
||||
"path/filepath"
|
||||
"github.com/go-logr/logr"
|
||||
)
|
||||
|
||||
const (
|
||||
|
|
@ -18,14 +20,15 @@ const (
|
|||
const blevePath = "bleve"
|
||||
|
||||
type DB struct {
|
||||
log logr.Logger
|
||||
rm countMutex
|
||||
IndexMutex countMutex
|
||||
store store.Store
|
||||
Index *index.Index
|
||||
}
|
||||
|
||||
func New(cfg *core.Config) (db *DB, err error) {
|
||||
db, err = NewPlain(cfg)
|
||||
func New(log logr.Logger, cfg *core.Config) (db *DB, err error) {
|
||||
db, err = NewPlain(log, cfg)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
|
@ -48,8 +51,8 @@ func New(cfg *core.Config) (db *DB, err error) {
|
|||
return
|
||||
}
|
||||
|
||||
func NewPlain(cfg *core.Config) (db *DB, err error) {
|
||||
db = new(DB)
|
||||
func NewPlain(log logr.Logger, cfg *core.Config) (db *DB, err error) {
|
||||
db = &DB{log: log}
|
||||
dbFile := filepath.Join(cfg.RunDir, storeFile)
|
||||
db.store, err = store.NewBoltStore(dbFile, nil)
|
||||
return
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
package db
|
||||
|
||||
import (
|
||||
"git.giftfish.de/ston1th/docstore/pkg/log"
|
||||
"git.giftfish.de/ston1th/docstore/pkg/store"
|
||||
)
|
||||
|
||||
|
|
@ -32,6 +31,7 @@ var migrators = []migrator{
|
|||
}
|
||||
|
||||
func (db *DB) runMigrations() (err error) {
|
||||
log := db.log
|
||||
var version int
|
||||
err = db.store.Get(versionKey, &version)
|
||||
if err == store.ErrKeyNotFound {
|
||||
|
|
@ -44,10 +44,10 @@ func (db *DB) runMigrations() (err error) {
|
|||
return
|
||||
}
|
||||
}
|
||||
log.Printf("db: database version %d", version)
|
||||
log.Info("database version", "version", version)
|
||||
for version < currentVersion {
|
||||
v := version + 1
|
||||
log.Printf("db: running migration version %d", v)
|
||||
log.Info("running migration", "version", v)
|
||||
err = migrators[v](db, v)
|
||||
if err != nil {
|
||||
return
|
||||
|
|
@ -57,7 +57,7 @@ func (db *DB) runMigrations() (err error) {
|
|||
return
|
||||
}
|
||||
version = v
|
||||
log.Printf("db: database version %d", version)
|
||||
log.Info("database version", "version", version)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,10 +5,10 @@ package db
|
|||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"git.giftfish.de/ston1th/docstore/pkg/core"
|
||||
"git.giftfish.de/ston1th/docstore/pkg/log"
|
||||
"regexp"
|
||||
"sort"
|
||||
|
||||
"git.giftfish.de/ston1th/docstore/pkg/core"
|
||||
)
|
||||
|
||||
const (
|
||||
|
|
@ -34,6 +34,7 @@ func (db *DB) addDefaultTags() (err error) {
|
|||
}
|
||||
|
||||
func (db *DB) Retag(path string, tags core.RTags) (err error) {
|
||||
log := db.log.WithValues("file", path)
|
||||
if tags == nil {
|
||||
tags, err = db.GetAllRTags()
|
||||
if err != nil {
|
||||
|
|
@ -48,14 +49,14 @@ func (db *DB) Retag(path string, tags core.RTags) (err error) {
|
|||
if err != nil {
|
||||
return
|
||||
}
|
||||
log.Debugf("db: retagging: %s", path)
|
||||
log.V(2).Info("retagging")
|
||||
doc, err := db.Index.Get(id)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
doc.Tags = tags.Match(doc.Text)
|
||||
if eq(t, doc.Tags) {
|
||||
log.Debugf("db: retagging: skipped %s", path)
|
||||
log.V(2).Info("retagging skipped")
|
||||
return
|
||||
}
|
||||
err = db.Index.Update(id, doc)
|
||||
|
|
@ -66,6 +67,7 @@ func (db *DB) Retag(path string, tags core.RTags) (err error) {
|
|||
}
|
||||
|
||||
func (db *DB) RetagAll() (err error) {
|
||||
log := db.log
|
||||
if m, c, ok := db.rm.Lock(); !ok {
|
||||
return fmt.Errorf("retagging already in progress: %d/%d", c, m)
|
||||
}
|
||||
|
|
@ -89,7 +91,7 @@ func (db *DB) RetagAll() (err error) {
|
|||
if err == nil {
|
||||
err = errors.New("retagAll had errors")
|
||||
}
|
||||
log.Printf("db: error retagging %s: %s", p, e)
|
||||
log.Error(e, "error retagging file", "file", p)
|
||||
}
|
||||
db.rm.Inc()
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue