ASP.NET MVC - Добавление Log4Net LogicalThreadContext - PullRequest
0 голосов
/ 16 октября 2019

Я хочу добавить идентификатор Guid во все журналы для определенного запроса.

Я определил в своем разделе конфигурации log4net:

    <layout type="log4net.Layout.PatternLayout">
        <header type="log4net.Util.PatternString" value="====[-- Logging Start --]==== %newline " />
        <footer type="log4net.Util.PatternString" value="====[-- Logging Terminate --]==== %newline " />
        <param name="ConversionPattern" value="%date{MM/dd/yyyy HH:mm:ss} [%level] %C{2}.%M(line:%line, Thread:%thread, Context:%property{context}) %message %exception %newline" />
    </layout>

Теперь у меня естьпопытался добавить следующую строку в методе Global.asax Begin_Reqeust:

    log4net.LogicalThreadContext.Properties["context"] = Guid.NewGuid().ToString("N");

Этот документ работает, также я читал об этом в Интернете.

Теперь при добавлении в атрибут фильтра это работает, поэтомуЯ добавил атрибут действия, целью которого является просто добавление Guid к LogicalThreadContext, и это хорошо работает.

Проблема в том, что мне нужно добавить этот атрибут в каждый контроллер.

Есть ли другое событие в Global.asax, в которое я могу добавить свойство LogicalThreadContext? Я перепробовал все.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...