Я использую ILogger<MyController>
для записи журналов с использованием DI (см. шаг 6 )
Я также использую NLog EventProperties
Я хочу автоматически добавить traceId во все мои журналы в контроллере.
Это работает:
logger.Info("Some log. TraceId:{traceId}", 123);
Однако затем мне нужно изменить все команды журнала (многие из них) !), что является болью.
Если я сделаю следующее, это не безопасно:
using NLog;
public class MyController : Controller
{
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
public MyConstructor(Apilog apilog)
{
Logger.SetProperty("traceid", apilog.TraceId);
}
}
Есть ли способ использовать SetProperty с ILogger<MyController>
?
Или какой-нибудь способ использования NLog с SetProperty быстрым и безопасным для потоков способом?
Заранее большое спасибо!