Microsoft Teams設定
在Teams的頻道「其他選項」案右鍵後,點選「連接器」
*若該頻道所屬團隊尚未新增「Webhook」APP,先「新增」該APP
若已安裝「Webhook」,點「設定」
設定收到訊息時顯示的傳送者名稱及頭像,然後後按「建立」
建立後,即可取得後續傳送訊息使用之URL
在的頻道「其他選項」案右鍵後,點選「連接器」可檢視/管理已設定好的資料
NLog設定
在NLog設定中新增Target設定(使用WebService方式傳送訊息至Teams)
<targets>
<target name="Teams"
type="WebService"
url="<從Teams上取得的URL>"
protocol="JsonPost"
encoding="UTF-8">
<parameter name='title' type='System.String' layout='訊息標題'/>
<parameter name='text' type='System.String' layout='訊息內容: ${message}'/>
</target>
</targets>
<rules>
<logger name="*" levels="Info" writeTo="Teams"/>
</rules>
- NLog 4.4以後才支援JsonPost,所以須使用NLog 4.4版
- parameter傳送參數(如:「title」、「text」)參考官網說明之Json格式:
傳送Log之測試程式
static void Main(string[] args)
{
logger.Info("Example Log");
}
Teams頻道中收到的訊息
如果不想自己加 parameters, 可以試一下這個 NLog Target extension.
https://github.com/jedipi/NLog.Targets.MicrosoftTeams
感謝分享,有空來試試~