■サンプルソース
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);
}
}
}