Files
gvc/common/database/create-db.go

33 lines
739 B
Go

package database
import (
"io"
logger "github.com/apsdehal/go-logger"
"github.com/asdine/storm"
)
type DB struct {
*storm.DB
*logger.Logger
}
// NewDB returns a new database object,
// it configures the database for you.
func NewDB(dbPath, format string, logLevel int, logWriter io.WriteCloser) (*DB, error) {
//Note! Do not use logger as you have no idea if logWriter has been configured for output yet
var db DB
log, err := logger.New("db logger", 1, logWriter)
if err != nil {
return &db, err
}
log.SetLogLevel(logger.LogLevel(logLevel))
log.SetFormat(format)
db.Logger = log
if err := db.ConfigureDB(dbPath); err != nil {
log.ErrorF("Error configuring the database ", err)
return &db, err
}
return &db, nil
}