@@ -23,6 +23,8 @@ type config struct {
2323 PrefixAlt []string `yaml:"prefix-alit"`
2424 Help string `yaml:"help-command"`
2525 Secret string `yaml:"secret"`
26+ LogLevel string `yaml:"loglevel"`
27+ LogFile string `yaml:"logfile"`
2628 Responders * responderConfig `yaml:"responders"`
2729 prefixLen int
2830 helpRegex * regexp.Regexp
@@ -83,9 +85,6 @@ var version, build string
8385
8486func main () {
8587 confFile := flag .String ("conf" , "" , "Conf files, you know, conf files" )
86- loglevel :=
87- flag .String ("loglevel" , "warn" , "log level: debug/info/warn/error" )
88- logfile := flag .String ("log" , "STDOUT" , "Log file" )
8988 showversion := flag .Bool ("version" , false , "show version and exit" )
9089
9190 flag .Parse ()
@@ -107,41 +106,49 @@ func main() {
107106
108107 var err error
109108
109+ if * confFile == "" {
110+ fmt .Fprintln (os .Stderr , "Need to specify a conf file" )
111+ os .Exit (1 )
112+ }
113+
114+ confRaw , err := ioutil .ReadFile (* confFile )
115+
116+ if err != nil {
117+ fmt .Fprintln (os .Stderr , "Error reading config file: " , err )
118+ os .Exit (1 )
119+ }
120+
121+ err = yaml .Unmarshal (confRaw , & conf )
122+
123+ if err != nil {
124+ fmt .Fprintln (os .Stderr , "Error parsing config file: " , err )
125+ os .Exit (1 )
126+ }
127+
110128 var logwriter * os.File
111129
112- if * logfile == "STDOUT" {
130+ if conf . LogFile == "" || conf . LogFile == "STDOUT" {
113131 logwriter = os .Stdout
114132 } else {
115- logwriter , err = os .OpenFile (* logfile ,
133+ logwriter , err = os .OpenFile (conf . LogFile ,
116134 os .O_RDWR | os .O_CREATE | os .O_APPEND , 0644 )
117135 if err != nil {
118- fmt .Println ("Unable to write to log file" , * logfile , ":" , err )
136+ fmt .Fprintln (os .Stderr ,
137+ "Unable to write to log file" , conf .LogFile , ":" , err )
119138 os .Exit (1 )
120139 }
121140 defer logwriter .Close ()
122141 }
123142
124- logger , err = prislog .NewLogger (logwriter , * loglevel )
125-
126- if err != nil {
127- fmt .Println ("Error initializing logger: " , err )
128- os .Exit (1 )
129- }
130-
131- if * confFile == "" {
132- logger .Error .Fatal ("Need to specify a conf file" )
133- }
134-
135- confRaw , err := ioutil .ReadFile (* confFile )
136-
137- if err != nil {
138- logger .Error .Fatal ("Error reading config file: " , err )
143+ if conf .LogLevel == "" {
144+ conf .LogLevel = "warn"
139145 }
140146
141- err = yaml . Unmarshal ( confRaw , & conf )
147+ logger , err = prislog . NewLogger ( logwriter , conf . LogLevel )
142148
143149 if err != nil {
144- logger .Error .Fatal ("Error parsing config file: " , err )
150+ fmt .Fprintln (os .Stderr , "Error initializing logger: " , err )
151+ os .Exit (1 )
145152 }
146153
147154 if conf .Help == "" {
0 commit comments