Это вероятно потому, что вы использовали tibble
вместо фрейма данных для своих данных (то есть, testdf2
). Это может произойти, если вы используете пакет в tidyverse
для создания своего фрейма данных, например haven
. Замена testdf2
на as.data.frame(testdf2)
должна решить проблему, если это является причиной.
Если вы хотите более красивое отображение графика баланса, я рекомендую использовать пакет cobalt
(который я написал для этой цели, среди прочего). После запуска library(cobalt)
, запустите love.plot(bal.tab(mnps.newtest1.ATE))
, который предоставляет график с той же информацией (см. Ниже пример с некоторыми дополнительными опциями).
Вы можете установить which.treat = NULL
для просмотра всех парных разностей.
Не совсем уверен насчет ELMAH, но ожидаемое поведение таких каркасов ведения журналов - это не выбрасывать какие-либо исключения, если с ними что-то не так , Т.е. если база данных ELMAH не работает, я предполагаю, что она просто не будет регистрировать ошибки в базе данных.
Как предложено выше, вы можете / должны использовать альтернативные приемники - электронную почту или обычный файл.
Вы всегда можете использовать опцию файла xml для регистрации ваших ошибок.
Я думаю, вы немного перепутали контексты.
Поведение ELMAH, если база данных недоступна, не регистрировать ошибки в базе данных. Если на сервере выдается исключение или вы вызываете исключение с помощью ErrorSignal
, ELMAH пропустит это исключение либо на желтый экран, либо на страницу пользовательских ошибок (ваши настройки).
Поскольку страница Errors.axd доступна только тем, кто должен ее видеть (в идеале), можно представить эту ошибку пользователю.
Суть в том, что если база данных ошибок не работает, диагностировать ее невозможно. ошибки. Для нас, если бы это было так, у нас были бы большие проблемы, поскольку база данных ошибок находится в рабочей базе данных.
Похоже, что 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.
Как я могу диагностировать свои ошибки, если это возникает?
Лучшим вариантом здесь является также включить регистрацию и отправку ошибок по электронной почте. Если база данных не работает, велика вероятность, что почтовый шлюз работает, и вы все равно будете получать уведомления об ошибках. Фактически, ошибки регистрируются в некоторых почтовых ящиках. Это также имеет дополнительное преимущество: если почтовый шлюз когда-либо выйдет из строя, то есть вероятность, что база данных будет работать и там будут регистрироваться ошибки. Однако, если оба вышли из строя, вам необходимо будет серьезно проверить свою производственную инфраструктуру и, возможно, принять меры для мониторинга работоспособности вашей системы с помощью дополнительных мер.