[NLog]With Visual Studio Unit Test Project
參考:
NLog not working with MSTest - any suggestions?
NLog does not show any output!
問題描述:如一般專案中,我們加入了NLog.config於應用程式根目錄中,且永遠複製至輸出目錄,但並沒有如我們預期般寫出日誌。
根本問題:執行測試時沒有讀取到NLog.config
解法:
(1) 測試程式增加一行, 將Nlog.config load到應用程序中.
(2) 將NLog.config的內容加到App.config
<section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog"/>
</configSections>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<variable name="logFilePath" value="D:\WorkArea\TEST\bin\Debug\logs\${shortdate}\Main.log"/>
<targets async="true">
<target name="fileAsInfo" xsi:type="File" fileName="${logFilePath}" layout="${longdate} ${level:upperCase=true}: ${message} ${exception:format=ToString}"/>
</targets>
<rules>
<logger name="*" minlevel="Trace" writeTo="fileAsInfo"/>
</rules>
</nlog>
無效解法:
將NLog.config存入 %Program Files%\Microsoft Visual Studio 9.0\Common7\IDE (即MSTest.exe的路徑) , 因為也不可能用這種方法, 故未去探究原因.