Мне нужно распечатать данные об ошибках в файле NLog после сохранения данных об ошибках в db, и я хочу написать для этого собственный рендеринг макета.Отправить пользовательский объект в пользовательский макет рендеринга NLog ASP.NET Core
[LayoutRenderer("error-data")]
public class ErrorDataLayoutRenderer : AspNetLayoutRendererBase
{
protected override void DoAppend(StringBuilder builder, LogEventInfo logEvent)
{
builder.Append($"{error.Id} | {error.LoggedDate} | {error.Url}");
}
}
Я хочу написать в nlog.config:
<target xsi:type="File" name="errors" fileName="c:\log.errors.txt"
layout=${error-data}" />
И в обслуживании:
var error = service.LogError(data);
Logger Logger = LogManager.GetCurrentClassLogger();
Logger.Error(error); //or something like that
error
- класс, который представляет объект в БД. Он имеет некоторые свойства, такие как: Id, LoggedDate, Summary
и т. Д. Как я могу получить объект error
здесь?
Что такое 'error'? (Пожалуйста, покажите * в вопросе *, как вы планируете использовать это расширение в конфигурации nlog и как вы планируете использовать его при регистрации из кода.) – Richard