2011-11-28 40 views
3

我有時會編寫小型實用程序。有時我需要輸出正在發生的事情。目前,我正在使用stringbuilder來保存我的文本,然後在我的應用程序完成處理之前,它將stringbuilder寫入文本文件。有關爲小型實用程序啓用基本日誌記錄的建議

我最近遇到了NLog,我喜歡我所看到的。我唯一的問題是,當我發送我的實用程序,目前我只需要發出一個.exe文件。但是,如果我使用NLog,我還必須包含配置文件(在理論上可以創建配置文件並以編程方式使用它)和.dll文件。

我寧願有某種形式的日誌記錄,仍然允許我將我的實用程序作爲單個.exe文件發送出去。

任何意見或建議?

+1

您的問題是「我應該使用NLog」還是「我應該如何打包依賴於NLog的應用程序」 - 或者其他什麼? – Yuck

+0

我明白如何使用NLog。我只是說我使用它的方式(按照網站的例子),我必須部署我的.exe和nlog.dll。目前我只是發送.exe而不是創建一個安裝包,這就是我更喜歡這樣做的方式。如果可以創建一個包含NLog.dll的.exe,那就太棒了。否則,我正在尋找替代使用stringbuilder/streamwriter(假設有更好的選擇)和NLog。希望更清楚一點。並感謝您的迴應。 – TalShyar

回答

4

使用默認的.Net跟蹤可能足以滿足您的需求。查看TextWriterTraceListener http://msdn.microsoft.com/en-us/library/system.diagnostics.textwritertracelistener.aspx,其中還包括跟蹤文件的示例。

默認情況下,Debug.XXXX在Release buils中不可用,而Trace.XXXX則不可用。

如果需要,可以動態配置跟蹤級別。見http://msdn.microsoft.com/en-us/library/system.diagnostics.trace.aspx和跟蹤概述在代碼配置NLOG的http://msdn.microsoft.com/en-us/library/x5952w0c.aspx

+0

如果我正確理解跟蹤/調試,它們只能在開發應用程序時使用。或者我仍然錯了?我希望能夠通過菜單項啓用/禁用日誌記錄和日誌記錄級別。 – TalShyar

+1

已更新。跟蹤方法通常在發佈版本中可用。 –

+0

謝謝你的幫助。我終於看到了光:P – TalShyar