Изменить значения серверных переменных, которые зарегистрированы в Elmah - PullRequest
0 голосов
/ 10 июля 2019

Я настроил Elmah в своем приложении, и когда я посмотрел журналы ошибок, я увидел, что в разделе «Пользователь» Elmah зарегистрировал идентификатор вместо текущего имени пользователя, как показано ниже. Мне было интересно, есть ли место, где я Я могу изменить способ установки значений этих серверных переменных, чтобы я мог указать, например, адрес электронной почты или правильное имя пользователя в переменной Auth_User. Смотря в документацию Elmah, я смог выяснить, как отфильтровать журнал ошибок, но на самом деле не как обновить значения серверной переменной перед регистрацией.

Любая помощь приветствуется.

Elmah

Спасибо

1 Ответ

1 голос
/ 11 июля 2019

Я написал пост в блоге именно об этом: Обогащение ошибок ELMAH с помощью фильтра фильтрации ошибок .

Для подведения итогов используйте фильтрацию ошибок ELMAH, чтобы перезаписать сообщение, зарегистрированное в ELMAH.

В Global.asax.cs добавить следующий код:

void ErrorLog_Filtering(object sender, ExceptionFilterEventArgs args)
{
    var httpContext = args.Context as HttpContext;
    if (httpContext != null)
    {
        var error = new Error(args.Exception, httpContext);
        error.User = GetUserFromDatabase();
        ErrorLog.GetDefault(httpContext).Log(error);
        args.Dismiss();
    }
}

Способ реализации строки, в которой вы устанавливаете свойство User на error, будет зависеть от вашего приложения. Но код позволит вам установить что-то вроде имени пользователя, имени пользователя или адреса электронной почты.

...