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:
		
							parent
							
								
									728d50f6b5
								
							
						
					
					
						commit
						0f3c563dbf
					
				@ -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 {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user