База данных ELMAH SQL Error Handler, не доступная - что происходит с входом?

Это вероятно потому, что вы использовали tibble вместо фрейма данных для своих данных (то есть, testdf2). Это может произойти, если вы используете пакет в tidyverse для создания своего фрейма данных, например haven. Замена testdf2 на as.data.frame(testdf2) должна решить проблему, если это является причиной.

Если вы хотите более красивое отображение графика баланса, я рекомендую использовать пакет cobalt (который я написал для этой цели, среди прочего). После запуска library(cobalt), запустите love.plot(bal.tab(mnps.newtest1.ATE)), который предоставляет график с той же информацией (см. Ниже пример с некоторыми дополнительными опциями).

enter image description here

Вы можете установить which.treat = NULL для просмотра всех парных разностей.

[+1113] [+1113]

12
задан George Stocker 16 June 2009 в 11:20
поделиться

4 ответа

Не совсем уверен насчет ELMAH, но ожидаемое поведение таких каркасов ведения журналов - это не выбрасывать какие-либо исключения, если с ними что-то не так , Т.е. если база данных ELMAH не работает, я предполагаю, что она просто не будет регистрировать ошибки в базе данных.

Как предложено выше, вы можете / должны использовать альтернативные приемники - электронную почту или обычный файл.

0
ответ дан 2 December 2019 в 21:45
поделиться

Вы всегда можете использовать опцию файла xml для регистрации ваших ошибок.

0
ответ дан 2 December 2019 в 21:45
поделиться

Я думаю, вы немного перепутали контексты.

Поведение ELMAH, если база данных недоступна, не регистрировать ошибки в базе данных. Если на сервере выдается исключение или вы вызываете исключение с помощью ErrorSignal , ELMAH пропустит это исключение либо на желтый экран, либо на страницу пользовательских ошибок (ваши настройки).

Поскольку страница Errors.axd доступна только тем, кто должен ее видеть (в идеале), можно представить эту ошибку пользователю.

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


Я бы также выступил против использования ведения журнала XML для вашего основного источника ведения журнала. SQL-сервер даст вам лучшую производительность без необходимости управлять файлами. С ведением журнала XML это не так.
0
ответ дан 2 December 2019 в 21:45
поделиться

Похоже, что ELMAH не может уловить собственное errors

ELMAH до некоторой степени улавливает собственные ошибки. Если ErrorLogModule обнаруживает исключение при попытке записать ошибку в журнал, то исключение, возникшее в результате ведения журнала, отправляется в стандартное средство трассировки .NET Framework. См. , строка 123 из источников 1.0. См. Также следующее пошаговое руководство из документации ASP.NET для получения стандартной трассировки .NET Framework, работающей с трассировкой ASP.NET:

Пошаговое руководство: интеграция трассировки ASP.NET с трассировкой System.Diagnostics

файл AXD не недоступно, когда Журнал базы данных SQL не работает.

Это верно. При использовании SqlErrorLog

предполагаемое поведение ELMAH должно быть работоспособным при подключении к базе данных SQL Server, чтобы просматривать ошибки, хранящиеся в базе данных SQL Server. если база данных недоступна?

Если, например, база данных SQL Server не работает, во время ведения журнала произойдет исключение SqlException . Затем ELMAH отправит содержимое объекта SqlException в стандартное средство трассировки .NET Framework.

Как я могу диагностировать свои ошибки, если это возникает?

Лучшим вариантом здесь является также включить регистрацию и отправку ошибок по электронной почте. Если база данных не работает, велика вероятность, что почтовый шлюз работает, и вы все равно будете получать уведомления об ошибках. Фактически, ошибки регистрируются в некоторых почтовых ящиках. Это также имеет дополнительное преимущество: если почтовый шлюз когда-либо выйдет из строя, то есть вероятность, что база данных будет работать и там будут регистрироваться ошибки. Однако, если оба вышли из строя, вам необходимо будет серьезно проверить свою производственную инфраструктуру и, возможно, принять меры для мониторинга работоспособности вашей системы с помощью дополнительных мер.

12
ответ дан 2 December 2019 в 21:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: