mstar
1527c198e0
Better usage message Flipped the -pretty flag to -jsonlogs. Is now pretty per default
59 lines
1.5 KiB
Go
59 lines
1.5 KiB
Go
package main
|
|
|
|
import (
|
|
"flag"
|
|
"fmt"
|
|
"os"
|
|
|
|
"github.com/rs/zerolog/log"
|
|
)
|
|
|
|
var (
|
|
flagLogJson *bool = flag.Bool(
|
|
"jsonlogs",
|
|
false,
|
|
"If set, writes logging messages as json objects instead",
|
|
)
|
|
flagConfigFile *string = flag.String(
|
|
"config",
|
|
"config.toml",
|
|
"Location of the config file",
|
|
)
|
|
flagLogLevel *string = flag.String(
|
|
"loglevel",
|
|
"Info",
|
|
"Set the logging level. Options are: Trace, Debug, Info, Warning, Error, Fatal. Capitalisation doesn't matter. Defaults to Info",
|
|
)
|
|
flagConfigOnly *bool = flag.Bool(
|
|
"validate-config",
|
|
false,
|
|
"If set, the server will only validate the config (or write the default one) and then quit",
|
|
)
|
|
)
|
|
|
|
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()
|
|
}
|