首页 / 知识
关于c ++:堵塞的目的是什么?
2023-04-14 17:24:00

What is the point of clog?我一直在想,堵塞的目的是什么?据我所知,clog与cerr相同,但具有缓冲功能,因此效率更高。通常stderr与stdout相同,因此clog与cout相同。这对我来说似乎很la脚,所以我认为我一定会误会它。如果我将日志消息发送到同一位置,将错误消息发送到同一位置(也许在/ var / log / messages中),那么我可能不会写太多消息(因此,使用non命令不会造成太多损失)缓冲的cerr)。以我的经验,我希望我的日志消息是最新的(非缓冲的),以便我可以帮助查找崩溃(因此,我不想使用缓冲的木log)。显然我应该一直使用cerr。 我希望能够重定向程序内部的阻塞。重定向cerr很有用,这样当我调用库例程时,我可以控制cerr和clog的去向。一些编译器可以支持吗?我刚刚检查了DJGPP,并将stdout定义为FILE结构的地址,因此执行" stdout = freopen(...)"之类的操作是非法的。
是。您需要
据我所知,是的。
如果您在posix shell环境中(我真的在考虑bash),则可以重定向任何
将stderr重定向到fd = 5表示的文件。 编辑:再三考虑,我更喜欢@Konrad Rudolph关于重定向的答案。 rdbuf()是一种更一致且可移植的方法。 至于日志记录,...我从Boost库开始,处理所有不在std库中的C ++。看一下:Boost Logging v2 编辑:Boost日志记录不是Boost库的一部分;它已经过审查,但未被接受。 编辑:2年后的2010年5月,Boost接受了一个日志库,现在称为Boost.Log。 当然,还有其他选择:
还有Windows事件记录器。 还有一些可能有用的文章:
重新导向
关于如何重定向 好。
其他答案告诉您各种可能性,例如使用命令行重定向(例如 好。
通常这是正确的,但是在Unix下,您可以将 好。 系统日志
没提到的一件事,在Unix下,您也有 好。
Linux(甚至可能是Mac OS / X)下的最新版本比以前具有更多功能。特别是,它可以使用标识和其他一些参数将日志重定向到特定文件(即 好。
好。
它提供8个级别(或严重性),格式为la 好。
以编程方式,如果您首先调用 好。 如unixman83所述,您可能想要使用宏。这样,您可以在邮件中包含一些参数,而不必一遍又一遍地重复它们。也许是这样的(请参见可变参数宏): 好。
您可能还会发现 好。 重定向,过滤等是通过创建配置文件来完成的。这是我的snapwebsites项目的示例: 好。
我将文件安装在 好。
注意:我还必须创建 好。 快照程序(一点插头) 我使用过log4cplus,从1.2.x版本开始,它就相当不错。我对此有三个缺点: 好。
因此,尤其是由于第(1)点,我编写了自己的版本称为snaplogger。但是,这并不是一个完全独立的项目。我使用了snapcpp环境中的许多其他项目(仅获取snapcpp并运行 好。
使用诸如snaplogger或log4cplus之类的记录器的优点是,您通常可以定义任意数量的目标和许多其他参数(例如 好。 这是快照记录器配置文件中的一个简单示例: 好。
请注意,对于 好。
两者都为您提供了添加自己的附加程序的方法。因此,例如,如果您有一个带有输出窗口的Qt应用程序,则可以编写一个附加程序,将 好。
好。
好。 好。 由于这里有一些关于重定向的答案,因此,我将添加我最近偶然发现的关于重定向的这个漂亮的宝石:
基本上,这是一个重定向类,它允许您重定向任何两个流,并在完成后将其还原。 基本记录仪
用作 是非常有效的。 然后做:
或者只是手动解析stderr.log 我承认这不是针对性能至关重要的代码。但是反正是谁写的。 |
最新内容
相关内容
linux关机命令日志?
linux关机命令日志?,系统,工作,命令,时间,用户,表示,终端,进程,操作,指令,linux关机命令shutdown命令 shutdown命令用于安全关闭Linux系统。执归档日志命令linux?
归档日志命令linux?,数据,工作,公司,位置,代理,信息,日志,对比,最新,系统,Oracle归档模式的命令及参数说明1、修改为归档模式sys@JSL alter da清空日志命令linux?
清空日志命令linux?,系统,信息,时间,文件,日志,工作,价值,工具,服务,设备,linux定时清理nohup命令下产生的日志1、nohup命令的缺点:日志文件文linux日志外发命令?
linux日志外发命令?,系统,信息,时间,数据,服务,公共,实时,位置,情况,日志,Linux中的查看服务器运行的日志的命令是什么呢第一种:查看实时变化的linux命令防火墙位置?
linux命令防火墙位置?,系统,服务,软件,密码,状态,位置,防火墙,工具,公共,设备,LINUX系统怎么关闭防火墙1、打开linux系统,在linux的桌面的空白linux下查看日志命令?
linux下查看日志命令?,系统,一致,对比,信息,标准,地址,实时,情况,工具,管理,linux系统下确认谁删除了文件怎么查看?1、打开linux服务器,然后在llinux命令日志输出?
linux命令日志输出?,系统,状态,命令,情况,对比,标准,实时,服务,下来,数据,怎么导出linux系统日志.1、首先进入系统日志,所有服务的登录的文件或复制项目的linux命令?
复制项目的linux命令?,系统,项目,文件,命令,目录,源文件,语法,选项,目标,功能,在Linux操作系统中复制文件或目录时使用的命令是()。1、在Linuxlinux命令查寻日志?
linux命令查寻日志?,系统,信息,对比,情况,日志,时间,第一,实时,命令,文件,linux查看日志命令1、第一种:查看实时变化的日志(比较吃内存)。最常用linux访问日志的命令?
linux访问日志的命令?,系统,信息,对比,实时,基础,日志,命令,文件,设备,管理,linux系统常用命令熟悉吗?如何在日志文件中,定位用户请求1、“chmlinux命令保存日志?
linux命令保存日志?,系统,信息,服务,数据,时间,下来,日志,文件,适当,等级,怎么导出linux系统日志.首先进入系统日志,所有服务的登录的文件或错linux命令忽略错误?
linux命令忽略错误?,系统,地址,工作,信息,设备,命令,设计,灵活,观察,标准,linux命令问题,在使用ls命令时,能不能不让输出错误信息--pid=进程号