我想及时重定向过程的输出log
。如果我等待过程完成,我可以这样做:
cmd := exec.Command("yes", "Go is awesome") // Prints "Go is awesome", forever
out, err := cmd.CombinedOutput()
log.Printf("%s", out)
但是,如果该过程花费很长时间或没有完成,则将没有太大用处。我知道我可以像这样实时写入stdout:
cmd := exec.Command("yes")
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
cmd.Run()
但是,这实际上并没有帮助我,因为我正在编写未写入终端的服务。我正在寻找可以让我做类似的事情:
cmd := exec.Command("yes")
cmd.Stdout = log.Stdout
cmd.Stderr = log.Stdout
cmd.Run()
log
不能直接访问其作者,因此这是不可能的。当然,我不是唯一遇到这个问题的人,这通常是怎么做的?
您应该在此处使用管道,例如:
stdout, err := cmd.StdoutPipe()
if err != nil {
return 0, err
}
// start the command after having set up the pipe
if err := cmd.Start(); err != nil {
return 0, err
}
// read command's stdout line by line
in := bufio.NewScanner(stdout)
for in.Scan() {
log.Printf(in.Text()) // write each line to your log, or anything you need
}
if err := in.Err(); err != nil {
log.Printf("error: %s", err)
}
我只Stdout
在这里处理过,但是可以同时处理Stderr
,例如使用goroutine。
问题内容: 合并输出和结果是否可能?我已经尝试将结果重定向到文件。我的主机是MacOS,运行ubuntu docker image。 问题答案: 你可以跑 是必需的,以便您的外壳程序不解释重定向
我想在php$变量中获取返回值 我现在得到的是这样的 ok true 10007.20 cd3f2d61-c929-4a6e-a587-33878fb2b836 200 虽然我想在变量中得到它: > $value 1='ok'; $value 2='true'; $value 3='10007.20'; Echo html实体($内容); ok true 10005.20 4ce81f05-31c
本文向大家介绍springboot使用Logback把日志输出到控制台或输出到文件,包括了springboot使用Logback把日志输出到控制台或输出到文件的使用技巧和注意事项,需要的朋友参考一下 一:日志: 1、配置日志级别 日志记录器(Logger)的行为是分等级的。如下表所示: 分为:OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL 默认情况下,spring boot
我们在一个更大的事件链中使用和Azure函数。该链的所有其他部分都在log analytics中提供了日志,这样我们就可以轻松地在整个系统中跟踪任何给定的请求。然而,我无法找到一种方法,使功能App日志到同一地方。我猜这应该是可能的,因为它在我们的工作区看起来是这样的: 监控功能应用程序的文档仅提及应用程序洞察。
在将值打印到之前,需要关于如何在中设置值的最新格式的指导。 我是新手,当值输出到
问题内容: 编辑:由于似乎没有解决方案,或者我正在做一些人都不知道的非标准操作-我将修订我的问题,并问:当python应用正在制作日志时,完成记录的最佳方法是什么?很多系统调用? 我的应用程序有两种模式。在交互模式下,我希望所有输出都转到屏幕以及日志文件中,包括所有系统调用的输出。在守护程序模式下,所有输出进入日志。守护程序模式使用时效果很好。我找不到在不修改每个系统调用的情况下以交互方式将所有输