diff --git a/cli/serve.go b/cli/serve.go index 4240feacf0..4e9078f90f 100644 --- a/cli/serve.go +++ b/cli/serve.go @@ -3,6 +3,7 @@ package cli import ( "flag" "fmt" + "log" "net/http" "os" "os/signal" @@ -69,8 +70,15 @@ the way that the kolide server works. initFatal(err, "initializing datastore") } } else { + var dbOption []datastore.DBOption + gormLogger := log.New(os.Stderr, "", 0) + gormLogger.SetOutput(kitlog.NewStdlibAdapter(logger)) + dbOption = append(dbOption, datastore.Logger(gormLogger)) + if config.Logging.Debug { + dbOption = append(dbOption, datastore.Debug()) + } connString := datastore.GetMysqlConnectionString(config.Mysql) - ds, err = datastore.New("gorm-mysql", connString) + ds, err = datastore.New("gorm-mysql", connString, dbOption...) if err != nil { initFatal(err, "initializing datastore") } diff --git a/server/datastore/config.go b/server/datastore/config.go index 51e1808a69..0fc4b1bf97 100644 --- a/server/datastore/config.go +++ b/server/datastore/config.go @@ -1,14 +1,12 @@ package datastore import ( - "github.com/Sirupsen/logrus" + "log" + "github.com/kolide/kolide-ose/server/kolide" ) -const ( - // TODO @marpaia fix/document default values - defaultMaxAttempts int = 15 -) +const defaultMaxAttempts int = 15 // DBOption is used to pass optional arguments to a database connection type DBOption func(o *dbOptions) error @@ -18,11 +16,11 @@ type dbOptions struct { maxAttempts int db kolide.Datastore debug bool // gorm debug - logger *logrus.Logger + logger *log.Logger } // Logger adds a logger to the datastore -func Logger(l *logrus.Logger) DBOption { +func Logger(l *log.Logger) DBOption { return func(o *dbOptions) error { o.logger = l return nil