除了ConsoleAppender之外,哪个是log4Net最快的appender?哪个是log4Net最快的appender?
回答
结帐BufferingForwardingAppender。我们使用这个转发到RollingFileAppender。它批量写入并允许代码在不等待写入的情况下继续。我们设置了一个评估器来强制在WARN阈值处刷新并将有效值设置为false,以便我们不会错过任何消息。
<appender name="BufferingForwardingAppender" type="log4net.Appender.BufferingForwardingAppender">
<bufferSize value="512" />
<lossy value="false" />
<evaluator type="log4net.Core.LevelEvaluator">
<threshold value="WARN"/>
</evaluator>
<appender-ref ref="RollingFileAppender" />
</appender>
你可以写一个log4net的等效NullAppender,这将是非常快......(很抱歉 - 我本来以为这个问题是关于log4j的;同样的建议也适用不过。)
当然,这止跌”不要做任何有用的事情 - 这让我想知道为什么你对速度非常重视。正常的方法是找出你需要的东西,然后对它进行基准测试,以检查它是否充分发挥作用。我怀疑,在实际上成为瓶颈之前,你会被更多的数据淹没,而不是有用的处理。记录有没有已知的性能问题?
没有性能问题与日志记录无关,但总的来说,我正在研究提高应用程序的性能,并添加了log4Net以在运行时对其进行分析。由于应用程序已经很慢,我不希望这会造成太大的开销。所以我正在寻找最快的appender。 – Amitabh 2010-02-02 14:41:35
@Amitabh:如果应用程序已经很慢,那意味着日志记录甚至*少*可能会产生重大影响。真的,使用你最容易记录的东西,然后只用合理的记录。这可能是提高应用程序整体速度的最快捷方式。 – 2010-02-02 14:52:15
我会补充说,有时候这个问题并不是缓慢的日志记录,而是如何入侵。例如,如果您从多个线程进行日志记录,那么日志记录的行为可能会导致它们同步,这会抛出您想要测量的内容。通常的答案是登录到一个队列中,该队列在单个线程中处理。 – 2010-02-02 15:02:14
你应该考虑
- 写入文件比写安慰
- 我猜你的问题出在生产前快得多(ceating日志数据,然后不使用它) 使用log.canLog确保您可以在创建数据之前进行登录(这通常是大时间消费者)
- 检查您没有使用像用户当前凭证等耗时的各种字段。 。
- 1. Log4Net多个SMTP appender?
- 2. 是否有log4net的SNMP appender?
- 3. Log4Net的Asserting Appender?
- 4. Log4net:如何测试UDP Appender快速
- 5. 是否有log4net内存appender?
- 6. Log4Net Http Appender是否存在?
- 7. log4net Azure Blob Appender
- 8. Remoting Appender log4net
- 9. log4net有每个连接appender
- 10. Log4Net Appender不加载
- 11. Log4Net SMTP Appender与Gmail
- 12. 动态log4net appender的名字?
- 13. 设置多个阈值+ Log4Net Appender
- 14. Regex.Replace,String.Replace或StringBuilder.Replace哪个是最快的?
- 15. 哪个是oracle查询最快的?
- 16. .NET:寻找最佳表演log4net的的appender
- 17. log4net的Appender的文件名问题
- 18. array_push()vs $ array [] = ....哪个最快?
- 19. 哪个演员最快?
- 20. 同一个Log4net文件中的多个appender
- 21. 为什么不是我的log4net appender缓冲?
- 22. log4net - Appender不能在IIS7.5中工作
- 23. Log4net appender阈值不起作用
- 24. 使用log4net自动创建appender
- 25. log4net自定义日志对象和appender
- 26. log4net:加载自定义appender时出错
- 27. log4net smtp appender不发送电子邮件
- 28. log4net数据库appender没有插入
- 29. 如何在Log4net调试关闭时捕获Log4net Appender错误
- 30. Log4net可以有多个appender写入同一个文件吗?
非常好的主意。还没有尝试过,但我会有一段时间。 – 2012-03-08 16:11:35
正是我不知道我在找什么。 – ctrlplusb 2012-09-02 16:01:39
我已经在一个简单的Web项目中测试了这个,并且(令人惊讶的)可伸缩性没有提高,反而更糟糕。 **测试**:每个请求20个日志行500个请求/ 50个用户。 **结果**:无日志记录:278请求/秒,滚动文件附加程序:129请求/秒,使用滚动文件缓冲转发:76请求/秒。 – tozevv 2013-10-01 14:50:00