Azure Function App Core v2 中的 Application Insights
Application Insights in Azure Function App Core v2
我正在尝试使用标准 ILogger 并将其记录到 Azure。首先,我在主机文件中添加了以下内容:
{
"version": "2.0",
"Logging": {
"ApplicationInsights": {
"LogLevel": {
"Default": "Trace",
"System": "None",
"Microsoft": "None"
}
}
},
"ApplicationInsights": {
"Instrumentationkey": "xx-xx-xx-xx-xx"
}
}
这是我的职能:
namespace Jobs
{
public static class ExchangeRates
{
[FunctionName("ExchangeRates")]
public static void Run([TimerTrigger("0 0 0 * * *", RunOnStartup =true)]TimerInfo myTimer, ILogger log)
{
string lol1 = "lol1 text";
string lol2 = "lol2 text";
log.LogWarning("adsad");
log.LogDebug("LogDebug", "asdasd", lol2);
log.LogTrace("LogTrace {lol1}, {lol2}", lol1, lol2);
log.LogInformation("LogInfo {lol1}, {lol2}", lol1, lol2);
log.LogError("LogError");
log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}");
}
}
}
但是没有添加日志记录。我还尝试安装 nuget 包:
Microsoft.Extensions.Logging.ApplicationInsights
我是否遗漏了什么 - 使函数应用写入 Application Insights 需要什么?
我认为您是 运行 具有应用程序洞察力的本地 azure 函数,对吧?
如果是,其实不推荐,因为application insights在azure portal中集成了azure function。
但仅供测试,您可以在local.settings.json
中添加这行设置"APPINSIGHTS_INSTRUMENTATIONKEY": "the key"
(记得设置为"copy if newer")。 local.settings.json
中的示例设置如下所示:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "xxxxxx",
"FUNCTIONS_WORKER_RUNTIME": "dotnet",
"APPINSIGHTS_INSTRUMENTATIONKEY": "the key"
}
}
顺便说一句,我在测试中还安装了nuget包Microsoft.Extensions.Logging.ApplicationInsights
。
我正在尝试使用标准 ILogger 并将其记录到 Azure。首先,我在主机文件中添加了以下内容:
{
"version": "2.0",
"Logging": {
"ApplicationInsights": {
"LogLevel": {
"Default": "Trace",
"System": "None",
"Microsoft": "None"
}
}
},
"ApplicationInsights": {
"Instrumentationkey": "xx-xx-xx-xx-xx"
}
}
这是我的职能:
namespace Jobs
{
public static class ExchangeRates
{
[FunctionName("ExchangeRates")]
public static void Run([TimerTrigger("0 0 0 * * *", RunOnStartup =true)]TimerInfo myTimer, ILogger log)
{
string lol1 = "lol1 text";
string lol2 = "lol2 text";
log.LogWarning("adsad");
log.LogDebug("LogDebug", "asdasd", lol2);
log.LogTrace("LogTrace {lol1}, {lol2}", lol1, lol2);
log.LogInformation("LogInfo {lol1}, {lol2}", lol1, lol2);
log.LogError("LogError");
log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}");
}
}
}
但是没有添加日志记录。我还尝试安装 nuget 包: Microsoft.Extensions.Logging.ApplicationInsights
我是否遗漏了什么 - 使函数应用写入 Application Insights 需要什么?
我认为您是 运行 具有应用程序洞察力的本地 azure 函数,对吧?
如果是,其实不推荐,因为application insights在azure portal中集成了azure function。
但仅供测试,您可以在local.settings.json
中添加这行设置"APPINSIGHTS_INSTRUMENTATIONKEY": "the key"
(记得设置为"copy if newer")。 local.settings.json
中的示例设置如下所示:
{
"IsEncrypted": false,
"Values": {
"AzureWebJobsStorage": "xxxxxx",
"FUNCTIONS_WORKER_RUNTIME": "dotnet",
"APPINSIGHTS_INSTRUMENTATIONKEY": "the key"
}
}
顺便说一句,我在测试中还安装了nuget包Microsoft.Extensions.Logging.ApplicationInsights
。