feat: allow to customize logs dir through environment variable (#2396)
Allow to customize log directory through `K9S_LOGS_DIR` environment variable. If not set, fallsback on default tmp directory. Fixes #2394mine
parent
8debcab3eb
commit
736f6bfaa5
16
README.md
16
README.md
|
|
@ -318,6 +318,22 @@ tail -f /Users/fernand/.local/data/k9s/k9s.log
|
||||||
k9s -l debug
|
k9s -l debug
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Customize logs destination
|
||||||
|
|
||||||
|
You can override the default log file destination either with the `--logFile` argument:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
k9s --logFile /tmp/k9s.log
|
||||||
|
less /tmp/k9s.log
|
||||||
|
```
|
||||||
|
|
||||||
|
Or through the `K9S_LOGS_DIR` environment variable:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
K9S_LOGS_DIR=/var/log k9s
|
||||||
|
less /var/log/k9s.log
|
||||||
|
```
|
||||||
|
|
||||||
## Key Bindings
|
## Key Bindings
|
||||||
|
|
||||||
K9s uses aliases to navigate most K8s resources.
|
K9s uses aliases to navigate most K8s resources.
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,9 @@ const (
|
||||||
// K9sConfigDir represents k9s configuration dir env var.
|
// K9sConfigDir represents k9s configuration dir env var.
|
||||||
K9sConfigDir = "K9S_CONFIG_DIR"
|
K9sConfigDir = "K9S_CONFIG_DIR"
|
||||||
|
|
||||||
|
// K9sLogsDir represents k9s logs dir env var.
|
||||||
|
K9sLogsDir = "K9S_LOGS_DIR"
|
||||||
|
|
||||||
// AppName tracks k9s app name.
|
// AppName tracks k9s app name.
|
||||||
AppName = "k9s"
|
AppName = "k9s"
|
||||||
|
|
||||||
|
|
@ -80,11 +83,20 @@ var (
|
||||||
|
|
||||||
// InitLogsLoc initializes K9s logs location.
|
// InitLogsLoc initializes K9s logs location.
|
||||||
func InitLogLoc() error {
|
func InitLogLoc() error {
|
||||||
tmpDir, err := userTmpDir()
|
var appLogDir string
|
||||||
if err != nil {
|
if envDir := os.Getenv(K9sLogsDir); envDir != "" {
|
||||||
|
appLogDir = envDir
|
||||||
|
} else {
|
||||||
|
tmpDir, err := userTmpDir()
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
appLogDir = tmpDir
|
||||||
|
}
|
||||||
|
if err := data.EnsureFullPath(appLogDir, data.DefaultDirMod); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
AppLogFile = filepath.Join(tmpDir, K9sLogsFile)
|
AppLogFile = filepath.Join(appLogDir, K9sLogsFile)
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
@ -271,9 +283,6 @@ func userTmpDir() (string, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
dir := filepath.Join(os.TempDir(), AppName, u.Username)
|
dir := filepath.Join(os.TempDir(), AppName, u.Username)
|
||||||
if err := data.EnsureFullPath(dir, data.DefaultDirMod); err != nil {
|
|
||||||
return "", err
|
|
||||||
}
|
|
||||||
|
|
||||||
return dir, nil
|
return dir, nil
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue