2011-01-05 22 views
1

我有一個應用程序試圖混淆。當未混淆時,程序會發出NLog日誌記錄消息,但在混淆後,即使應用程序的其餘部分按預期運行,它也不會生成任何消息。我試過了幾個混淆器,它們有相同的症狀。有沒有人有任何建議去看看。我生成了NLog內部日誌記錄工具,它們看起來完全相同。我的配置非常簡單:NLog不會通過混淆發出消息

 // enable internal logging to the console 
     InternalLogger.LogToConsole = true; 

     // enable internal logging to a file 
     InternalLogger.LogFile = "log.txt"; 

     // set internal log level 
     InternalLogger.LogLevel = LogLevel.Trace; 

     LogTarget = new MemoryTarget(); 
     LogTarget.Layout = "${message}"; 
     NLog.Config.SimpleConfigurator.ConfigureForTargetLogging(LogTarget, LogLevel.Trace); 

回答

1

很可能,NLog以某種方式使用了反射,導致混淆的程序集無法記錄。

你是在模糊NLog程序集還是隻是你自己的程序集?

嘗試在混淆工具中轉換「符號重命名」以查看它是否有所作爲。如果它有效,那麼你知道原因,你可以深入瞭解重新命名相關類/成員。

+0

謝謝。我決定現在使用Log4net。稍後我會重新討論這個解決方案。 – 2011-01-06 20:38:23