问题标签 [asp.net-core-logging]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
12228 浏览

logging - ASP.NET Core 1.0 日志记录

我有ASP.NET Core web api项目。现在我想记录错误和事件。我以前在我的项目中使用过 ELMAH,但似乎 elmah 不适用于 ASP.NET Core。我参考了 这个官方链接 来配置微软提供的默认日志服务。我看不到如何将这些日志保存在文本文件或数据库中。

如果 ASP.NET Core 已经具有默认的日志记录功能,我想知道为什么要使用其他工具,例如 elmah、log4net。因此,当我再次搜索实现默认日志记录以将日志保存在数据库或文本文件中的文章时,我找不到任何内容。有什么方法可以使用 ASP.NET 核心内置的日志记录支持将日志保存在文件中?

我目前正在使用运行良好的 Serilog,并且还下载了 seq 以在浏览器中优雅地显示日志。但是,我仍然想知道如何使用内置的 asp.net 核心日志记录功能来实现相同的目标。

使用 Serilog 的日志文件:

使用 Seq 显示的日志: 在此处输入图像描述

0 投票
2 回答
5244 浏览

asp.net-core - 使用 Application Insights 在 Azure 上进行 ASP.NET Core 跟踪日志记录

我有一个 ASP.NET Core Web 项目部署到 Azure 并配置了 Application Insights。Insights 可以正常接收请求等数据,但我无法让它显示我的日志。

我正在使用 vanilla Microsoft.Extensions.Logging 框架,并且在控制器操作上记录了一个测试错误

在我设置的 Startup.cs 配置方法中

...并且可以成功看到错误消息出现在 Azure 日志流中:

但是,我也希望此消息出现在 Application Insights 跟踪中,但无处可寻。我想我需要配置 ILoggerFactory 但不确定如何并且找不到有关该主题的任何文档。

在此先感谢您的帮助

0 投票
1 回答
10260 浏览

logging - Serilog:请求 ID 实现

最近我已经将 Serilog 配置为与 ASP.NET Core 2 MVC 应用程序配合得很好,下一个任务是在系统的每一层上跟踪对 Web 应用程序的传入请求。所以基本上,我们想要传播一些令牌(比如RequestId由 Serilog 生成到较低层的应用程序)。

在日志中,我们有很好的输入,比如

但我的问题是 Serilog 在哪里实施丰富器RequestId?老实说,我找不到它。

0 投票
1 回答
1075 浏览

c# - 记录 dotnet core webapi 的扩展方法如何获取调用项目/程序集名称?

这是扩展方法

我们可以Startup像这样使用它

我想保存日志\\%windir%\log\callingAppName\logfile.log

任何想法我们怎么能做到这一点?

0 投票
1 回答
257 浏览

asp.net-core-2.0 - 从 Kestrel 控制台窗口隐藏异常

我正在使用带有 .NET Core 2 的 Kestrel 来提供 Web API 应用程序。

我想隐藏在控制台窗口中显示时发生的异常。

0 投票
1 回答
342 浏览

asp.net-core - Microsoft.Extensions.Logging 中是否提供强制日志记录

我有 ASP.NET Core 应用程序。我正在使用Microsoft.Extensions.Logging.ILoggerSerilog日志记录提供程序的接口。
在生产环境中,日志级别设置为Error. 所以低于Errorloglevel 的任何内容都不会被记录。

是否有Force可用的Microsoft.Extensions.Logging日志记录,无论日志级别设置如何,它都会记录消息?

基本上我想(暂时)记录一些信息而不将 LogLevel 设置为 Information,因为这会记录所有其他不相关的信息消息。

更新 1
所以我根据建议更新了我的 appsettings.json,但是没有用。请注意,serilog 也有自己的日志级别,我已将其注释掉。但仍然无法正常工作。

然后在 MyUserService

在 program.cs 中

0 投票
1 回答
2965 浏览

asp.net-core - Serilog 和 ASP.NET Core 丰富了 `WithUserName` 和 `WithHttpRequestUserAgent`?

有没有一种方法可以丰富SerilogASP.NET Core 2.1 应用程序中的日志数据,类似于经典 ASP.NET ( ) 的丰富器WithUserNameWithHttpRequestUserAgent工作方式System.Web

我尝试实现ILogEventEnricher接口,但它不起作用,因为我无法RequestContext从我的自定义丰富器中获得访问权限。

0 投票
1 回答
7205 浏览

c# - ASP.NET Core 日志记录不适用于生产

原来这个问题与NLogASP.NET 日志系统无关。日志配置正确,但Debug由于配置错误,构建服务器正在将构建发布到生产环境。

2.1.401我正在尝试在我的 ASP.NET Core 2.0 (SDK ) 项目中设置第三方记录器。到目前为止,我已经尝试过SerilogNLog. 但是我对两者都有同样的问题。总结一下这个问题,

  • 当我运行应用程序时它按预期工作dotnet run(即在Development环境中)
  • dotnet MyApplication.dll但是当我运行二进制文件时(即在Production环境中)它不会。
  • 我的文件中没有在环境"Logging"部分定义任何内容。Developmentappsettings.Development.json

下面描述的问题是针对NLog. 我已经尝试SeriLog并遇到了同样的问题。

这是来自的相关部分Program.cs

注意我已经清除了所有提供程序并添加NLognlog.config文件定义:

Development模式下运行时,我看到的日志完全符合我的预期

但是,当我在环境中运行应用程序时Production,控制台输出看起来好像我没有NLog安装并且我没有清除默认提供程序。

请注意这些行以info:? 当您使用定义的默认日志记录设置时,这些是标准控制台日志记录格式Microsoft.Extensions.Logging。但我肯定Console通过调用文件清除了提供logging.ClearProviders();程序Program.cs

谢谢你的帮助。

0 投票
1 回答
1077 浏览

asp.net-core - 如何在 asp.net 核心日志记录和应用程序洞察中记录 json

有没有办法在 asp.net core 2 中记录以下内容?

我已经尝试使用序列化值,但生成的 json 似乎被截断了。

0 投票
1 回答
4668 浏览

asp.net-core - Asp.Net Core 日志语句未显示在 Application Insights 中

我正在使用提供的 asp.net 核心日志记录并配置了应用程序洞察力。我可以在应用程序洞察力中看到未处理的异常,但在应用程序洞察力中看不到logger.LogInformation("testing")任何地方。我确实在日志流中看到了日志。

此外,我没有在 Visual Studio Application Insights 屏幕中看到日志。我创建了一个 hello world 应用程序,它表明您在应用程序洞察力中看不到日志。

https://github.com/devlife/AppInsightsSandbox

有什么想法吗?

在此处输入图像描述