[feat] remove cgo and add cmd stderr output
This commit is contained in:
+22
-7
@@ -52,18 +52,33 @@ func (s *HTTPServer) setHandler(check map[string]string, script string) gin.Hand
|
||||
if err != nil {
|
||||
nlog.Warnf("setup pipe out fail: %+v\n", err)
|
||||
}
|
||||
errReader, err := cmd.StderrPipe()
|
||||
if err != nil {
|
||||
nlog.Warnf("setup pipe out fail: %+v\n", err)
|
||||
}
|
||||
|
||||
if err := cmd.Start(); err != nil {
|
||||
nlog.Warnf("start script fail: %+v\n", err)
|
||||
}
|
||||
|
||||
in := bufio.NewScanner(reader)
|
||||
for in.Scan() {
|
||||
nlog.Debugf(in.Text())
|
||||
}
|
||||
if err := in.Err(); err != nil {
|
||||
nlog.Warnf("script error: %+v\n", err)
|
||||
}
|
||||
go func() {
|
||||
in := bufio.NewScanner(reader)
|
||||
for in.Scan() {
|
||||
nlog.Debugf(in.Text())
|
||||
}
|
||||
if err := in.Err(); err != nil {
|
||||
nlog.Warnf("script error: %+v\n", err)
|
||||
}
|
||||
}()
|
||||
go func() {
|
||||
in := bufio.NewScanner(errReader)
|
||||
for in.Scan() {
|
||||
nlog.Debugf(in.Text())
|
||||
}
|
||||
if err := in.Err(); err != nil {
|
||||
nlog.Warnf("script error: %+v\n", err)
|
||||
}
|
||||
}()
|
||||
|
||||
}()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user