问题标签 [appender]

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

.net - 具有相似日志根名称的 log4net 记录器层次结构

我在这里发现了一个错误,还是我对这个配置做错了什么?

假设我已经根据标准的“...DeclaringType”命名方案命名了我的记录器,我的期望是 MyApp.Common 命名空间下的所有内容都将被记录到控制台,只要它是 WARN 或更高。SomeGenericClass`1 中的任何内容如果为 INFO 或更高,则将被记录(如果由于 WARN 记录器而为 WARN 或更高,则记录两次)。

正在发生的事情是 SomeGenericClass`1 中登录 INFO 的任何内容都将通过管道输出到控制台两次,而不是预期的一次。如果我删除了更具体的记录器,则不会记录任何内容,如果我删除了不太具体的记录器,则事情只会记录一次,两者都符合预期。此外,颠倒配置文件中记录器的顺序没有任何作用(正如我所料,因为我猜这个顺序无关紧要)。

我是否在这里发现了错误,或者我错过了层次结构如何工作的重要内容?

0 投票
1 回答
1166 浏览

log4net - 设置 log4net 附加程序以创建每个上下文属性或上下文堆栈级别的文件?

我正在使用 log4net 记录对 API 的调用。很多电话。我正在调用的方法具有数兆字节的请求/响应对数据,并且无论我使用什么日志记录模式,都很难读取将多个调用写入同一文件的日志。所以,我觉得最好的方法是登录到多个文件。

我很难弄清楚如何让 log4net 做到这一点,或者它是否支持它。

来自 Log4Net FAQ -多个客户端请求的输出可以转到不同的日志文件吗?

许多开发人员都面临着区分来自同一类但不同客户端请求的日志输出的问题。他们提出了巧妙的机制来将日志输出扇出到不同的文件。在大多数情况下,这不是正确的方法。

使用上下文属性或堆栈(ThreadContext)更简单......此后,日志输出将自动包含上下文数据,以便您可以区分来自不同客户端请求的日志,即使它们输出到同一个文件。

我查看了有关上下文和上下文属性的文档。似乎事件上下文最适合,但我也尝试阅读其他上下文的文档。似乎它们只是允许我将附加属性放在我的日志文件中,而不是作为日志文件名的组成部分,或者允许我自动附加到不同的文件。

有没有办法配置附加程序来为不同的上下文属性或上下文堆栈级别等创建不同的文件?

编辑:

我正在通过 Castle Windsor Logging 设施使用 log4net,我正在考虑切换到 NLog 来解决这个问题。

NLog 似乎通过在目标属性中使用{logger}布局渲染器来支持这种行为。我可以通过使用 Windsor 的方法制作一个子记录器并设置.FilefileNameILogger.CreateChildLogger{logger.shortName=True}

看:

http://nlog-project.org/forum#nabble-td1685989

如果可能的话,我仍然更喜欢使用 log4net,因为我正在测试的项目使用它。也许我的 NLog 示例可以为某人提供有关如何在 log4net 上完成此操作的灵感,也许他们可以帮助我弄清楚:)

0 投票
1 回答
5711 浏览

slf4j - Logback 的 Syslog Appender

我在 syslog appender 上多次阅读 logback 的文档。我的印象是每台计算机上都运行 syslog 守护程序,因此我设置了配置,就像他们在示例中的配置一样。当我运行程序时,检查系统日志时还没有发生错误,那里没有记录任何内容。

0 投票
4 回答
70004 浏览

java - 如何在 log4j 中创建自己的 Appender?

我是 log4j 的新手。谁能解释如何创建我自己的 Appender?即如何实现类和接口以及如何覆盖它?

0 投票
1 回答
100 浏览

java - EclipseIDE - 将新的单元测试用例附加到现有的测试类中?

我在包中SampleClass.java有 5 个方法,/MyProject/src/sample我使用 Eclipse 在包中生成单元测试类TestSampleClass.java/MyProject/src_ut/sample其中包含 5 个测试方法和注释以向后链接到我的 5 个方法SampleClass.java,然后我修改了这些测试方法。现在,我添加了 3 个方法SampleClass.java,我想知道 IDE 是否可以像我第一次创建TestSampleClass.java? 如果是,请告诉我该怎么做!非常感谢!

0 投票
1 回答
1057 浏览

c++ - Log4Cxx sql server appender

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

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

谢谢!

0 投票
5 回答
4579 浏览

java - log4j 有接口/GUI 附加程序吗?

我想在 GUI 中的文本字段、列表等(类似于 ImgBurn)中显示我的日志,但我没有找到一个现成的附加程序来执行此操作。有一个 appender 可以做到这一点吗?

目前我正在登录控制台没有任何问题。

0 投票
2 回答
1721 浏览

java - 在 log4j Appender 中记录时的循环依赖

我正在编写一个 log4j appender,它通过 http 将日志发送到服务器。我想使用 apache-commons 中的 HttpClient 来保持我的代码简洁明了。

现在的问题是 HttpClient and Co. 使用 log4j 本身。通常是一件好事,但是当从 log4j appender 实现中调用它们时,会引入循环引用或无限循环,最终导致 OutOfMemoryException。

当然,我可以在没有任何第三方库的情况下编写我想要的东西,但我只是想知道这种问题是否有已知的解决方案?

0 投票
1 回答
1174 浏览

maven - log4j appender 相对于我的 Maven 项目的路径

我正在尝试定义一个 log4j 附加程序以保存在我当前的 maven 项目中(仅适用于开发人员)。我不希望 appender 最终出现在我部署的 webapp 中,而是在我实际的 maven 项目中,在源旁边,无论我的 webapp 部署在哪里(当然是在本地)。

我尝试了各种 Maven(和非 Maven)变量,但没有成功。

我是否缺少一个变量来简单地做到这一点?任何帮助表示赞赏。谢谢。

0 投票
2 回答
4127 浏览

java - 如何使用 Log4J 在 Java 中创建二进制日志文件

我可以使用 FileAppender、RollingFileAppender 等创建日志文件,

我的问题是日志被写成任何人都可以阅读的纯文本,但我想将我的日志注册为人类不可读的二进制文件。

任何人都可以帮助我提出为示例代码创建二进制日志文件的建议。