Вопрос

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

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

Это было полезно?

Решение

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

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

Другие советы

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top