J'utilise ASP.NET Core et NLog.Web.AspNetCore (4.3.1). NLog n'enregistre pas une mauvaise requête url - pourquoi? Ce qui est à moi NLog.config:Pourquoi nlog n'enregistre-t-il pas une mauvaise requête?
<?xml version="1.0" encoding="utf-8"?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<targets>
<target name="logfile" xsi:type="File" fileName="${basedir}/nlog.txt"
layout="${longdate} url: ${aspnet-request-url} | ${message}"/>
</targets>
<rules>
<logger name="*" minlevel="Warn" writeTo="logfile"/>
</rules>
</nlog>
Quand j'ai un nlog d'erreur 404 est sauve:
2017-05-11 20: 07: 34,2466 url: | Mon message d'erreur
Url ci-dessus est vide - pourquoi?
Ma méthode Configurer Startup.cs:
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
// .....
app.UseExceptionHandler("/Error/ApplicationError");
app.UseStatusCodePagesWithReExecute("/Error/Error/{0}");
// .....
loggerFactory.AddNLog();
app.AddNLogWeb();
// ......
}
Mon contrôleur d'erreur:
public class ErrorController : Controller
{
private readonly ILogger<ErrorController> _logger;
public ErrorController(ILogger<ErrorController> logger)
{
_logger = logger;
}
public IActionResult ApplicationError()
{
return View();
}
[Route("/Error/Error/{statusCode}")]
public IActionResult Error(int statusCode)
{
_logger.LogError("My error message");
return View(statusCode);
}
}
Votre application contient-elle une référence Nuget à 'NLog.Web'? Le rendu de mise en page 'aspnet-request-url' ne fait pas partie de NLog lui-même. – Amy
J'ai NLog.Web.AspNetCore –