标签: stderr

如何查看 ansible 命令的标准输出?

如何查看 ansible-playbook 命令的标准输出?-v 只显示 ansible 输出,而不是单个命令。如果我能立即弄清楚如何执行此操作,那就太好了,因此如果出现故障或挂起,我可以了解原因。

例如

- name: print to stdout
  action: command echo "hello"
Run Code Online (Sandbox Code Playgroud)

会打印

TASK: [print variable] ******************************************************** 

hello
Run Code Online (Sandbox Code Playgroud)

debugging stderr stdout ansible

225
推荐指数
4
解决办法
43万
查看次数

bash:以红色打印 stderr

有没有办法让 bash以红色显示stderr消息?

bash color stderr

144
推荐指数
6
解决办法
6万
查看次数

如何在不管道 stdout 的情况下管道 stderr

如何在不通过管道传输标准输出流的情况下传输标准错误流?

我知道这个命令有效,但它也会写出标准。

Command 2>&1 | tee -a $LOG
Run Code Online (Sandbox Code Playgroud)

我如何得到标准错误?

注意:我想要的是将 stderr 流写入日志并将 stderr 和 stdout 写入控制台。

unix ksh pipe stderr

25
推荐指数
2
解决办法
2万
查看次数

tar: 终止错误消息:'tar: Removingleading `/' from member names'

我从 cronjob 运行它:

