k9s/main.go

52 lines
995 B
Go

package main
import (
"flag"
"os"
"github.com/derailed/k9s/cmd"
"github.com/derailed/k9s/internal/config"
"github.com/rs/zerolog"
"github.com/rs/zerolog/log"
_ "k8s.io/client-go/plugin/pkg/client/auth"
"k8s.io/klog/v2"
)
func init() {
config.EnsurePath(config.K9sLogs, config.DefaultDirMod)
}
func init() {
klog.InitFlags(nil)
if err := flag.Set("logtostderr", "false"); err != nil {
panic(err)
}
if err := flag.Set("alsologtostderr", "false"); err != nil {
panic(err)
}
if err := flag.Set("stderrthreshold", "fatal"); err != nil {
panic(err)
}
if err := flag.Set("v", "0"); err != nil {
panic(err)
}
if err := flag.Set("log_file", config.K9sLogs); err != nil {
panic(err)
}
}
func main() {
mod := os.O_CREATE | os.O_APPEND | os.O_WRONLY
file, err := os.OpenFile(config.K9sLogs, mod, config.DefaultFileMod)
defer func() {
_ = file.Close()
}()
if err != nil {
panic(err)
}
log.Logger = log.Output(zerolog.ConsoleWriter{Out: file})
cmd.Execute()
}