Microsoft Teamsにエラーログを出力するLog4Net Custom Appenderを作ってみた。


Custom AppenderクラスはAppenderSkeletonを継承し、Append()メソッドをオーバライドして作成。
IncomingWebhooksのURLをlog4net.configから取得できるようにプロパティを作成しておく。

●Custom Appenderクラスは以下のとおり。
 MSTeamsUtil()の実装についてはこちらを参考にして下さい。
  1. public class MSTeamsAppender : AppenderSkeleton {
  2.     //Microsoft TeamsのコネクタURL
        public string IncomingWebhookURL { getset; }  
  3.     // Microsoft Teamsにログ追記
        protected override void Append(LoggingEvent loggingEvent) {
            var mstu = new MSTeamsUtil();
            mstu.PostPlainMessage(IncomingWebhookURL, RenderLoggingEvent(loggingEvent));
        }
    }
●log4net.configの設定方法は以下のとおり
  1. <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <log4net>
        <appender name="MSTeamsAppender" type="FxCommonLib.Log4NetAppender.MSTeamsAppender, FxCommonLib">
          <incomingWebhookURL value="https://outlook.office.com/・・・" />
          <layout type="log4net.Layout.PatternLayout">
            <ConversionPattern value="%username %d [%t] %-5p %c - %m%n" />
          </layout>
          <filter type="log4net.Filter.LevelRangeFilter">
            <levelMin value="WARN" />
            <levelMax value="FATAL" />
          </filter>
        </appender>
        <root>
          <level value="INFO" />
          <appender-ref ref="MSTeamsAppender" />
        </root>
      </log4net>
    </configuration>
こんな感じでログが投稿されます。

0 件のコメント:

コメントを投稿

厳選 Visual Studioの便利なショートカット

  エラー箇所にジャンプ 「Ctrl + Shift + F12」 ブレークポイント 設定/解除 「F9」 有効化/無効化 「Ctrl + F9」 ViEmu特有 「:ls」:バッファナンバーのリストを表示。 「:b2」:バッファ2のファイルを開く。 「:n」:次のバッファのファ...