diff --git a/pkg/command/command.go b/pkg/command/command.go index 25c86b1..dac4b41 100644 --- a/pkg/command/command.go +++ b/pkg/command/command.go @@ -118,11 +118,16 @@ func (c *Command[T]) runCmd(ctx context.Context, format *printer.Format, debug * return err } + logDir, err := c.config.DefaultLogDir() + if err != nil { + return err + } + configPath := path.Join(configDir, c.config.DefaultConfigFile()) - logPath := path.Join(configDir, c.config.DefaultLogFile()) + logPath := path.Join(logDir, c.config.DefaultLogFile()) - c.command.PersistentFlags().StringVar(&cfgFile, "config", "", fmt.Sprintf("Config file (default is %s)", configPath)) - c.command.PersistentFlags().StringVar(&logFile, "log", logPath, "Log File") + c.command.PersistentFlags().StringVar(&cfgFile, "config", "", fmt.Sprintf(`Config file (default "%s")`, configPath)) + c.command.PersistentFlags().StringVar(&logFile, "log", logPath, "Log file") cobra.OnInitialize(func() { err := c.initConfig() diff --git a/pkg/config/config.go b/pkg/config/config.go index 5f6a0c7..b8b44cc 100644 --- a/pkg/config/config.go +++ b/pkg/config/config.go @@ -29,6 +29,7 @@ type Config interface { Validate() error DefaultConfigDir() (string, error) DefaultConfigFile() string + DefaultLogDir() (string, error) DefaultLogFile() string SetConfigFile(configFile string) GetConfigFile() string