问题标签 [log4cxx]

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 回答
161 浏览

c++ - 使用 log4cxx 作为输入计数器

我想添加一个计数器来记录每小时或每天输入多少数据。

由于我的代码中没有计时器,我希望可以处理日常日志轮换的 log4cxx 可以帮助我。就像,每个午夜,打印一个日志,显示昨天有多少数据。

有谁知道诀​​窍或任何参考?

谢谢。

0 投票
3 回答
1862 浏览

c++ - 如何重载 ostream 运算符 << 以使其与 C++ 中的 log4cxx 一起使用?

假设我有一个 A 类和一个 operator<< 声明如下:

在其他地方,我将我的记录器与 A 一起使用:

编译器抱怨:二进制 '<<' : no operator found 采用 'const A' 类型的右手操作数(或没有可接受的转换) D:\dev\cpp\lib\apache-log4cxx\log4cxx\包括\log4cxx\helpers\messagebuffer.h 190

此错误将我带到以下声明operator<<

LOG4XX_INFO宏扩展为:

MessageBuffer也“定义”了这个运算符:

我不明白如何以正确的方式重载此运算符以使其工作。任何的想法?

0 投票
2 回答
2152 浏览

c++ - 使用 log4cxx 记录和过滤

我正在开发需要日志记录和过滤功能的应用程序。我正在使用 C++。我开始了解 log4cxx 支持日志记录。

我在过滤时遇到了困难。

我有五个字段

  1. MACID
  2. 日期和时间
  3. 命令类型
  4. 地位
  5. 短信

我需要将这 5 个字段存储在日志文件中,并根据以下过滤选项对其进行过滤。日志记录和过滤将在运行时本身完成。一旦文件大小达到 10 MiB,它将从头开始重写文件。

过滤选项
1. MACID
2. 日期和时间

过滤可以通过过滤一个或两个来完成。结果应该返回日志文件中的所有字段。

  1. 是否可以使用 log4CXX 在日志文件中存储多个字段?
  2. 如何根据上述标准过滤信息?
  3. 我是否需要编写自己的从现有过滤器类继承的过滤器类?
  4. 我是否需要编写自定义记录器类以在日志文件中存储 5 个字段?
0 投票
1 回答
1057 浏览

c++ - Log4Cxx sql server appender

使用 Log4Cxx 时是否可以将日志写入 MS SQL 服务器?我在谷歌上搜索了一段时间,发现了一些使用 ODBCAppender 的示例。例如:

也许我只需要“驱动程序”字段的正确值?我正在使用 MS SQL Server 2008。

谢谢!

0 投票
1 回答
600 浏览

c++ - Log4cxx 宏不适用于包含空字符的字符串

我正在开发客户端服务器应用程序。我们有从服务器发送和查询数据的协议格式。现在我需要在日志文件中记录来自或发往服务器的数据。我正在使用最新版本的 Log4cxx。但是这个二进制数据也包含空字符。

一条消息是这样的:

ab 40 01 00 00 00 ff f0 00 00 00 00 09 01 01 07 00 00 c0 a8 04 54 ae。

首先我尝试使用 char* pMsg 然后我使用 std string str(pMsg ) 做了类似的事情都不起作用。

然后我做了这样的事情

所有的方法都失败了,结果是

  1. 它正确打印前三个字节,之后没有。
  2. 有时调用 LOG4CXX_INFO 会使应用程序崩溃。

我正在使用 LOG4CXX_INFO 宏来记录信息。

这似乎是由于第四个字段中的 NULL 字符。我发现这个链接声称已经解决了这个问题,但我用 LOG4CXX_INFO 尝试了相同的代码,它崩溃了。 https://issues.apache.org/jira/browse/LOGCXX-162

锄头来解决这个问题?

0 投票
1 回答
470 浏览

c++ - 需要帮助在 Ubuntu 中使用 Eclipse 创建 log4cxx appender

当尝试从 AppenderSkeleton 继承时,我在尝试编译时收到“错误:在 '{' token 之前的预期类名”。我似乎无法识别该类,但我引用了 log4cxx 库并包含了 appenderskeleton.h 文件。

.h 文件如下:

有一个 ServiceAppender.cpp 文件,但目前除了对上面文件的引用之外什么都没有。我正在使用具有以下内容的make文件:

看来我可能缺少一个库/参考,但作为 c++ noob,我不知道那可能是什么。

0 投票
1 回答
2522 浏览

c++ - 在 Log4cxx 中读取属性信息

我正在使用 log4cxx 写入日志。
这是我的日志配置,这里我的日志文件大小为 4 MB。
之后它将自我重写。我可以使用以下配置文件和 C++ 代码进行记录。现在我想读取属性和相关的值示例:我想读取程序中某些目的所需的文件大小信息。

如何读取配置文件信息。??

0 投票
1 回答
171 浏览

logging - 如何从同一应用程序登录到应用程序日志和安全日志

我有一个应用程序需要将“应用程序日志消息”记录到附加程序并将“安全日志消息”记录到另一个附加程序(安全日志消息不能出现在应用程序日志中)。我正在考虑像这样设置我的记录器:

并像这样设置我的 log4j 配置:

配置 log4j 的最佳方法是什么?我相信我的解决方案会起作用,并且只要开发人员记得在包/类名称前加上“app”前缀,他们仍然能够启用和禁用特定包/类的日志记录。或“安全。”,但我想知道是否有更好的方法来做到这一点。

注意:该解决方案需要适用于 log4j 和 log4cxx。

0 投票
3 回答
2678 浏览

log4cxx - log4cxx 在 ~Logger 上抛出异常

我刚开始使用 log4cxx,做了一个小应用程序来熟悉它。我用 Visual Studio 2005 编译,没有警告或错误。基本上看起来像:

它按预期工作,直到我在尝试销毁全局Logger对象时遇到异常时关闭应用程序。这是跟踪:

有人知道为什么会这样吗?谢谢

0 投票
1 回答
1500 浏览

c++ - 在 Visual Studio 2010 中使用 log4cxx。应用程序初始化错误

log4cxx我已经成功地在调试和发布模式下构建了库,并创建了 log4cxxd.lib 和log4cxx.lib文件。但是当我尝试在我的 Visual C++ 2010 项目中将它们与静态链接一起使用时,我得到了

应用程序未能正确初始化 (0xc0150002)。

在调试模式。在发布模式下,它工作得很好。对于调试配置,我添加log4cxxd.lib了附加依赖项,对于发布配置,我添加了log4cxx.lib. 我认为它也应该在调试模式下工作,但事实并非如此。

有任何想法吗?