tar -czvf /var/backups/svn.tgz /var/svn/*
Run Code Online (Sandbox Code Playgroud)

这会在 stderr 上生成:

tar: Removing leading `/' from member names
Run Code Online (Sandbox Code Playgroud)

我想避免这种情况,因为这不是真正的错误(对我来说!)。我只想要在 stderr 上我应该担心的事情?

我怎样才能杀死那个消息?

我感觉这是使用 tar -C 选项的问题,但我不确定,也不知道如何使用。

谢谢你的帮助,

tar stderr

20
推荐指数
1
解决办法
2万
查看次数

如何从 LFTP 捕获输出?(输出未写入 STDOUT 或 STDERR?)

我想从 lftp 访问进度信息。目前,我正在使用 curl ,如下所示:

curl http://example.com/file -o file -L 2> download.log
Run Code Online (Sandbox Code Playgroud)

这会将 curl 的进度信息写入 download.log 文件,我可以通过拖尾获取实时进度。

但是同样的方法不适用于 lftp,无论是 stdout 还是 stderr。我最终得到一个空的 download.log 文件,直到传输完成。

lftp -e 'get http://example.com/file;quit' 2> download.log
lftp -e 'get http://example.com/file;quit' 1> download.log
Run Code Online (Sandbox Code Playgroud)

当我不重定向输出时,我会在屏幕上看到进度。当我重定向输出时,我不再在屏幕上看到进度,但在 download.log 中没有显示任何内容。文件传输完成后,我看到了最终结果,就像这样 - 但之前什么都没有:

97618627 bytes transferred in 104 seconds (913.1K/s)
Run Code Online (Sandbox Code Playgroud)

lftp 是否对其输出做了一些不寻常的事情 - 打印到屏幕而不打印到 stdout/stderr?除了重定向 stdout/stderr 之外,还有其他捕获屏幕输出的方法吗?

ftp stderr curl stdout

14
推荐指数
1
解决办法
3万
查看次数

完全静音的robocopy

我正在尝试以静默方式自动复制一些文件。现在,我有 robocopy 将所有内容放入日志文件中,这很好,但完成后Log File: C:\<logfiledestination>会打印出来。我的命令如下所示:

robocopy source destination /mir /xd .svn /log:log.txt /np >nul 2>&1.

从网上搜索,我认为这>nul 2>&1会阻止任何东西出现。我对 Windows 命令行非常陌生,所以如果我做错了什么,请告诉我!

编辑:我在那里有一个幻影的半句我错过了。不过现在修好了。

silent robocopy stderr stdout

9
推荐指数
2
解决办法
3万
查看次数

无论如何让 msiexec 回显到标准输出而不是记录到文件

作为持续交付管道的一部分,我想在给定的机器上安装 msi。msiexec plus psexec 完美地做到了这一点,但似乎 msiexec 只能登录到一个文件,而我需要它登录到 stdout/stderr。

现在,为了将输出返回到我们的 CI 软件中,我必须添加第二个步骤来回显日志的内容,这似乎有点毫无意义。

有没有人以前遇到过这个问题(并克服了它?)

在此先感谢您的帮助。

标记

logging msi stderr stdout

8
推荐指数
1
解决办法
7169
查看次数

在后台启动 Sinatra 应用程序,并将 stdout 和 stderr 重定向(附加)到文件

我有一个 Sinatra 应用程序,我使用ruby app.rb. 通过 ssh 在远程机器上部署它时,如何在后台运行它并将 stdout 和 stderr 重定向到日志文件?

在重新启动时,我想保留以前的日志,以便将较新的消息附加到现有的日志文件中,而不是截断它。

将我的 Web 应用程序作为守护程序运行的推荐方式是什么?

我试过了nohup ruby app.rb &,但似乎缺少 stderr 并且在某些情况下日志语句似乎乱序。

daemon background background-process stderr sinatra

7
推荐指数
1
解决办法
7391
查看次数

守护程序调用的前台程序是否应该根据严重性级别在 stderr 和 stdout 之间拆分日志记录?

通常日志消息写入 stderr。我想知道拆分日志消息是否是一个好主意/实践,以便错误和警告转到标准错误,而调试/信息/通知消息转到标准输出?或者这是否无关紧要,因为许多专用日志记录进程无论如何只能从 stdin 读取,这需要将 stderr 和 stdout 中的源日志消息组合起来并重定向到记录器的 stdin。

[更新]

下面的两个答案都提到了系统日志,我想我需要详细说明设置。

我询问的守护进程自己在前台运行。守护进程由监督进程管理,例如runitsupervisord。在这两种情况下,守护进程的 stderr 和 stdout 将被监督进程捕获,并且监督进程的工作是决定如何以及在哪里存储日志(可能是系统日志,或者通过 UDP 网络中的其他地方) . 守护进程不必担心写入日志的内容和位置,因为它们只是写入 stdout/stderr。

在 的情况下runit,其日志记录工具svlogd将从其 stdin 中读取重定向的日志消息,这些消息是托管守护进程的 stderr/stdout 组合。至于supervisord,它可以记录 stderr 和 stdout 以分隔日志文件。

因此,在这种特定设置中,在 stderr 和 stdout 之间拆分日志还是仅写入其中一个是一种好习惯?

logging daemon stderr stdin stdout

7
推荐指数
2
解决办法
910
查看次数

nginx 记录 php-fpm 的 stderr 输出在看似随机的位置被切断

自从我开始使用产生长调用链的 PHP 库以来,调试由它引起的问题变得越来越困难,因为我的错误日志最终包含如下输出:(某些值已使用 被清空*

2017/08/23 10:47:26 [error] 13057#13057: *206119 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught ActiveRecord\DatabaseException: PDOException: SQLSTATE[22P02]: Invalid text representation: 7 ERROR:  invalid input syntax for integer: "" in /var/www/********/vendor/php-activerecord/php-activerecord/lib/Connection.php:337
Stack trace:
#0 /var/www/********/vendor/php-activerecord/php-activerecord/lib/Connection.php(337): PDOStatement->execute(Array)
#1 /var/www/********/vendor/php-activerecord/php-activerecord/lib/Table.php(237): ActiveRecord\Connection->query('SELECT * FROM "...', Array)
#2 /var/www/********/vendor/php-activerecord/php-activerecord/lib/Table.php(219): ActiveRecord\Table->find_by_sql('SELECT * FROM "...', Array, false, NULL)
#3 /var/www/********/vendor/php-activerecord/php-activerecord/lib/Model.php(1666): ActiveRecord\Table->find(Array)
#4 /var/www/********/vendor/php-activerecord/php-activerecord/lib/Model.php(1605): ActiveRecord\Model::find_by_pk('', Array)
#5 /var/www/********/includes/classes/Models/NSModel.php(11): ActiveRecord\Model::find(''" while reading response header from upstream, client: **.***.***.***, server: ***********, request: …
Run Code Online (Sandbox Code Playgroud)

nginx logging php-fpm stderr php-fastcgi

5
推荐指数
1
解决办法
2055
查看次数