diff --git a/ocs/pkg/command/root.go b/ocs/pkg/command/root.go index 2bd1945b5..ceb2db3b0 100644 --- a/ocs/pkg/command/root.go +++ b/ocs/pkg/command/root.go @@ -63,6 +63,7 @@ func NewLogger(cfg *config.Config) log.Logger { log.Level(cfg.Log.Level), log.Pretty(cfg.Log.Pretty), log.Color(cfg.Log.Color), + log.File(cfg.Log.File), ) } @@ -121,6 +122,7 @@ func NewSutureService(cfg *ociscfg.Config) suture.Service { if cfg.Mode == 0 { cfg.OCS.Supervised = true } + cfg.OCS.Log.File = cfg.Log.File return SutureService{ cfg: cfg.OCS, } diff --git a/ocs/pkg/config/config.go b/ocs/pkg/config/config.go index 6a4af5d4b..6a01ad55d 100644 --- a/ocs/pkg/config/config.go +++ b/ocs/pkg/config/config.go @@ -7,6 +7,7 @@ type Log struct { Level string Pretty bool Color bool + File string } // Debug defines the available debug configuration. diff --git a/ocs/pkg/flagset/flagset.go b/ocs/pkg/flagset/flagset.go index a8b1fc7c4..7e428536d 100644 --- a/ocs/pkg/flagset/flagset.go +++ b/ocs/pkg/flagset/flagset.go @@ -22,6 +22,12 @@ func HealthWithConfig(cfg *config.Config) []cli.Flag { // ServerWithConfig applies cfg to the root flagset func ServerWithConfig(cfg *config.Config) []cli.Flag { return []cli.Flag{ + &cli.StringFlag{ + Name: "log-file", + Usage: "Enable log to file", + EnvVars: []string{"OCS_LOG_FILE", "OCIS_LOG_FILE"}, + Destination: &cfg.Log.File, + }, &cli.StringFlag{ Name: "log-level", Usage: "Set logging level",