cf.net исключение и другая регистрация - PullRequest
2 голосов
/ 06 января 2009

Я хочу добавить возможность ведения журнала в приложение cf.net, работающее на WM6 Pro. Я смотрю на журналы исключений и некоторые из наиболее чувствительных разделов кода. Я хотел бы, чтобы журналы хранились как локально (т. Е. На устройстве), так и надежно выгружались на сервер (их нужно ставить в очередь, мое приложение иногда подключается).

Кто-нибудь знает, возможно ли это с log4net, или мне придется написать собственную систему регистрации? У кого-нибудь есть указатели?

Ответы [ 3 ]

4 голосов
/ 06 января 2009

Если вы используете для этого log4net, НЕ используйте опцию UDP appender для входа на удаленный сервер. Если устройство WM подключено к ПК через ActiveSync и имеет доступ к сети через ПК, попытка использования UDP приведет к сбою ActiveSync таким способом, который требует перезагрузки ПК и программного сброса устройства WM. Из-за этого у меня была ужасно неправильная демонстрация (мы потеряли огромный контракт).

log4net может отлично работать в других средах, но я считаю, что это PITA и не стоит проблем с Windows Mobile. Вам лучше написать свой собственный простой класс Logger, который использует TextWriter для выгрузки информации в текстовый файл (для локальной регистрации) или вызывает функцию веб-сервиса на удаленном сервере. У вас есть полный контроль над тем, что и где написано, и вам не нужна чепуха Бензопилой только для чтения ваших журналов.

0 голосов
/ 06 января 2009

SQL CE (Compact Edition) поддерживает репликацию. Вы можете хранить исключения локально, а затем синхронизировать локальное хранилище данных с центральным сервером при подключении. Некоторые детали здесь .

0 голосов
/ 06 января 2009

Это возможно сделать. Просто напишите пользовательский appender, который проверяет, доступен ли сервер, и сохраняет данные в sqlite, если нет.

http://karlagius.wordpress.com/2008/01/02/writing-a-custom-appender-for-log4net/

...