我已经在一些高流量网站上使用 Log4Net 几年了,我不能说我是一个满意的客户。所以,想看看其他人是否有同样的担忧:

  • RollingFileAppendor 的 CPU 开销很大。我的一些网站每天需要跟踪 5-10GB,当我启用日志记录时,CPU 利用率增加了一倍多。我想避免讨论为什么需要这么多追踪。一些关键任务应用程序必须跟踪每笔交易的每一步。
  • 按日期滚动通常不可靠(白天记录正常,但在午夜前后弄乱了最后一天的日志文件)。这种行为是不一致的。我似乎有不少人在网上提示这个,但似乎没有人有好的解决方案。
  • 最后但并非最不重要的是,在过去三年中,我没有在 Apache 网站上看到任何新版本。所以,这开始看起来像是一个废弃的开源项目,这通常意味着是时候转向一些替代框架了。

  • 因此,我正在考虑放弃 Log4Net,转而使用 Microsoft Enterprise Library 或其他东西。这里有人和我有同样的问题吗?

    最佳答案

  • 是的,它往往会使用过多的 CPU。我有一个应用程序,我每天记录约 15GB,CPU 使用率有点高。我将日志记录减少到大约 4GB/天,现在 CPU 使用率根本不明显。
  • 我从未见过这种行为(而且我从 1.1.1(3 年)开始在高流量网站中使用 log4net)
  • 是的,它有点安静,但也许这是因为它是一个稳定、成熟的项目。开发并没有完全停止,你可以在 svn repo 中看到最近有一些提交。如果您对此感到担忧,请查看 NLog ,这是一个更年轻、更活跃的项目。

  • 这是我用于比较的 appender 配置:
    <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender, log4net" >
        <param name="File" value="log" />
        <param name="AppendToFile" value="true" />
        <rollingStyle value="Date" />
        <datePattern value="yyyyMMdd" />
        <maxSizeRollBackups value="7" />
        <layout type="log4net.Layout.PatternLayout, log4net">
            <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
        </layout>
    </appender>
    

    关于performance - Log4Net 有什么问题吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/981393/

    10-16 11:40