linux - Bash Linux 如何创建 stderr、stdout 和组合日志文件

标签 linux bash

使用 linux bash,我必须将我的 nodejs 应用程序的日志重定向到 stdout 和 stderr 日志文件,而且还要创建第三个日志文件,将它们合并为一个。

我用过:node app.js 1>log/stdout.log 2>log/stderr.log

我搜索了一些命令来附加以创建将 stdout.log 与 stderr.log 合并到 combined.log 文件中的日志文件。

根据其他类似问题的建议,我尝试使用 tee 命令,但我做不到。

你能帮帮我吗?

谢谢

最佳答案

默认情况下,您有 3 个变量:0 包含 stdin1 包含 stdout2 包含 stderr,能够执行您的建议意味着使用第三个占位符 3tee 命令: 默认情况下 tee 仅“捕获”stdout

(((node app.js | tee log_stdout.txt) 3>&1 1>&2 2>&3 | tee log_stderr.txt ) 3>&2 2>&1 1>&3 ) > log_combined.txt 2>&1

可以找到详细解释here

关于linux - Bash Linux 如何创建 stderr、stdout 和组合日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48440232/

相关文章:

linux - Bash 生成正数和负数之间的随机数

linux - 如何在 Linux 中添加一个 cron 作业

linux - 如何在 cURL 的 URL 开头绑定(bind)变量,这是抛出错误

python - 不使用 bash 时如何正确激活 Anaconda 环境?

java - 在 linux 中用 java 打开一个 eml 文件

bash - unix 跳过 header bash 函数

linux - Bash,按大小将目录中的文件分成组(低性能)

c - gdb 就像打印指向结构的指针

linux - 显示包含在 elf 文件中的字符串

linux - 使用反引号的 Cron 错误