NLog.Slack
2.0.0
dotnet add package NLog.Slack --version 2.0.0
NuGet\Install-Package NLog.Slack -Version 2.0.0
<PackageReference Include="NLog.Slack" Version="2.0.0" />
paket add NLog.Slack --version 2.0.0
#r "nuget: NLog.Slack, 2.0.0"
// 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
An NLog target for Slack - your logs in one place and instantly searchable, everywhere.
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
- Create a new Slack App in the correct Workspace.
- Add the Incoming Webhooks functionality to your App.
- Generate a new Webhook URL and Authorize it to post to a channel.
- 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 | Versions 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. |
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.