Updated cli flags
Better usage message Flipped the -pretty flag to -jsonlogs. Is now pretty per default
This commit is contained in:
parent
2b84d7eb2a
commit
1527c198e0
2 changed files with 36 additions and 7 deletions
39
flags.go
39
flags.go
|
@ -1,17 +1,23 @@
|
|||
package main
|
||||
|
||||
import "flag"
|
||||
import (
|
||||
"flag"
|
||||
"fmt"
|
||||
"os"
|
||||
|
||||
"github.com/rs/zerolog/log"
|
||||
)
|
||||
|
||||
var (
|
||||
flagPrettyPrint *bool = flag.Bool(
|
||||
"pretty",
|
||||
flagLogJson *bool = flag.Bool(
|
||||
"jsonlogs",
|
||||
false,
|
||||
"If set, pretty prints logging entries which would be json objects otherwise",
|
||||
"If set, writes logging messages as json objects instead",
|
||||
)
|
||||
flagConfigFile *string = flag.String(
|
||||
"config",
|
||||
"config.toml",
|
||||
"Location of the config file. Defaults to \"config.toml\"",
|
||||
"Location of the config file",
|
||||
)
|
||||
flagLogLevel *string = flag.String(
|
||||
"loglevel",
|
||||
|
@ -25,6 +31,29 @@ var (
|
|||
)
|
||||
)
|
||||
|
||||
func flagUsage() {
|
||||
executable, err := os.Executable()
|
||||
if err != nil {
|
||||
log.Fatal().Err(err).Msg("Failed to get own path")
|
||||
}
|
||||
fmt.Fprintf(os.Stderr, "Usage of %s:\n", executable)
|
||||
fmt.Fprintln(os.Stderr, "\t-config string")
|
||||
fmt.Fprintln(os.Stderr, "\t\tLocation of the config file (default: \"config.toml\")")
|
||||
fmt.Fprintln(os.Stderr, "\t-loglevel string")
|
||||
fmt.Fprintln(
|
||||
os.Stderr,
|
||||
"\t\tSet the logging level. Options are: Trace, Debug, Info, Warning, Error and Fatal. Case insensitive (default: \"Info\")",
|
||||
)
|
||||
fmt.Fprintln(os.Stderr, "\t-validate-config")
|
||||
fmt.Fprintln(
|
||||
os.Stderr,
|
||||
"\t\tIf set, the server will only validate the config (or write the default one) and then quit",
|
||||
)
|
||||
fmt.Fprintln(os.Stderr, "\t-jsonlogs")
|
||||
fmt.Fprintln(os.Stderr, "\t\tIf set, writes logging messages as json objects instead")
|
||||
}
|
||||
|
||||
func init() {
|
||||
flag.Usage = flagUsage
|
||||
flag.Parse()
|
||||
}
|
||||
|
|
4
main.go
4
main.go
|
@ -96,7 +96,6 @@ func main() {
|
|||
}
|
||||
|
||||
func setLogLevel() {
|
||||
log.Info().Str("new-level", *flagLogLevel).Msg("Attempting to set log level")
|
||||
switch strings.ToLower(*flagLogLevel) {
|
||||
case "trace":
|
||||
zerolog.SetGlobalLevel(zerolog.TraceLevel)
|
||||
|
@ -113,10 +112,11 @@ func setLogLevel() {
|
|||
default:
|
||||
zerolog.SetGlobalLevel(zerolog.InfoLevel)
|
||||
}
|
||||
log.Info().Str("new-level", *flagLogLevel).Msg("New logging level set")
|
||||
}
|
||||
|
||||
func setLogger(extraLogWriters ...io.Writer) {
|
||||
if *flagPrettyPrint {
|
||||
if !*flagLogJson {
|
||||
console := zerolog.ConsoleWriter{Out: os.Stderr}
|
||||
log.Logger = zerolog.New(zerolog.MultiLevelWriter(append([]io.Writer{console}, extraLogWriters...)...)).
|
||||
With().
|
||||
|
|
Loading…
Reference in a new issue