Our team would like to use NLog for our logging needs – it does everything we want and is easy to setup and use. A colleague of mine has raised some concerns he has for using third-party open source tools in a commercial environment.
His preference is that we write our own logging tool rather than use Nlog (or any other logging tool). His worry is that we end up using a tool that has no support, or we can’t get the source code and change ourselves if we experience a problem.
Can someone help me out by giving some pointers – pros and cons – for using NLog vs. writing our own logging tool?
Our argument is that NLog already supports features such as archiving, which we would need to write from scratch (I am not looking forward to that!)
Open source has attributes that can make its ‘support’ superior to commercial. The fact that the source is available to use and modify if the author/project does not support it is the ultimate fall back. If a commercial product goes belly-up you do not have the source code and can do nothing. If the commercial organisation does not provide adequate support you can do nothing. With open source you can fix the problem.
Also an open source project can get the support of a community while a commercial product cannot.
So an absolute does not exist here. In both cases it depends on the company/project.
As for NLog, I have used it for several years in multiple companies and always found the author helpful. It is a project with open source actively supported by a development community. It is very widely used.
There is no reason to roll your own where there is mature widely used open source project available. Why spend anything to get a subset of a mature good supported product were the source code is freely available?
Often open source is safer that commercial.