关注分享主机优惠活动
国内外VPS云服务器

如何在Ubuntu中记录C ++程序(Ubuntu View System Log命令)

Ubuntu允许您以多种方式实施C ++程序的日志记录。 以下是常用的记录库和方法:

标准输出(Stdout)和标准错误(STDERR):日志记录的最简单方法是将日志信息输出到标准输出或标准错误流。 这种方法不需要任何其他库,但可能缺乏灵活性和功能。

#include int main(){std :: cout <<“这是一个信息消息。” << std :: endl; std :: cerr <<“这是一个错误消息。” << std :: endl; 0;}

Syslog:Linux系统提供了一个系统列表服务,可用于记录系统级的日志记录信息。 C ++程序可以通过调用Syslog函数来使用此服务。

#include int main(){openlog(“ myApp”,log_pid,log_user); syslog(log_info,“这是一个信息消息。”); syslog(log_err,“这是一个错误消息。”);封闭(); 0;}

第三方日志库:有许多第三方日志库可以提供更丰富的功能和更大的灵活性。 这是一些流行的C ++日志库:

SPDLOG:SPDLOG是一个非常快速且功能丰富的C ++日志库。 它支持异步记录,多个日志级别,格式化输出等等。

#include“ spdlog/cinks/stdout_color_sinks.h” int main(){auto console = spdlog :: stdout_color_mt(“ console”);控制台 - > set_level(spdlog :: level :: info);控制台 - >信息(“欢迎来到spdlog!”);控制台 - >使用错误(“ arg:{}”,1); 0;}

log4CPP:log4CPP是另一个受Java log4j库启发的流行的C ++日志库。 支持多个日志输出目标(文件,控制台等),日志级别和布局格式。

#include #include #include #include setLayout(new Log4Cpp :: BasicLayout()); log4cpp ::类别&root = log4cpp ::类别:: getRoot(); root.addappender(appender); root.setPriority(log4cpp :: Priority :: info); root.info(“这是一个信息信息。”); root.Error(“这是一个错误消息。”);删除附录。 0;}

boost.log:boost.log是Boost库的一部分,并提供了灵活的日志记录功能,例如多线程支持,日志格式和异步日志。

#include #include niclude namespace loggging = boost = boost = boost :: log; log;命名空间src = boost :: rog :: cinns :: boost :: sinks :: boost :: boost :: boost :: boost :: boost :: loging :: loging :: add_console_log(std :: cout :: cout,cout,couts :: keyword :: keyword :: form word :: format :: form word :: format :: format :: format =“%message%”); logging :: add_file_log(“ sample.log”); boost_log_trivial(info)<<“ boost.log!”; BOOST_LOG_TRIVIAL(错误)<<“一些错误消息”; 0;}

您选择的记录方法取决于您的特定需求,例如性能,易用性和丰富的功能。一个简单的应用程序只需使用标准输出或系统。 对于更复杂的应用程序,您可能需要第三方库(例如SPDLOG或BOOST.LOG)来提供更多的功能和性能。

以上内容来自互联网,并不代表本网站的所有视图! 关注我们:zhujipindao .com

未经允许不得转载:主机频道 » 如何在Ubuntu中记录C ++程序(Ubuntu View System Log命令)

评论 抢沙发

评论前必须登录!