cmd/stepd: Set up logging after dropping privelege

This has to be done because we can't just create a log file as
root and not be able to open it later
This commit is contained in:
Sasha Koshka 2024-12-11 03:13:07 -05:00
parent 728d50f6b5
commit 0f3c563dbf

View File

@ -83,21 +83,6 @@ func main () {
pluginPath[index], _ = filepath.Abs(pat)
}
// set up logging
if flagLogDirectory.Value != "" {
directory := flagLogDirectory.Value
log.Println("(i) logging to", directory)
directory, err := filepath.Abs(directory)
if err != nil { log.Fatalln("XXX", err) }
logger, err := rotate.New(directory)
if err != nil { log.Fatalln("XXX", err) }
defer logger.Close()
log.SetOutput(logger)
}
log.Println(`==========| STEP |===========`)
log.Println(`Scriptable Template Processor`)
log.Println(`... initializing`)
// manage start and end of program
ctx, done := context.WithCancel(context.Background())
defer done()
@ -118,6 +103,21 @@ func main () {
if err != nil { log.Fatalln("XXX could not drop privelege:", err) }
}
// set up logging
if flagLogDirectory.Value != "" {
directory := flagLogDirectory.Value
log.Println("(i) logging to", directory)
directory, err := filepath.Abs(directory)
if err != nil { log.Fatalln("XXX", err) }
logger, err := rotate.New(directory)
if err != nil { log.Fatalln("XXX", err) }
defer logger.Close()
log.SetOutput(logger)
}
log.Println(`==========| STEP |===========`)
log.Println(`Scriptable Template Processor`)
log.Println(`... initializing`)
// the single argument is for the directory to serve. we actually cd
// there.
if len(cmd.Args) == 1 {