From 33648cc286e812a8603743c29e96830de3b4acb8 Mon Sep 17 00:00:00 2001 From: tjpcc Date: Sat, 9 Sep 2023 08:42:21 -0600 Subject: log stderr on failed CGIs --- contrib/cgi/spartan.go | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'contrib/cgi/spartan.go') diff --git a/contrib/cgi/spartan.go b/contrib/cgi/spartan.go index 6994466..272bd92 100644 --- a/contrib/cgi/spartan.go +++ b/contrib/cgi/spartan.go @@ -1,11 +1,13 @@ package cgi import ( + "bytes" "context" "fmt" "strings" sr "tildegit.org/tjp/sliderule" + "tildegit.org/tjp/sliderule/logging" "tildegit.org/tjp/sliderule/spartan" ) @@ -29,11 +31,17 @@ func SpartanCGIDirectory(pathRoot, fsRoot string) sr.Handler { return nil } - stdout, exitCode, err := RunCGI(ctx, request, filepath, pathinfo) + stderr := &bytes.Buffer{} + stdout, exitCode, err := RunCGI(ctx, request, filepath, pathinfo, stderr) if err != nil { return spartan.ServerError(err) } if exitCode != 0 { + ctx.Value("warnlog").(logging.Logger).Log( + "msg", "cgi exited with non-zero exit code", + "code", exitCode, + "stderr", stderr.String(), + ) return spartan.ServerError(fmt.Errorf("CGI process exited with status %d", exitCode)) } -- cgit v1.2.3