Come ottenere informazioni sulla traccia dello stack per l'accesso nella produzione quando si utilizza il GAC

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

Domanda

Mi piacerebbe avere traccia dello stack (nome del file e numero di riga) le informazioni per le eccezioni di registrazione, ecc in un ambiente di produzione. Le DLL sono installati nella GAC. Esiste un modo per fare questo?

Questo articolo dice di mettere file PDB nel GAC:

  

È possibile individuare questi facilmente perché diranno è necessario copiare i simboli di debug (file PDB) al GAC. In sé e per sé, che non funziona.

So che questo articolo si riferisce al debug con VS, ma ho pensato che potrebbe applicarsi a registrazione della stacktrace anche.

Ho seguito le istruzioni per la risposta a questa domanda tranne che per deselezionando ottimizzare il codice che hanno detto che era facoltativo.

Ho copiato le DLL e PDB nel GAC ma non sto ancora ricevendo le informazioni di stack trace. Ecco quello che ottengo nel file di registro per l'analisi dello stack:

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

sto usando NLog.

Il mio layout di NLog è:

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

$ {stacktrace: format = Raw}. Essendo la parte rilevante

È stato utile?

Soluzione

Prova prima in minuscolo:

   ${stacktrace:format=raw}

Se questo non funziona provare:

   ${exception:format=stacktrace}

Altri suggerimenti

Prova questo:

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

Lo stackTrace stringa avrà la stackstrace del thread corrente

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top