這星期收到許多勸敗Microsoft Teams的分享訊息,Teams也是一種辦公室即時通訊合作軟體,不過以前Teams得要有Office 365才能用,現在有免費的方案了。除了團隊溝通、檔案共用和視訊通話等功能,我們先從應用程式的Log拋到Teams 頻道開始,來串一下NLog To Teams Channel。
頻道新增及Webhook安裝(Microsoft Teams)
按一下團隊 > 選擇自己的團隊 > .按一下..其他選項 > 選擇新增頻道
依序填入頻道名稱、說明,然後按下新增按鈕
建立好頻道後,選...其他選項,點一下連接器。
按一下傳入Webhook旁邊的新增按鈕
按一下安裝功能
輸入Incoming Webhook名稱及圖片後(這個名稱及圖片是傳訊人員的顯示名稱及頭貼),按下建立按鈕。
複製頻道Webhook的url到剪貼簿,然後按一下完成按鈕。
*剛剛複製的webhook Url應該長的像下面這樣:
https://outlook.office.com/webhook/然後很長很長很長一段代碼
使用Nlog將log訊息拋到Teams Channel
好,新增好頻道後,接下來要串NLog了,首先新增一個主控台應用程式專案 >
打開NuGet封裝管理員尋找NLog,然後安裝NLog、NLog.Config
NLog
NLog.Config
打開program.cs程式,撰寫以下測試內容:
using NLog;
using System;
namespace NlogToMSTeams
{
class Program
{
private static Logger logger = LogManager.GetCurrentClassLogger();
static void Main(string[] args)
{
logger.Error($"Today is {DateTime.Now.DayOfWeek}");
Console.ReadKey();
}
}
}
打開NLog.config,分別設定Console及Microsoft Teams兩個Target,然後把剛剛建立webhook時複製下來的Url貼到target uri的欄位中。
<?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"
xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
autoReload="true"
throwExceptions="false"
internalLogLevel="Off" internalLogFile="c:\temp\nlog-internal.log">
<variable name="myvar" value="myvalue"/>
<targets>
<target xsi:type="Console" name="console"/>
<target xsi:type="WebService"
name="MSTeams"
url='請填剛剛複製下來那段頻道incoming webhook的url'
protocol='JsonPost'
encoding='UTF-8'
includeBOM='false'
>
<parameter name='text' type='System.String' layout='${message}'/>
</target>
<!---->
</targets>
<rules>
<logger name="*" minlevel="Info" writeTo="console" />
<logger name='*' writeTo='MSTeams' />
</rules>
</nlog>
好,來測試看看!按F5執行Console程式~
執行後,查看Teams的頻道內,果然出現了今天是星期六(Today is Saturday)的訊息。
也很簡單就和AP Log整合在一起了。
小結:
- Slack免費版只能10個App整合,Teams免費版則沒有限制。
- Teams商務基本版價格是每月台幣$150,每個使用者1 TB檔案儲存空間。
- Slack Standard的價格是6.67美金(約台幣200),每個使用者10 GB 儲存空間。
- Teams最多可有 300 個使用者,超過還有企業選項。
- 如果遇到http 400 bad request,可以先試試用PostMan發送Json格式的POST測試看看。
今天是星期六!陪女兒看巧虎。
2018.7.21 桃園展演中心
參考