【发布时间】:2018-12-28 01:47:41
【问题描述】:
我有具有服务总线主题触发器的天蓝色功能。我注意到,当函数毫无例外地执行时,所有 tracewriter.loginformation 消息都会正确显示在应用程序洞察力中。但如果发生任何异常,则在 appinsights 中会显示 nighther log.information 也不显示 log.error
我的函数在消费计划下运行。我注意到我有 2 个 catch 块。
catch(validation ex)
{
log.error;
}
catch(exception ex)
{
log.error;
throw;
}
第一个 catch 块中的所有错误都被记录,但第二个 catch 块中的所有错误都没有被记录。我注释掉了 throw 并且它开始记录到 appinsights .. 但我需要 throw 进行死信处理。请指教。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net462</TargetFramework>
<Version>1.6.15</Version>
<DependsOnNETStandard>netstandard1.5</DependsOnNETStandard>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
<WarningsAsErrors />
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions" Version="2.1.0-beta1" />
<PackageReference Include="Microsoft.Azure.WebJobs.Extensions.Http" Version="1.0.0-beta1" />
<PackageReference Include="Microsoft.Azure.WebJobs.ServiceBus" Version="2.1.0-beta1" />
<PackageReference Include="Microsoft.NET.Sdk.Functions" Version="1.0.0-alpha6" />
<PackageReference Include="System.IO" Version="4.1.0" />
<PackageReference Include="System.Runtime" Version="4.1.0" />
</ItemGroup>
<ItemGroup>
<Reference Include="Microsoft.CSharp" />
</ItemGroup>
<ItemGroup>
<Compile Update="TemplateResource.Designer.cs">
<DesignTime>True</DesignTime>
<AutoGen>True</AutoGen>
<DependentUpon>TemplateResource.resx</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Update="TemplateResource.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>TemplateResource.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Update="host.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="local.settings.json">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<Folder Include="Properties\PublishProfiles\" />
</ItemGroup>
</Project>
【问题讨论】:
-
第二个catch块中的日志错误部分是否完全一样?还是那里有其他东西引发另一个异常或导致该异常未被记录的东西。看起来它应该可以工作,假设您的代码的日志部分在两个分支中完全相同相同。
-
我们尝试重现,它按预期工作。 Krishna,您能否提供以下详细信息:基本代码 sn-p、.NET 版本、Microsoft.NET.Sdk.Functions 和 Microsoft.Azure.WebJobs.ServiceBus 包
-
@ZakiMa 我更新了项目设置详细信息。我注意到,当我从本地调试时,消息会记录在应用程序洞察中。但是当部署在消费计划中时,它无法正常工作,直到我删除“throw”
标签: azure azure-application-insights