NLog.Targets.KafkaAppender 1.0.6

There is a newer version of this package available.
See the version list below for details.
Install-Package NLog.Targets.KafkaAppender -Version 1.0.6
dotnet add package NLog.Targets.KafkaAppender --version 1.0.6
<PackageReference Include="NLog.Targets.KafkaAppender" Version="1.0.6" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add NLog.Targets.KafkaAppender --version 1.0.6
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: NLog.Targets.KafkaAppender, 1.0.6"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install NLog.Targets.KafkaAppender as a Cake Addin
#addin nuget:?package=NLog.Targets.KafkaAppender&version=1.0.6

// Install NLog.Targets.KafkaAppender as a Cake Tool
#tool nuget:?package=NLog.Targets.KafkaAppender&version=1.0.6
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

nlog-kafka-target

nlog appender for kafka which provides the custom topics pattern and partitions

Supported frameworks

.NET Framework 4.5, 4.6 & 4.7
ASP.NET 4.5+ (NLog.Web package)
ASP.NET Core (NLog.Web.AspNetCore package)
.NET Core (NLog.Extensions.Logging package)
.NET Standard 2.x+ - NLog 4.5

Getting Started

Step 1: Install NLog.Targets.KafkaAppender package from nuget.org

Install via Package-Manager   Install-Package NLog.Targets.KafkaAppender
Install via .NET CLI          dotnet add package NLog.Targets.KafkaAppender

Step 2: Configure nlog sections

<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      autoReload="true">
  <extensions>
    <add assembly="NLog.Targets.KafkaAppender"/>
  </extensions>
  <targets>
    <target xsi:type="KafkaAppender"
            name="kafka"
            topic="${callsite:className=true:fileName=false:includeSourcePath=false:methodName=true}"
            layout="${longdate}|${level:uppercase=true}|${logger}|${message}"
            brokers="localhost:9092"
            debug="false"
            async="false"
            >

    </target>
  </targets>
  <rules>
    <logger name="*" minlevel="Info" writeTo="kafka" />
  </rules>
</nlog>
Param Name Variable Type Requirement Description Default
name :string yes* Target's name
topic :layout yes* Topic pattern can be layout ${callsite:className=true:fileName=false:includeSourcePath=false:methodName=true}
layout :layout no Layout used to format log messages. ${longdate}|${level:uppercase=true}|${logger}|${message}
brokers :string yes* Kafka brokers with comma-separated
debug :boolean no Debugging mode enabled false
async :boolean no Async or sync mode false

Check documentation about all Layout Renderers

Usage

using System;

namespace NLog.Targets.KafkaAppender.Test
{
    class Program
    {
        static void Main(string[] args)
        {
            var logger = NLog.LogManager.GetCurrentClassLogger();
            logger.Error("hello world");
            
            //topic layout:     ${callsite:className=true:fileName=false:includeSourcePath=false:methodName=true}
            //message layout:   ${longdate}|${level:uppercase=true}|${logger}|${message}
            
            //topic output:     NLog.Targets.KafkaAppender.Test.Program.Main
            //message output:   2018-12-05 18:27:46.7382|ERROR|NLog.Targets.KafkaAppender.Test.Program|hello world 
            
        }
    }
}

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.8 2,966 9/21/2020
1.0.7 803 7/21/2020
1.0.6 4,098 12/6/2019
1.0.5 8,880 8/2/2019
1.0.4 453 5/1/2019
1.0.3 1,107 12/7/2018
1.0.2 369 12/5/2018
1.0.1 348 12/5/2018