/NLog

NLog - Advanced .NET, Silverlight and Xamarin Logging

Primary LanguageC#BSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

NLog

Vote or submit ideas on UserEcho!

=== Join the chat at https://gitter.im/NLog/NLog Twitter Follow Last News codecov.io Semantic Versioning Rager Releases StackOverflow

NLog is a free logging platform for .NET with rich log routing and management capabilities. It makes it easy to produce and manage high-quality logs for your application regardless of its size or complexity.

It can process diagnostic messages emitted from any .NET language, augment them with contextual information, format them according to your preference and send them to one or more targets such as file or database.

For more information, see the website nlog-project.org or just get started with the tutorials on the NLog wiki.

Project news - including RSS feed

Packages & Status

NLog consists of multiple packages. Most of the functionality is inside the NLog (core) package. What's inside the packages? See targets and layout renderers overview!

Package | Build status | NuGet | -------- | :------------ | :------------ | :------------------ NLog (.Net / Silverlight 4+5 / Xamarin iOS / Xamarin Android / Windows Phone 8) | AppVeyor | NuGet package | NLog (.NET Core) - coreCLR branch | AppVeyor | NuGet package | NLog (Microsoft Logging Platform) | Build status | NuGet Pre Release | NLog (Mono) | Build Status | | NLog.Config | AppVeyor | NuGet package | NLog.Contrib.ActiveMQ | AppVeyor | NuGet package | NLog.Extended | AppVeyor | NuGet package | NLog.Elmah | AppVeyor | NuGet package | NLog.Etw | AppVeyor | NuGet package | NLog.InstallNLogConfig | AppVeyor | NuGet package | NLog.ManualFlush | AppVeyor | NuGet package | NLog.Schema | AppVeyor | NuGet package | NLog.Web | AppVeyor | NuGet package | NLog.Web for ASP.NET Core | AppVeyor | NuGet package | NLog.Windows.Forms | AppVeyor | NuGet package | NLog.Owin.Logging | AppVeyor | NuGet package |

Questions, bug reports or feature requests?

Do you have feature requests, questions or would you like to report a bug? Please post them on the issue list and follow these guidelines. You could also post questions on StackOverflow - in general your will get faster response there. Please also post or vote features requests on UserEcho.

Frequently Asked Questions (FAQ)

See FAQ on the Wiki

Contributing

As the current NLog team is a small team, we cannot fix every bug or implement every feature on our own. So contributions are really appreciated!

If you like to start with a small task, then up-for-grabs are nice to start with.

A good way to get started (flow)

  1. Fork the NLog repos.
  2. Create a new branch in you current repos from the 'master' branch.
  3. 'Check out' the code with Git or GitHub Desktop
  4. Check contributing.md
  5. push commits and create a Pull Request (PR) to NLog

License

NLog is open source software, licensed under the terms of BSD license. See LICENSE.txt for details.

How to build

Use Visual studio 2012/2013/2015 and open solution file in the 'src' folder, like 'NLog.netfx45.sln'

For building in the cloud we use:

  • AppVeyor for Windows builds, including Silverlight and Xamarin.
  • Travis for Mono builds.
  • CodeCov for code coverage

How to build your fork in the cloud

Steps to set up AppVeyor/Travis/CodeCov for your own fork.

AppVeyor:

  1. Login with your Github account to https://ci.appveyor.com
  2. Choose "projects"
  3. Select your fork and press "+" button
  4. Done. All config is in appveyor.yml already

Travis:

  1. Login with your Github account to https://travis-ci.org/
  2. Select your fork
  3. Push and wait

CodeCov: (AppVeyor needed)

  1. Login with your Github account to https://codecov.io/
  2. Press "+ Add new repository to Codecov" button
  3. Select your fork
  4. Wait for a build on AppVeyor. All the config is already in appveyor.yml. The first report can take some minutes after the first build.