问题标签 [log4cpp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1262 浏览

c++ - 未定义对 log4cpp 库中的函数的引用

我还有另一个问题...我下载了 log4cpp 库并通过 Microsoft Visual Studio 将其编译为 .lib 文件。现在我想将该库链接到 QT 项目中,但是每当我调用一个函数时,例如

我收到很多错误说

这是项目文件中的代码:

我不知道该怎么办 :(

0 投票
2 回答
651 浏览

c++ - log4cpp - Unhandled exception and access violation

Here is some example code I read from some tutorial:

Error report:

What might have caused the error ?

0 投票
1 回答
1562 浏览

c++ - log4cpp 重复记录日志

我正在使用 log4cpp 创建一个 Log 类,该类是在单例模式下设计的。这是我的 Log.h

这是我的 Log.cpp 文件:

最后是我的 testmain.cpp:

编译g++ -g Main.cpp Log.cpp -lpthread -llog4cpp并运行它。输出是:

但 test.log 是这样的:

我想知道为什么第二次通话记录两次。我使用 log4cpp 错了吗?

0 投票
2 回答
138 浏览

c++ - log4cpp - log4cpp::AppenderSkeleton 不存在默认构造函数

我最近在我的项目中链接了 log4cpp,我尝试这样创建一个类:

我试过的

  • 添加另一个构造函数:ConsoleAppenderSkeleton(void);
  • 删除初始化列表

知道是什么原因造成的吗?我知道我需要实现诸如 close() 之类的继承函数,但是这些函数不应该导致此错误,并且在 C++ 中您不必强制重写,如果您不这样做,它只会以一种奇怪的方式表现

0 投票
2 回答
592 浏览

c++ - 使用 C/C++ 中的二分搜索在日志文件中搜索日期时间

我有一些由 log4cpp 格式编写的日志文件

--由于log4cpp的性质,这个文件在每一行的开头是按日期时间排序的

假设格式像

现在我正在编写一个程序来解析这些文件并尝试快速定位一行。

例如,如果我运行

./my_program -start_time "2013-08-05 14:17:36" file_2.txt

我期待这个程序可以返回 607083 作为结果。

此外,-start_time 可以基于其他粒度,例如“2013-08-05 14:17:35.899”或“2013-08-15”,但我期待最近的结果。

我可以逐行遍历这个文件,并比较每行开头的时间戳(只使用字符串比较),但这需要 O(N) 时间。我已经实现了这一点,发现如果一开始有数百万行要跳过,那真的很慢。

我想知道我们是否可以为此使用二进制搜索。我认为这是返回最近结果的最佳方法,只需要 O(lgN) 时间

0 投票
0 回答
182 浏览

c++ - log4cpp 在一个项目中编译错误,但在另一个项目中没有

注意:我是 C++ 新手。我有一个包含多个项目的现有解决方案,我能够创建一个新的项目/.cpp 文件并将 .h 文件成功包含在应用程序的一个较低级别的文件/项目中(即按预期编译和运行可执行文件)。但是,当我在应用程序的顶级 .cpp 文件/入口点包含我的文件的标头时,会返回有关 log4cpp/category.hh 的几个语法错误。

经过一番搜索,我似乎基于一些 SO 问题,这可能是由 log4cpp 和 boost(我有 1.55)之间的冲突引起的。现有的解决方案包含 log4cpp,而我的 .h/.cpp 包含 boost\filesystem.hpp。

当我打开 category.hh 时,错误指向 2 行,每行都带有“Priority::ERROR”。错误包括“'constant': :: 右侧的非法标记”和“函数不接受 0 个参数”。

查看 Priority.hh,他们有一个 typedef enum {} 用于各种优先级。当我将光标悬停在每个枚举上时,除了错误之外,它们都有一个关联的整数值。

对我来说奇怪的是,我最初包含我的标题的文件也有 log4cpp #includes,并且不会抛出任何错误。然而,这两个地点在不同的项目中。

以我对 c++ 的了解,我只是不确定如何解决/调试这个问题。是否有我需要寻找的某个项目属性/设置会导致它在一个项目中失败而在另一个项目中失败?任何帮助是极大的赞赏。

0 投票
1 回答
64 浏览

android - 尝试配置 log4cpp 时的 ^A 和 ^B 字符

当我尝试配置从Log4cpp CodeGit位置克隆的 log4cpp 时。

我观察到 #ifdef 宏末尾的 ^A 和 ^B 字符,因此编译没有通过。

我遵循的步骤是
1) git clone git://git.code.sf.net/p/log4cpp/codegit log4cpp-codegit
2) ./autogen.sh
3) ./configure

输出文件的摘录包括/log4cpp/config.h

如果有人遇到此问题并已解决,请告诉我。

谢谢。

0 投票
1 回答
2028 浏览

logging - 让 log4cpp 在执行期间创建一个新的日志文件

我目前在 Linux RHEL 平台上使用 Log4cpp 进行日志记录。

我不断记录一个守护程序应用程序。

我的问题是 log4cpp 生成的日志文件可能随时被删除(使用 rm 命令、logrotate 等),虽然文件被删除,但文件描述符仍然由守护进程打开。Log4cpp 不断尝试登录该文件,但没有添加任何内容,新的日志行会丢失,直到我手动创建一个新的日志文件。

我通过在 logrotate 配置中使用 SIGHUP 信号解决了 logrotate 问题,以便守护程序在每次日志轮换时重新启动 log4cpp 实例。但我希望有一个更聪明的方法,因为新用户在刷出日志目录后不会向我的守护进程发送 SIGHUP,并且稍后会注意到守护进程没有记录。

有任何想法吗 ?

0 投票
1 回答
688 浏览

c++ - 使用自定义工具链编译 log4cpp

我在我们的项目中使用 log4cpp。由于我们需要支持各种 Linux 发行版,我构建了一个自定义工具链来构建我们的项目。由于我的项目是使用自定义工具链构建的,我是否也应该使用相同的工具链构建 log4cpp?

我可以使用本机编译器使用其网页中提到的三个简单命令成功构建 log4cpp。

但是这个库不适用于我们自定义构建的二进制文件。我是 Linux 新手,所以无法弄清楚要更改的文件以使用自定义编译器进行编译。例如,我们的自定义工具存在于/usr/custom/g++.

我可以在我们的项目中构建一个 log4cpp 的静态库吗?我正在使用 Ubuntu 14.0 进行编译。请帮忙

0 投票
1 回答
512 浏览

c++ - log4cpp 和链接错误

log4cppLIB.lib(Appender.obj):错误 LNK2038:检测到“_ITERATOR_DEBUG_LEVEL”不匹配:值“0”与 H 中的值“2”不匹配tmlHelper.obj

尝试使用 log4cpp 编译我的程序时收到此错误消息

下载库后,我解压缩,创建了一个环境变量,然后在我的项目设置中引用它的“包含”文件夹,因此头文件包含在内而不会出错。接下来,我在 msvc10 中重新编译了项目文件,并检索了 lib 和 dll 文件。

然后在我的项目中,我包括 #pragma comment (lib,"path to the lib file")

在我的主程序中(我的应用程序是控制台)

编译这个程序给了我上面的链接错误(我只发布了一个上面但实际上有很多 - 所有这些链接错误)

我认为我的项目设置和 lob4cpp 库的安装是错误的(他们的文档已过期)