Skip to content

innovadis/TimberLogger

Repository files navigation

TimberLogger

NuGet

TimberLogger is a .NET Core logger provider to push your logs to Timber.

Usage

Generate API key

To get an API key, just create a new app. Under Language Type and Platform Type, select Other. You will now get a page that contains your API key.

Install package

Run the following command in your project root: dotnet add package TimberLogger

Add provider to project

Instantiate the provider with your API key:

// ...
using TimberClient.Configuration;
using TimberClient.Extensions;

public class Startup
{
  // ...
  public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
  {
    // ...

    // Set your API token via your prefered way of configuration
    string apiToken = "[Your API token here]";

    // Add TimberLogger to your project as a logger provider
    loggerFactory.AddTimberLogging(new TimberLoggerConfiguration
    {
      ApiKey = apiToken,
      LogLevel = LogLevel.Information
    });

    // ...
  }
}

Now just get the logger the way you're used to:

public class Foo : Controller
{
  private readonly ILogger<Foo> _logger;

  public FooController(ILogger<Foo> logger)
  {
    _logger = logger;
  }

  public void DoFoo()
  {
    _logger.LogInformation("Doing foo!");
  }
}

Configuration

The TimberLoggerConfiguration object offers some basic configuration options:

loggerFactory.AddTimberLogging(new TimberLoggerConfiguration
{
  // Your API token
  ApiKey = "", 

  // Default Timber URI
  TimberUrl = "https://logs.timber.io", 

  // Set the minimum loglevel, by default this is set to LogLevel.Warning
  LogLevel = LogLevel.Warning,

  // Set the format of the log as it appears in Timber:
  //   {0}: The category. If your logger is an instance of ILogger<FooController>, the category appears as 'FooController'
  //   {1}: The message
  // By default this would for example be: "[FooController] received request"
  Format = "[{0}] {1}"
})

About

.NET Core LoggerProvider for Timber.io

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages