Я создал проект веб-задания из шаблона веб-задания, .net framework 4.6.1, шаги, как показано ниже:
шаг 1: создать проект
шаг 2: установите следующий пакет:
Install-Package Microsoft.Azure.WebJobs -version 2.2.0
Install-Package Microsoft.Extensions.Logging -version 2.0.1
Install-Package Microsoft.Extensions.Logging.Console -version 2.0.1
Install-Package Microsoft.Azure.WebJobs.Logging.ApplicationInsights -version 2.2.0
Install-Package System.Configuration.ConfigurationManager -version 4.4.1
шаг 3: в app.config добавьте следующее:
шаг 4: моя программа.cs:
using Microsoft.Azure.WebJobs;
using Microsoft.Extensions.Logging;
using System.Configuration;
namespace WebJob7
{
class Program
{
static void Main()
{
var config = new JobHostConfiguration();
var instrumentationKey =
ConfigurationManager.AppSettings["APPINSIGHTS_INSTRUMENTATIONKEY"];
config.DashboardConnectionString = "";
config.LoggerFactory = new LoggerFactory()
.AddApplicationInsights(instrumentationKey, null)
.AddConsole();
if (config.IsDevelopment)
{
config.UseDevelopmentSettings();
}
var host = new JobHost(config);
host.RunAndBlock();
}
}
}
шаг 5: мой код в Function.cs:
using Microsoft.Azure.WebJobs;
using Microsoft.Extensions.Logging;
namespace WebJob7
{
public class Functions
{
// This function will get triggered/executed when a new message is written
// on an Azure Queue called queue.
public static void ProcessQueueMessage([QueueTrigger("queue")] string message, ILogger logger)
{
//you can directly use this line of code.
//logger.LogError(new Exception(),"it is a test error...");
//or use the following code
try
{
int i = int.Parse("123er");
}
catch(Exception ex)
{
logger.LogError(ex,"it's a exception here 0927..........");
}
}
}
}
После выполнения журналы отображаются на портале Azure -> перейти как исключение:
Нажмите, чтобы увидеть подробности: