add configurable log file path
This commit is contained in:
@@ -24,6 +24,8 @@ var command = &cobra.Command{
|
||||
viper.SetEnvPrefix("XIP")
|
||||
viper.AutomaticEnv()
|
||||
|
||||
utils.InitLogger(viper.GetString("log-file"))
|
||||
|
||||
email := viper.GetString("Email")
|
||||
_, err := mail.ParseAddress(email)
|
||||
if err != nil {
|
||||
@@ -84,6 +86,9 @@ var command = &cobra.Command{
|
||||
}
|
||||
|
||||
func Execute() {
|
||||
command.Flags().String("log-file", utils.DefaultLogFile, "Path to log file")
|
||||
viper.BindPFlag("log-file", command.Flags().Lookup("log-file"))
|
||||
|
||||
command.Flags().Uint("dns-port", 53, "Port for the DNS server")
|
||||
viper.BindPFlag("dns-port", command.Flags().Lookup("dns-port"))
|
||||
|
||||
|
||||
@@ -8,14 +8,25 @@ import (
|
||||
"gopkg.in/natefinch/lumberjack.v2"
|
||||
)
|
||||
|
||||
var consoleWriter = zerolog.ConsoleWriter{Out: os.Stdout, TimeFormat: time.RFC3339}
|
||||
var fileWriter = &lumberjack.Logger{
|
||||
Filename: "/var/log/local-ip.sh.log",
|
||||
MaxBackups: 3,
|
||||
MaxSize: 1, // megabytes
|
||||
MaxAge: 1, // days
|
||||
Compress: true, // disabled by default
|
||||
}
|
||||
var multi = zerolog.MultiLevelWriter(consoleWriter, fileWriter)
|
||||
const DefaultLogFile = "/var/log/local-ip.sh.log"
|
||||
|
||||
var Logger = zerolog.New(multi).With().Timestamp().Logger()
|
||||
var consoleWriter = zerolog.ConsoleWriter{Out: os.Stdout, TimeFormat: time.RFC3339}
|
||||
|
||||
var Logger = zerolog.New(consoleWriter).With().Timestamp().Logger()
|
||||
|
||||
func InitLogger(logFile string) {
|
||||
if logFile == "" {
|
||||
logFile = DefaultLogFile
|
||||
}
|
||||
|
||||
fileWriter := &lumberjack.Logger{
|
||||
Filename: logFile,
|
||||
MaxBackups: 3,
|
||||
MaxSize: 1,
|
||||
MaxAge: 1,
|
||||
Compress: true,
|
||||
}
|
||||
|
||||
multi := zerolog.MultiLevelWriter(consoleWriter, fileWriter)
|
||||
Logger = zerolog.New(multi).With().Timestamp().Logger()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user