Estoy haciendo mi cambio de codificación en C++ a C#. Necesito reemplazar mi sistema macro de registro/reporte de errores C++ con algo similar en C#.Error al iniciar sesión en C#
En mi fuente de C++ Puedo escribir
LOGERR ("Algunos de error"); o LOGERR ("Error con las entradas% s y% d", stringvar, intvar);
El macro & código de biblioteca de soporte pasa el mensaje formateado (posiblemente varargs) a una base de datos junto con el archivo de origen, la línea de origen, el nombre de usuario y la hora. Los mismos datos también se incluyen en una estructura de datos para informar posteriormente al usuario.
¿Alguien tiene fragmentos de código C o punteros a ejemplos que hacen este informe/registro básico de errores?
Edit: En el momento en que hice esta pregunta, era realmente nuevo en .NET y no conocía System.Diagnostics.Trace. System.Diagnostics.Trace era lo que necesitaba en ese momento. Desde entonces, he usado log4net en proyectos donde los requisitos de registro eran más grandes y más complejos. Simplemente edite ese archivo de configuración XML de 500 líneas y log4net hará todo lo que necesite :)
+1 Pequeña adición, Trace está activo si y solo si compiló con el símbolo del preprocesador TRACE. – user7116
Una cosa a tener en cuenta con TextWriterTraceListener es que no marca el tiempo –
Puede anular el método 'WriteLine()' en 'TextWriterTraceListener' para obtener la capacidad automática de sellado de tiempo en el archivo de registro. Ver [este artículo de CodeProject] (http://www.codeproject.com/KB/dotnet/customnettracelisteners.aspx), sección 6. –