gpt4 book ai didi

c# - 如何在 Azure 函数的堆栈跟踪中显示文件名和行号

转载 作者:行者123 更新时间:2023-12-05 07:00:18 26 4
gpt4 key购买 nike

注意:如果有人对如何实现这一点有任何想法,请写下答案:)

如何启用一项功能,以便在调试时在 azure 函数控制台窗口中显示的堆栈跟踪中捕获每个异常的文件名和行号。或者更好的是,在调试 azure 函数时如何在 Visual Studio 中命中调试断点?

我试过启用 debugging information = full,在项目设置 -> 构建 -> 高级 -> debugging information = full,但这没有任何效果。

这里有一些代码会生成一个索引越界异常来展示问题:

List<string> test = new List<string>();
Console.WriteLine(test[0]);

当我在 Debug模式下运行 azure 函数并遇到异常时,这是控制台窗口生成的输出:

[2020-10-02T13:01:38.289] Executed 'Function1' (Failed, Id=180bf39f-1b60-401e-80a4-2073de926e9e, Duration=340ms)
[2020-10-02T13:01:38.290] System.Private.CoreLib: Exception while executing function: Function1. System.Private.CoreLib: One or more errors occurred. (Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index')). System.Private.CoreLib: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index').

这是项目中的 Host.json 文件:

enter image description here

最佳答案

您只启用 Application Insight 日志。

将以下行添加到您的配置中

{
"Logging": {
"LogLevel": {
"Default": "Debug",
"System": "Information",
"Microsoft": "Information"
}
}
}

然后像下面这样修改日志配置

services.AddLogging(config =>
{
// clear out default configuration ==> if necessary
config.ClearProviders();

config.AddConfiguration(Configuration.GetSection("Logging"));
config.AddDebug();

if(Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT") == EnvironmentName.Development)
{
config.AddConsole();
}
});

关于c# - 如何在 Azure 函数的堆栈跟踪中显示文件名和行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64172418/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com