首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当从bash脚本调用时,Boost::log stdout仅在执行后显示

Boost::log是一个开源的C++库,用于在应用程序中实现灵活和高性能的日志记录。它提供了丰富的功能,包括多线程安全、异步日志记录、日志过滤和格式化等。

当从bash脚本调用时,Boost::log默认情况下将日志输出到标准错误流(stderr),而不是标准输出流(stdout)。这是因为标准错误流通常用于输出错误和警告信息,而标准输出流用于正常的程序输出。

如果希望将Boost::log的日志输出到标准输出流(stdout),可以通过以下步骤实现:

  1. 在bash脚本中调用程序时,将标准错误流重定向到标准输出流,可以使用以下命令:
  2. 在bash脚本中调用程序时,将标准错误流重定向到标准输出流,可以使用以下命令:
  3. 这将把标准错误流与标准输出流合并,使得Boost::log的日志输出也会显示在标准输出中。
  4. 在Boost::log的配置中,将日志记录器(logger)的输出目标设置为标准输出流(stdout)。具体的配置方式取决于Boost::log的使用方式和版本,以下是一个示例配置:
  5. 在Boost::log的配置中,将日志记录器(logger)的输出目标设置为标准输出流(stdout)。具体的配置方式取决于Boost::log的使用方式和版本,以下是一个示例配置:
  6. 在上述示例中,add_console_log函数将日志输出到std::cout,即标准输出流(stdout)。

总结: 当从bash脚本调用时,Boost::log的日志默认输出到标准错误流(stderr)。要将日志输出到标准输出流(stdout),可以通过重定向标准错误流到标准输出流,并在Boost::log的配置中将日志记录器的输出目标设置为标准输出流。具体的配置方式取决于Boost::log的使用方式和版本。

腾讯云相关产品推荐:

  • 云服务器(ECS):提供可扩展的计算能力,用于部署和运行应用程序。
  • 云原生容器服务(TKE):用于在云上快速构建和管理容器化应用程序。
  • 云数据库MySQL版(CDB):提供高性能、可扩展的关系型数据库服务。
  • 云存储(COS):提供安全可靠的对象存储服务,适用于存储和管理大规模的非结构化数据。
  • 人工智能机器学习平台(AI Lab):提供丰富的人工智能算法和工具,用于构建和训练机器学习模型。
  • 物联网套件(IoT Hub):用于连接、管理和监控物联网设备的云平台。

以上产品的详细介绍和更多信息,请访问腾讯云官方网站:https://cloud.tencent.com/

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

nodejs写bash脚本终极方案!

◆ 前言 最近在学习bash脚本语法,但是如果对bash语法不是熟手的话,感觉非常容易出错,比如说:显示未定义的变量shell中变量没有定义,仍然是可以使用的,但是它的结果可能不是你所预期的。...; } console.log(`stdout: ${stdout}`); }); 这里需要注意的是,首先exec是异步的,但是我们bash脚本命令很多都是同步的。...bash命令的api spawn:启动一个子进程来执行命令 exec:启动一个子进程来执行命令,与spawn不同的是,它有一个回函数能知道子进程的情况 execFile:启动一子进程来执行执行文件...., stdout:..., stderr:... } 的对象)。 # 否则,这将返回子进程对象,并且回接收参数(代码、标准输出、标准错误)。...由于此类全局变量在脚本中非常方便,因此 zx 提供了这些以在 .mjs 文件中使用(使用 zx 可执行文件时) require也是commonjs中的导入模块方法, 在 ESM 模块中,没有定义 require

3.9K20

nodejs 写 bash 脚本终极方案!

前言 最近在学习bash脚本语法,但是如果对bash语法不是熟手的话,感觉非常容易出错,比如说:显示未定义的变量shell中变量没有定义,仍然是可以使用的,但是它的结果可能不是你所预期的。...; } console.log(`stdout: ${stdout}`); }); 复制代码 这里需要注意的是,首先exec是异步的,但是我们bash脚本命令很多都是同步的。...bash命令的api spawn:启动一个子进程来执行命令 exec:启动一个子进程来执行命令,与spawn不同的是,它有一个回函数能知道子进程的情况 execFile:启动一子进程来执行执行文件...., stdout:..., stderr:... } 的对象)。 # 否则,这将返回子进程对象,并且回接收参数(代码、标准输出、标准错误)。...由于此类全局变量在脚本中非常方便,因此 zx 提供了这些以在 .mjs 文件中使用(使用 zx 可执行文件时) require也是commonjs中的导入模块方法, 在 ESM 模块中,没有定义 require

