Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/eth0izzle/NLog.Slack
An NLog target for Slack - your logs in one place and instantly searchable, everywhere.
https://github.com/eth0izzle/NLog.Slack
c-sharp nlog slack
Last synced: 6 days ago
JSON representation
An NLog target for Slack - your logs in one place and instantly searchable, everywhere.
- Host: GitHub
- URL: https://github.com/eth0izzle/NLog.Slack
- Owner: eth0izzle
- License: mit
- Created: 2014-09-01T14:21:07.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2022-11-13T17:27:53.000Z (almost 2 years ago)
- Last Synced: 2024-09-18T04:24:41.986Z (about 2 months ago)
- Topics: c-sharp, nlog, slack
- Language: C#
- Homepage: https://twitter.com/darkp0rt
- Size: 2.19 MB
- Stars: 49
- Watchers: 6
- Forks: 25
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
NLog.Slack
==========[![Nuget](https://img.shields.io/nuget/v/NLog.Slack.svg)](https://www.nuget.org/packages/NLog.Slack/)
An NLog target for Slack - your logs in one place and instantly searchable, everywhere.
![NLog.Slack](http://i.imgur.com/xRlfNrN.png)
**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](https://www.nuget.org/packages/NLog.Slack/): ```Install-Package NLog.Slack```... or just build it your self!
Usage
=====
1. Create a [new Slack App](https://api.slack.com/apps?new_app=1) in the correct Workspace.
2. Add the [Incoming Webhooks](https://api.slack.com/apps/AGNC720HF/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
```
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
```c#
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)