2009-11-02 81 views
24

我正在寻找一个日志框架,它似乎log4net是或非常受欢迎。最后一个版本是在2年前。它尚未更新。NET 3.0或3.5甚至Visual Studio 2008.有什么更近期(其他然后entlib)我应该考虑?log4net死了吗?

+13

是否像一个记录库需要不断更新?我已经使用它,它工作得很好。 – Min 2009-11-02 21:41:48

+5

EntLib是*不*你应该考虑的东西。使用log4net – 2009-11-02 21:47:19

+0

你对使用EntLib'不'的推理是什么?是不是EntLib'最佳实践'的代码? – Chris 2009-11-02 22:27:05

回答

12

Log4j(这是log4net的基础)多年未更新。还有其他来自同一作者(slf4j和logback)和其他人的替代方案,但是log4j仍然使用很多,并且有很多可行性。它并没有死亡,它只是到了没有任何东西需要它的地步。没有任何理由证明这项工作是正确的,或者不会破坏兼容性。当这种情况发生在商业项目上时,公司必须为产品创造另一个目的,或者做其他事情,产品确实死亡。在开源中,并不是真的。

作为比较的一个观点,JUnit基本上没有多少年了。然后Java得到了注释,JUnit得到了竞争(TestNG),并且它突然再次移动。现在,原来的开发人员可能不会在任何情况下都受到影响,但是这个项目将被分离或调整。例如,TestNG允许从JUnit平滑迁移路径。

所以底线是如果它很受欢迎和使用,它不会死在你身上。

11

log4net是一个端口最初用java编写的东西。港口或多或少是完整的。

此外,端口针对.Net 2.0运行时,并且.Net 3.0和.Net 3.5也建立在相同的运行时间之上。因此,如果需要,可以将log4net加载到Visual Studio 2008中,并在.Net 3.5项目中使用它。据我了解,目前没有必要专门为.NET 3.5或Visual Studio 2008制作新版本。 Visual Studio 2010当然可以改变(新运行时)。

+1

乔尔我在理论上赞同你。稳定,它有功能,但在软件停滞=死亡。如果情况属实,不想投入时间。 – Chip 2009-11-02 21:53:55

+0

好吧,vs2010 beta 2现已推出,并包含上线许可证。因此,可能值得检查是否有任何向.Net的_eventual_版本发布的动作。 – 2009-11-02 22:15:51

+3

我不认为它已经死了,因为我们非常满意通过UDP将它记录到(win)syslogd中。人们可以说它(几乎)功能完整,可能是对“缺失”最近版本的解释。 – andyp 2009-11-02 22:22:05

4

我要死了。

对我来说,这个bug(https://issues.apache.org/jira/browse/LOG4NET-132)围坐年意味着一个项目是死

使用NLOG代替

http://nlog-project.org/

+0

比问的问题晚了一点,但我同意。 NLog是一个维护良好的日志记录系统,现在NHibernate已经删除了log4net依赖项,没有理由不使用它。 – Dann 2011-08-26 08:50:45

+0

作为一个更新,我最终使用NLog进行了项目。非常棒! – Chip 2011-09-09 20:02:21