NLog.Slack 2.0.0

dotnet add package NLog.Slack --version 2.0.0                
NuGet\Install-Package NLog.Slack -Version 2.0.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="NLog.Slack" Version="2.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add NLog.Slack --version 2.0.0                
#r "nuget: NLog.Slack, 2.0.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install NLog.Slack as a Cake Addin
#addin nuget:?package=NLog.Slack&version=2.0.0

// Install NLog.Slack as a Cake Tool
#tool nuget:?package=NLog.Slack&version=2.0.0                

NLog.Slack

Nuget

An NLog target for Slack - your logs in one place and instantly searchable, everywhere.

NLog.Slack

Note: it is no longer possible to pass in a custom channel, username or icon. This must be defined by your Slack App.

Installation

Via NuGet: Install-Package NLog.Slack

... or just build it your self!

Usage

  1. Create a new Slack App in the correct Workspace.
  2. Add the Incoming Webhooks functionality to your App.
  3. Generate a new Webhook URL and Authorize it to post to a channel.
  4. Copy your Webhook URL and configure NLog via your NLog.config file or programmatically, as below.

NLog.config

<?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">

  <extensions>
    <add assembly="NLog.Slack" />
  </extensions>

  <targets async="true">
    <target xsi:type="Slack"
            name="slackTarget"
            layout="${message}"
            webHookUrl="https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX"
            compact="false">

			<field name="Machine Name" layout="${machinename}" />
			<field name="Process Name" layout="${processname}" />
			<field name="Process PID" layout="${processid}" />
	</target>
  </targets>

  <rules>
    <logger name="*" minlevel="Debug" writeTo="slackTarget" />
  </rules>
</nlog>

Note: it's recommended to set async="true" on targets so if the HTTP call to Slack fails or times out it doesn't slow down your application.

Programmatically

var config = new LoggingConfiguration();
var slackTarget = new SlackTarget
{
      Layout = "${message}",
      WebHookUrl = "https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX",
};

config.AddTarget("slack", slackTarget);

var slackTargetRules = new LoggingRule("*", LogLevel.Debug, slackTarget);
config.LoggingRules.Add(slackTargetRules);

LogManager.Configuration = config;

And you're good to go!

Configuration Options

Key Description
WebHookUrl Grab your Webhook URL (with the token) from your Incoming Webhooks integration in Slack
Compact Set to true to just send the NLog layout text (no process info, colors, etc)
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net45 is compatible.  net451 was computed.  net452 was computed.  net46 was computed.  net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETFramework 4.5

  • .NETStandard 2.0

NuGet packages (2)

Showing the top 2 NuGet packages that depend on NLog.Slack:

Package Downloads
wallet.lib.logger

Package Description

AMDIT.LogLibrary

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.0.0 822,469 4/17/2019
1.0.4 2,102 3/5/2019
1.0.2 86,918 11/13/2015
1.0.1 3,219 9/5/2014
1.0.0 1,435 9/1/2014