问题标签 [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 投票
2 回答
2089 浏览

log4net - 混合 log4cxx 和 log4net

我有一个 c++ 应用程序,它使用 log4cxx(RollingFile appender)记录到某个文件。我想同时从另一个用 c# 编写的模块登录到同一个文件;所以我将 log4net 配置为使用相同的文件,但我无法获取新消息。如果我停用 c++ 日志记录,我可以看到 c# 消息。所以我认为这是一个锁定问题,并寻找一个配置选项来告诉 log4cxx 不要锁定文件。我进入了 log4net 的 MinimalLock 模型,但在 log4cxx 中找不到任何东西......有人知道它是否可以完成,以及如何完成?

提前致谢,

埃内斯托·卡伦

0 投票
3 回答
8083 浏览

c++ - Log4cxx 自定义附加程序

是否可以为 log4cxx 编写自定义附加程序并通过属性文件(如内置附加程序)对其进行配置?如果可能的话,我宁愿这样做而不必重建 log4cxx(例如,通过派生/扩展现有的 appender)。

你能给我举个例子吗?

0 投票
1 回答
671 浏览

winapi - 在 Windows 上基于 log4cxx 时间的滚动

有没有人成功让 log4cxx 在 Windows 上根据时间滚动文件?从单元测试用例和我可以观察到的行为看来,这在 win32 平台上根本不起作用。

我的配置如下,以防我在那里犯了错误:

谢谢!

0 投票
2 回答
732 浏览

c++ - 在视觉 2005 上构建 log4cxx

当我根据http://logging.apache.org/log4cxx/building/vstudio.html的说明在 Visual 2005 上构建 log4cxx时,出现以下错误;

单击第一个错误时,将移动到下面的代码

有意见吗??

谢谢

0 投票
6 回答
6545 浏览

c++ - C++ 内联字符串格式化和数值转换

C# 有一个不错的静态方法

返回具有所提供格式和值的新字符串。C ++中有等价物吗?

原因是因为我正在使用 log4cxx 并希望利用宏,例如

它使用短路评估,因此如果未启用日志级别 DEBUG,则永远不会评估 expr。

目前,在 C++ 中,我这样做:

这违背了目的,因为我必须首先分配和格式化字符串,所以短路逻辑几乎没有效率。

尝试使用数值进行简单日志记录时也存在类似问题。这不会编译:

所以我最终不得不写这样的东西:

这再次违背了目的。

我根本不是 C++ 专家,所以我希望更多知识渊博的人可以提供帮助。

0 投票
1 回答
1023 浏览

java - log4j/log4cxx : logger 和 appender 之间的独占 1 对 1 关系

使用 log4cxx 的 xml 配置(与 log4j 的配置相同)。我希望将某个记录器输出专门用于特定的附加程序(让它成为唯一输出到该附加程序的记录器)。

我发现可以将记录器绑定到特定的附加程序,如下所示:

但它仍然输出到根附加程序,因为我在 conf 文件中有这个标准部分:

如何从根记录器中排除该记录器?换句话说,如何配置日志以使所有记录器都继承根记录器的附加程序,除了特定记录器?

0 投票
2 回答
2073 浏览

thread-safety - log4cxx LOG4CXX_ 宏中的可变长度参数

我在一个大型 C++ 项目中使用 log4cxx,但我真的不喜欢 log4cxx 在记录时如何处理多个变量:

LOG4CXX_DEBUG(logger, "test" << var1 << " and " << var3 " and .....)

我更喜欢使用 printf 之类的可变长度参数:

LOG4CXX_DEBUG(记录器,“测试 %d 和 %d”,var1,var3)

所以我在 log4cxx 之上实现了这个小包装器

这非常有效,但我知道如果我开始使用线程并且每个线程都记录到同一个地方,使用该静态变量(格式化)可能会出现问题。

我不是 log4cxx 方面的专家,所以我想知道 LOG4CXX 宏是否自动处理并发线程访问?还是我必须围绕 log_format 方法实施某种锁定?由于性能影响,我不想避免的事情。

要编译和测试这个程序(在 Ubuntu 中),请使用:

0 投票
2 回答
1167 浏览

python - 在 Python 扩展中管理日志/警告

TL;DR 版本:您在 Python 项目中的 C++ 位中使用什么来进行可配置(最好是捕获)日志记录?详情如下。

假设您有一些编译.so模块可能需要进行一些错误检查并警告用户(部分)不正确的数据。目前我有一个非常简单的设置,我使用logging来自 Python 代码的框架和log4cxx来自 C/C++ 的库。log4cxx日志级别在文件 ( log4cxx.properties) 中定义,目前已修复,我正在考虑如何使其更灵活。我看到的几个选择:

  1. 控制它的一种方法是进行模块范围的配置调用。

    /li>
  2. 让每个执行日志记录的编译函数都接受可选的日志参数。

    /li>
  3. 还有什么办法?

第二个似乎更干净一些,但它需要更改函数签名(或使用 kwargs 并解析它们)。第一个是.. 可能有点尴尬,但是一次性设置了整个模块并从每个单独的函数中删除了逻辑。

您对此有何看法?我也很喜欢替代解决方案。

谢谢,

0 投票
1 回答
840 浏览

static - 静态链接 log4c-1.2.1 与 Fedora 12 和 Eclipse 3.5.1

我们正在构建一个需要在静态模式下链接 log4c 的项目,以下是正在生成的链接器错误的一部分。

它似乎缺少 libexpat.a,但 libexpat.a 在构建机器上,并且 Eclipse 配置为可以找到它。我们已经使用 --disable-shared 参数构建了 libexpat.a 到 ./configure,但没有成功。

有任何想法吗?

0 投票
2 回答
5227 浏览

c - log4c 文档

gcc 4.4.3 c89

我刚刚开始使用 log4c。但是,关于如何开始使用它的文档很少。

我想知道有没有人知道任何关于如何开始的教程、文章?