Pregunta

Quiero agregar alguna capacidad de registro a una aplicación de cf.net que se ejecuta en WM6 Pro. Estoy mirando las excepciones de registro y algunas de las secciones más sensibles del código. Me gustaría que los registros se almacenen localmente (es decir, en el dispositivo) y que también se carguen de manera confiable en un servidor (es necesario que estén en cola, mi aplicación está conectada ocasionalmente).

¿Alguien sabe si esto es posible con log4net o tendré que escribir mi propio sistema de registro? ¿Alguien tiene algún puntero?

¿Fue útil?

Solución

Si usa log4net para esto, NO use la opción UDP appender para iniciar sesión en un servidor remoto. Si el dispositivo WM está conectado a una PC a través de ActiveSync y accede a la red a través de la PC, el intento de usar UDP bloqueará ActiveSync de una manera que requiera un reinicio de la PC y un reinicio suave del dispositivo WM. Tuve una demostración que salió terriblemente mal debido a esto (perdimos un contrato enorme).

log4net puede ser excelente en otros entornos, pero he encontrado que es un PITA y no vale la pena en Windows Mobile. Es mejor que escriba su propia clase de Logger simple que utiliza un TextWriter para volcar información en un archivo de texto (para el registro local) o llama a una función de servicio web en un servidor remoto. Tienes control total sobre lo que se escribe donde, y no necesitas ninguna tontería de la motosierra solo para leer tus registros.

Otros consejos

Es posible hacer eso. Simplemente escriba un appender personalizado que verifique si el servidor está disponible y, si no, almacena los datos en sqlite.

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

SQL CE (Edición compacta) admite la replicación. Puede almacenar las excepciones localmente, luego sincronizar el almacén de datos local con un servidor central cuando está conectado. Algunos detalles aquí .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top