【问题标题】:Use NLog or roll our own?使用 NLog 还是使用我们自己的?
【发布时间】:2012-01-19 09:44:18
【问题描述】:

我们的团队希望使用 NLog 来满足我们的日志记录需求 - 它可以满足我们的所有需求,并且易于设置和使用。我的一位同事对在商业环境中使用第三方开源工具提出了一些担忧。

他的偏好是我们编写自己的日志工具,而不是使用 Nlog(或任何其他日志工具)。他担心的是我们最终使用了一个没有支持的工具,或者如果我们遇到问题我们无法获取源代码并改变自己。

有人可以通过提供一些建议来帮助我吗 - 利弊 - 使用 NLog 与编写我们自己的日志记录工具?

我们的论点是 NLog 已经支持归档等功能,我们需要从头开始编写这些功能(我不期待!)

【问题讨论】:

    标签: logging nlog


    【解决方案1】:

    开源具有可以使其“支持”优于商业的属性。如果作者/项目不支持源代码可以使用和修改,这一事实是最终的回退。如果一个商业产品破产了,你没有源代码,也无能为力。如果商业组织没有提供足够的支持,您将无能为力。使用开源可以解决问题。

    此外,开源项目可以获得社区的支持,而商业产品则不能。

    所以这里不存在绝对值。这两种情况都取决于公司/项目。

    至于 NLog,我在多家公司使用了几年,总觉得作者很有帮助。这是一个由开发社区积极支持的开源项目。应用非常广泛。

    没有理由在有成熟且广泛使用的开源项目可用的情况下自行开发。如果源代码是免费提供的,为什么还要花任何钱来获得一个成熟的、受支持的产品的子集?

    通常开源比商业更安全。

    【讨论】:

    • 谢谢。老实说,这是开发人员的感受——为什么要重新发明轮子呢!
    【解决方案2】:

    这次无需重新发明轮子。 NLog 在 BSD 许可下获得许可,因此可以在商业环境中安全使用。

    至少可以使用 BSD、MIT 和 X11 许可的组件。避免使用 GPL。

    【讨论】:

    • 感谢您的意见。我已经下载了 NLog 的源代码,它确实有数百个单元测试,这将有助于论证它的支持。
    • 还有一个问题 - 你知道我是否可以更改 NLog 的源代码,构建一个新版本,然后将该版本部署给我们的客户?
    • 您需要咨询律师才能 100% 确定,但a plain reading of the BSD license 明确表示,只要您保留许可通知和版权,您就可以简单地分发(修改后的)代码机智的信息。您需要检查他们正在使用的特定 BSD 许可证。
    【解决方案3】:

    这似乎是NIH 综合症的经典案例。查找有关此 anti-pattern 的文章,找到反对您的恐龙同事的论据。

    然后去NLog。另外,请查看this

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-09
      • 2012-01-15
      • 1970-01-01
      • 2018-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多