Things I did while unable to commit

- Log rotation
- Execution cancellation
- HTTP redirect, error functions
- Changed naming of document parsing/loading functions
This commit is contained in:
2024-12-10 20:37:40 -05:00
parent f112a2e564
commit bf668b0cf7
8 changed files with 101 additions and 26 deletions

View File

@@ -15,6 +15,7 @@ import "git.tebibyte.media/sashakoshka/go-cli"
import "git.tebibyte.media/sashakoshka/step/providers"
import "git.tebibyte.media/sashakoshka/goutil/container"
import "git.tebibyte.media/sashakoshka/go-service/daemon"
import "git.tebibyte.media/sashakoshka/go-service/rotate"
import stephttp"git.tebibyte.media/sashakoshka/step/http"
import "git.tebibyte.media/sashakoshka/go-service/routines"
@@ -26,6 +27,10 @@ func main () {
'p', "pid-file",
"Write the PID to the specified file.",
"", cli.ValString)
flagLogDirectory := cli.NewInputFlag (
'l', "log-directory",
"Write logs to the specified directory.",
"", cli.ValString)
flagHTTPAddress := cli.NewInputFlag (
'h', "http-address",
"The address to host the HTTP server on.",
@@ -47,6 +52,7 @@ func main () {
cmd := cli.New (
"Run an HTTP server that automaticaly executes STEP files.",
flagPidFile,
flagLogDirectory,
flagHTTPAddress,
flagHTTPErrorDocument,
flagHTTPDirectoryDocument,
@@ -68,7 +74,17 @@ func main () {
pluginPath[index], _ = filepath.Abs(pat)
}
// log header for telling apart separate program runs
// 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`)