Cómo obtener información para el registro de seguimiento de la pila en la producción cuando se utiliza el GAC

StackOverflow https://stackoverflow.com/questions/665225

Pregunta

Me gustaría conseguir seguimiento de la pila (nombre de archivo y número de línea) de información para excepciones de registro, etc., en un entorno de producción. Los archivos DLL se instalan en la GAC. ¿Hay alguna manera de hacer esto?

Este artículo dice acerca de poner los archivos PDB en la GAC:

  

Usted puede detectar fácilmente porque éstos van a decir tiene que copiar los símbolos de depuración (archivo .pdb) para el GAC. En sí mismo, eso no funcionará.

Sé que este artículo se refiere a la depuración de la estomatitis vesicular, pero pensé que podría aplicarse a registrar la StackTrace también.

He seguido las instrucciones para la respuesta a esta pregunta excepto para desmarcar optimizar el código que me dijeron que era opcional.

He copiado los archivos DLL y PDB en la GAC, pero todavía no recibo la información de seguimiento de la pila. Esto es lo que me pasa en el archivo de registro para el seguimiento de pila:

OnAuthenticate at offset 161 in file:line:column <filename unknown>:0:0
ValidateUser at offset 427 in file:line:column <filename unknown>:0:0
LogException at offset 218 in file:line:column <filename unknown>:0:0

Estoy usando Nlog.

Mi diseño es Nlog:

layout="${date:format=s}|${level}|${callsite}|${identity}|${message}|${stacktrace:format=Raw}"

$ {StackTrace: format = Raw}. Siendo la parte pertinente

¿Fue útil?

Solución

Trate prima en minúsculas:

   ${stacktrace:format=raw}

Si eso no funciona intento:

   ${exception:format=stacktrace}

Otros consejos

Prueba esto:

StringWriter sw = new StringWriter();
new Throwable().printStackTrace(new PrintWriter(sw));
String stackTrace = sw.toString();

El StackTrace cadena tendrá la stackstrace del hilo actual

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