2.5K20
  • shell-编写shell脚本所需的基础语法

    执行命令: `ls /etc` : 反引号 (所有的unix系统都支持) $(ls /etc) : $+() (部分unix系统不支持) 多个嵌套使用时内向外执行 for file...如果希望执行某个命令,但又不希望在屏幕上显示输出结果,那么可以将输出重定向到 /dev/null: 输入重定向 bash.sh < file : 将脚本的输入重定向到file,由file提供参数 输出重定向...bash.sh > file : 将脚本的输出数据重定向到file中,覆盖数据 bash.sh >> file : 将脚本的输出数据重定向到file中,追加数据 command >> file 2...>&1 : 将 stdout 和 stderr 合并重定向到 file 读取外部输入 命令:read arg (脚本读取外部输入并赋值到变量上) 在shell脚本执行到上述命令时,停止脚本执行并等待外部输入...命令:set -e 或者 set +e set -e表示当前位置开始,如果出现任何错误都将触发exit。相反,set +e表示不管出现任何错误继续执行脚本

    89620

    《Linux命令行与shell脚本编程大全》第十五章 呈现数据

    shell或shell中运行的程序和脚本出错时生成的错误消息都会发送到这个位置。 默认情况下STROUT和STDERR指向同样的地方(显示器)。但是STDERR不会随着STDOUT重定向而发生改变。...新方法:用exec命令告诉shell在脚本执行期间重定向某个特定文件描述符 直接上例子: 1 #!...意味着给3的数据都将出现再显示器上   4 exec 1>test5log.txt # 将STDOUT重定向到文件。但是3仍然指向STDOUT原来的位置,也就是显示器。这时给3发会显示显示器中。...如何关闭: 将要关闭的文件描述符重定向到特殊符号 &- 一旦关闭,就不能在脚本中向他写入数据,否则shell会产生错误信息。 例子:   1 #!.../bin/bash   2 exec 3> testfile   3 lsof -a -p $$ -d 0,1,2,3,4 15.6 阻止命令输出 有时不想显示脚本的输出。

    1.3K60

    shell编程知识点集锦

    (3)全局变量:在脚本中定义,仅在当前shell脚本中有效,其他shell脚本进程不能访本,其作用域定义的位置开始,到脚本结束或被显示删除的地方为止。...注意,全局变量既可以在shell函数内定义,也可以在shell函数外定义,因为shell函数内定义的变量默认为global,且作用域“函数被调用时执行变量定义的地方”开始,到脚本结束或被显示删除的地方为止...如果当前命令没有返回则阻塞等待,直到当前命令执行完成才继续执行下一条命令。...可以使用“&”把一个程序的执行放入后台,但是脚本运行到最后是不会等待这个进程的返回结果的,所以会直接结束脚本运行,该进程也会成为一个孤儿。解决方法是在脚本最后放“wait”。...(4)shell函数使用时需要前置申明吗? shell函数在使用前必须定义,没有申明的说法!一个通常的办法是把函数定义放在脚本开始部分。

    1.6K10

    【知识总结】Shell脚本编程入门

    变量类型 运行shell时,会同时存在三种变量: 1) 局部变量 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。...int 1 开始,每次循环处理时,int 加 1。运行上述脚本,返回数字 1 到 5,然后终止。 #!...取值可以为变量或常数,匹配发现取值符合某一模式,其间所有命令开始执行直至 ;;。 取值将检测匹配的每一个模式。一旦模式匹配,则执行完匹配模式相应命令不再继续其他模式。...后台运行的最后一个进程的ID号 $@ 与$*相同,但是使用时加引号,并在引号中返回每个参数。 $- 显示Shell使用的当前选项,与set命令功能相同。 $? 显示最后命令的退出状态。...如果希望将 stdout 和 stderr 合并重定向到 file,可以这样写: $ command > file 2>&1 或者 $ command >> file 2>&1 如果希望对 stdin

    4K20

    一文读懂NodeJs知识体系和原理浅析

    pending callbacks:执行推迟到下一个循环迭代的 I/O 回。 idle, prepare, :仅在内部使用。...回完成,队列中不再有回,此时事件循环已达到最早计时器 (timer) 的阈值 (100ms),然后返回到计时器 (timer) 阶段以执行计时器的回。...2.2 如果脚本并没有 setImmediate 设置回,则事件循环将等待 poll 队列中的回,然后立即执行它们。...如果一个或多个计时器 timer 准备就绪,则事件循环将返回到计时器阶段,以执行这些计时器的回。 检查阶段 check 此阶段允许在轮询 poll 阶段完成立即执行。...setImmediate 设计为在当前轮询 poll 阶段完成执行脚本。 setTimeout 计划在以毫秒为单位的最小阈值过去之后运行脚本

    1.3K10

    一文读懂NodeJs知识体系和原理浅析_2023-03-01

    pending callbacks:执行推迟到下一个循环迭代的 I/O 回。 idle, prepare, :仅在内部使用。...回完成,队列中不再有回,此时事件循环已达到最早计时器 (timer) 的阈值 (100ms),然后返回到计时器 (timer) 阶段以执行计时器的回。...2.2 如果脚本并没有 setImmediate 设置回,则事件循环将等待 poll 队列中的回,然后立即执行它们。...如果一个或多个计时器 timer 准备就绪,则事件循环将返回到计时器阶段,以执行这些计时器的回。 检查阶段 check 此阶段允许在轮询 poll 阶段完成立即执行。...setImmediate 设计为在当前轮询 poll 阶段完成执行脚本。 setTimeout 计划在以毫秒为单位的最小阈值过去之后运行脚本

    1.2K00

    收藏~ 一篇教会你写90%的shell脚本

    执行命令: `ls /etc` : 反引号 (所有的unix系统都支持) $(ls /etc) : $+() (部分unix系统不支持) 多个嵌套使用时内向外执行 for file in \s /etc...如果希望执行某个命令,但又不希望在屏幕上显示输出结果,那么可以将输出重定向到 /dev/null: 输入重定向 bash.sh < file : 将脚本的输入重定向到file,由file提供参数 输出重定向...1 : 将 stdout 和 stderr 合并重定向到 file 读取外部输入 命令:read arg (脚本读取外部输入并赋值到变量上) 在shell脚本执行到上述命令时,停止脚本执行并等待外部输入...命令:set -e 或者 set +e set -e表示当前位置开始,如果出现任何错误都将触发exit。相反,set +e表示不管出现任何错误继续执行脚本。...shell脚本调试 检查是否有语法错误-n: bash -n script_name.sh 使用下面的命令来执行并调试 Shell 脚本-x: bash -x script_name.sh 调试

    2.3K10

    一篇教会你写90%的shell脚本

    执行命令: `ls /etc` : 反引号 (所有的unix系统都支持) $(ls /etc) : $+() (部分unix系统不支持) 多个嵌套使用时内向外执行for file in \s /etc...如果希望执行某个命令,但又不希望在屏幕上显示输出结果,那么可以将输出重定向到 /dev/null: **输入重定向** 1. bash.sh > file 2>&1 : 将 stdout 和 stderr 合并重定向到 file #### 读取外部输入 命令:`read arg` (脚本读取外部输入并赋值到变量上) 在...命令:set -e 或者 set +e set -e表示当前位置开始,如果出现任何错误都将触发exit。相反,set +e表示不管出现任何错误继续执行脚本。...shell脚本调试 检查是否有语法错误-n: bash -n script_name.sh 使用下面的命令来执行并调试 Shell 脚本-x: bash -x script_name.sh 调试count_odd_number.sh

    1.7K01

    shell语法

    shell语法 一门新的语言 Linux中常见的脚本 sh:/usr/bin/sh或/bin/sh bash:/bin/bash csh:/usr/bin/csh ksh:/usr/bin/ksh zsh.../bin/bash指名bash脚本解释器 运行方式: 作为可执行文件: chmod +x test.sh使脚本具有可执行权限 ..../bin/bash解释的时候也是注释,只是系统识别为脚本解释器 多行注释:前 :<<EOF:EOF;其中EOF也可以换成其他字符串,或者符号(必须首位相同) 变量 变量的定义 定义变量不需要¥符号 name1...My name is $name” 显示换行:直接\n无法显示换行转义,开启转义需要-e:例如:echo -e “Hi\n”,即可输出转义 强行不换行:-e\c,\c可以取消最后的回车(和py中的end...-x filename:filename不可执行时,返回true 判断符号 【】和test用法几乎一样,更常用于if语句中 []内的每一项都要用空格隔开 中括号内的变量,最好用双引号括起来(为了防止变量中有空格时

    12210

    一、问题

    脚本中是通过nohup java -jar &的方式启动,显示执行成功,但是服务却没启动,脚本如下: #!.../usr/local/joshua317-test-core-1.0-SNAPSHOT.jar & 也就是说通过Jenkins构建完推送到业务服务器,在执行脚本时,脚本中的 nohup 命令无法正常退出...二、排查 1.在业务服务器上直接执行脚本,可以正常运行,说明脚本的问题不大,但是一旦结合jenkins进行发布,虽然jenkins显示成功,但是shell脚本并没有执行。.../bin/bash echo "hello" >> /usr/local/test.txt /usr/local/test.txt中有内容,说明脚本是可以执行成功,同时也说明jenkins在执行带有nohup...也就是说构建命令中如果带有 nohup xxx & 触发构建并构建成功,虽然但在构建任务的输出中却显示没有问题,也没有任何报错,但是并没有执行shell脚本

    1.3K10
    领券