首页 > 解决方案 > 将 log4net 中的异常记录到 Azure 函数中的 Azure 表存储

问题描述

我指的是这个链接来记录从 log4net 到 Azure 表存储的异常。

现在我需要在 .net core 中的 Azure 函数中执行相同的操作,但由于 Azure 函数中没有配置文件,我无法在那里使用相同的配置文件。

我可以尝试什么来解决这个问题?

标签: asp.net-coreazure-functionslog4netazure-table-storage

解决方案


现在我需要在 .net 核心中的 Azure 函数中执行相同的操作,但由于 Azure 函数中没有配置文件,因此无法在那里使用相同的

您似乎正在尝试读取我们通常从配置文件中读取的某些属性。是的,您也可以在 Azure Function 中执行此操作。有文件名local.settings.json,您可以从此处读取所需的属性。请参见下面的示例:

local.settings.json:

{
    "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "FUNCTIONS_WORKER_RUNTIME": "dotnet",
    "TableName": "YourTableName",
    "AccountName": "YourAccountName",
    "AccountKey": "YourAccountKey"

  }
}

从以下位置读取您在 Azure 函数上的属性local.settings.json

  public static class AzureFunctionApp2Arunraj414CaseForGetConfigProperty
{
    [FunctionName("AzureFunctionApp2Arunraj414CaseForGetConfigProperty")]
    public static async Task<IActionResult> Run(
        [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
        ILogger log)
    {
        log.LogInformation("C# HTTP trigger function processed a request.");

        //Read Request Body
        var content = await new StreamReader(req.Body).ReadToEndAsync();

        //Extract Request Body and Parse To Class
        Users objUsers = JsonConvert.DeserializeObject<Users>(content);

        //You Can Read Your Desired Value from local.settings.json file Like Below
        var yourTableNameFromLocalSettingsJson = Environment.GetEnvironmentVariable("TableName");
        var yourAccountNameFromLocalSettingsJson = Environment.GetEnvironmentVariable("AccountName");
        var yourAccountKeyFromLocalSettingsJson = Environment.GetEnvironmentVariable("AccountKey");


        //I am returning all the property I got from local.settings.json
        var result = new OkObjectResult(yourTableNameFromLocalSettingsJson +" & "+ yourAccountNameFromLocalSettingsJson + " & " + yourAccountKeyFromLocalSettingsJson+ " From local.settings.json");
        return result;
    }
}

调试和测试:

请看下面的屏幕截图:

在此处输入图像描述

注意:您甚至可以将local.settings.json文件中的值之外的属性设置为单独的属性


推荐阅读