プログラミング逆引き辞典

~ 多言語対応のプログラミングレシピ ~

Azure カスタムログ出力

■サンプルソース

using System.Linq;
using System.Net;
using System.Net.Http;
using System.Threading.Tasks;
using Microsoft.ApplicationInsights;
using Microsoft.ApplicationInsights.DataContracts;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.Azure.WebJobs.Host;

namespace LogSample
{
    public static class LogSample
    {
        [FunctionName("LogSample")]
        public static void Run([HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)]HttpRequestMessage req, TraceWriter log)
        {
            // Azure Monitorへの表示は3分ほどのタイムラグがある

            // トレースログのインスタンス
            TelemetryClient tc = new TelemetryClient();

            // カスタムログ
            var res = tc.Context.GlobalProperties;
            res.Add("トレーステスト1", "トレースログ1");
            res.Add("トレーステスト2", "トレースログ2");

            // Message項目への出力値
            tc.TrackTrace("トレース");

            // リクエストログのインスタンス
            RequestTelemetry rt = new RequestTelemetry();

            // カスタムログ
            var res2 = rt.Context.GlobalProperties;
            res2.Clear();
            res2.Add("リクエストテスト1", "リクエストログ1");
            res2.Add("リクエストテスト2", "リクエストログ2");
            tc.TrackRequest(rt);
        }
    }
}