flagTraceAll = flag.Bool("xx", false, fmt.Sprintf("trace (sh -x) all targets (%s=1)", EnvTrace))
flagStderrKeep = flag.Bool("logs", false, fmt.Sprintf("keep job's stderr (%s=1)", EnvStderrKeep))
flagStderrSilent = flag.Bool("silent", false, fmt.Sprintf("do not print job's stderr (%s=1)", EnvStderrSilent))
+
+ TracedAll bool
)
type RunErr struct {
if e.Finished == nil {
return name
}
- return fmt.Sprintf("%s (%fsec)", name, e.Finished.Sub(*e.Started).Seconds())
+ return fmt.Sprintf("%s (%.3fs)", name, e.Finished.Sub(*e.Started).Seconds())
}
func (e RunErr) Error() string {
args = make([]string, 0, 3)
} else {
cmdName = "/bin/sh"
- if traced {
+ if traced || TracedAll {
args = append(args, "-ex")
} else {
args = append(args, "-e")
if fdStderr != nil {
ts.FromTime(time.Now())
LogMutex.Lock()
- fmt.Fprintf(fdStderr, "%s %s\n", tai64n.Encode(ts[:]), line)
+ fmt.Fprintln(fdStderr, tai64n.Encode(ts[:]), line)
LogMutex.Unlock()
}
if StderrSilent {