我使用Asp .NET Core2.2并需要登录文件。并尝试使用ILoggerFactory:
loggerFactory.AddProvider(new MyOwnFileLogProvider());
但是:
loggerFactory.AddConsole();//This method is obsolete and will be removed in a future version.
好的,拒绝所有工厂并使用:
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
我使用asp.net核心1.1组装了一个简单的控制台应用程序。我安装了Kestrel主机,并使用了IApplicationBuilder和ILoggerFactory.注入的配置方法。我在loggerFactory.上调用AddConsole扩展然后运行最简单的中间件,输出一条消息。应用程序代码如下所示:
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;
name
在我的.NET Core2.0项目中的xUnit集成测试中,我在打印测试结果的终端中看不到日志消息。当代码在WebHost环境中运行时,会将日志打印到控制台。
下面是我在测试的构造函数中配置日志的方法:
var config = new ConfigurationBuilder()
.AddJsonFile("appsettings.Tests.json")
.Build();
var services = new ServiceCollection();
services.AddLogging(options => {
options.Add
如果我用ASP.NET Core Web App (Model-View-Controller)创建了一个新的dotnet new mvc,那么它已经配置好了日志记录。
但是,http请求错误代码被记录为info事件。
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[1]
Request starting HTTP/1.1 GET https://localhost:5001/doesnotexists
info: Microsoft.AspNetCore.Hosting.Internal.WebHost[2]
R
最近,我在后端API应用程序中为每个UnobservedTaskException添加了错误日志记录。原因是一些API调用执行额外的任务,这些任务是在我返回结果后完成的,这就是为什么在操作(web调用)级别上无法跟踪错误的原因。
现在,我得到了很多“操作被取消”的异常,并且不知道该如何处理它。我甚至不确定这个异常是否是由API调用执行的任务引起的。
下面是堆栈:
System.OperationCanceledException: The operation was canceled.
at System.Threading.CancellationToken.ThrowIfCancel
我使用NLog,并为我的应用程序创建了自己的日志提供程序。我在StartUp类中使用NLog设置了配置。
我将向您展示Program.cs现在的样子。
public static void Main(string[] args)
{
var configurationDic = CreateConfigurationDictionary();
// In here it can throw an exception therefore I need to be able to log here
var webHost = Buil
我只是浏览Azure函数,并试图在发生异常时检查Azure函数的行为。我查看了Microsoft提供的有关错误处理的文档,并制作了一个非常简单的HTTP触发器。这是
码
using System.Net;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Primitives;
using Newtonsoft.Json;
public static async Task<IActionResult> Run(HttpRequest req, ILogger log, ExecutionContext conte
我有一个简单的ServiceStack服务,并添加了一些日志。 log.Info("In Vehicle service request");
if (log.IsDebugEnabled)
log.Debug("Debugging Vehicle service request"); log在基类中定义如下; public abstract class ServiceBase : Service
{
public static readonly ILog log = LogManager.GetLogger(typeof(ServiceBas
我希望在我的asp.net web (而不是 Asp.Net Core)上设置日志记录,并希望确保我遵循最佳实践(尽可能接近)。我在我的服务中使用SeriLog,并且也希望将这个产品用于我的Web。我不确定在Web中设置日志记录的最佳方法,我想设置它,根据上下文(我的API提供多个应用程序),我希望能够登录到单独的。请有人提供一些指导,如何开始这项任务,潜在的陷阱,或链接到一篇文章,我还没有找到如何设置这一点在Asp.Net?