gpt4 book ai didi

c++ - 如何使用 log4cplus 检索日志条目?

转载 作者:搜寻专家 更新时间:2023-10-31 00:19:56 26 4
gpt4 key购买 nike

log4cplus 很强大,但我不知道如何用它检索日志条目?有什么特点吗? log4cplus 提供的任何 API 或类似的东西吗?提前致谢。

最佳答案

嗯,我不确定你到底想要什么。 log4cplus 文档为您提供了使用它的示例。例如:

BasicConfigurator config;
config.configure();

Logger logger = Logger::getInstance("mylogger");
LOG4CPLUS_WARN(logger, "Hello, World!");

这样你会在控制台上得到一个日志。如果你想配置 log4cplus 来记录文件中的内容,你可以使用这样的文件:

### logs.properties

# root logger

log4cplus.rootLogger=INFO, Main

# specific logger

log4cplus.logger.myloggerINFO, Main
log4cplus.additivity.mylogger=false

# appender that automatically rolls files

log4cplus.appender.Main=log4cplus::DailyRollingFileAppender
log4cplus.appender.Main.Schedule=DAILY
log4cplus.appender.Main.File=logs/mylogs.log
log4cplus.appender.Main.Append=true
log4cplus.appender.Main.MaxBackupIndex=100
log4cplus.appender.Main.MaxFileSize=100KB
log4cplus.appender.Main.layout=log4cplus::PatternLayout
log4cplus.appender.Main.layout.ConversionPattern=%D | %-5.5p | %-20.20c | %m|%n

在你的 C++ 程序中:

PropertyConfigurator config("logs.properties");
config.configure();

要记录一些东西,请使用提供的宏:

logger = Logger::getInstance("mylogger");

LOG4CPLUS_DEBUG(logger, message);
LOG4CPLUS_WARN(logger, message);
LOG4CPLUS_INFO(logger, message);
LOG4CPLUS_ERROR(logger, message);

参见 log4cplus examples开始。如果您需要更多信息,请告诉我。

我的 2 美分

编辑:

Well 日志的存储取决于您的 appender。您可以拥有一个标准文件 (FileAppender) 或一组文件 (RollingFileAppender) 等。这样您就可以通过查看文件来查看旧日志。也可以使用系统日志,或者自己写appender

以编程方式,一种使用 DailyRollingFileAppender 的方式。然后您可以打开特定日期对应的文件,并通过读取文件内容来获取您的日志。

另一种方法是编写一个 log4cplus DBMS 附加程序并使用 SQL 库来读取它们。我知道没有标准的 API 可以重新登录 log4cplus。

关于c++ - 如何使用 log4cplus 检索日志条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7201220/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com