我是NLog的新手,已經選擇將它添加到我的ServiceStack(4.0.44)Web服務中,但它不能正常工作,因爲我總是以NullDebugLogger結束。配置帶有ServiceStack的NLog不是NullDebugLogger
我
的Global.asax
Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
LogManager.LogFactory = New NLogFactory()
Dim appHost As New MyAppHost
appHost.Init()
End Sub
我還手動添加一個NLog.config文件記錄到調試器
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
autoReload="true"
throwExceptions="true"
internalLogLevel="Trace" internalLogFile="c:\temp\nlog-internal.log" >
<targets>
<!-- log to the debugger -->
<target xsi:type="Debugger" name="debugger" layout="${logger}::${message}"/>
</targets>
<rules>
<logger name="*" minlevel="Trace" writeTo="debugger" />
</rules>
</nlog>
終於在我的課我有以下
public class MyClass
{
public static ILog Log;
public MyClass()
{
Log = LogManager.GetLogger(typeof(MyClass));
}
public void LogSomething()
{
Log.Debug("Starting to LogSomething");
}
}
當我調試時,我的類中的Log對象顯示爲ServiceStack.Logging.NullDebugLogger,我相信這是默認的,但我無法弄清楚如何將其更改爲我可以使用的東西。我確信我錯過了一些簡單的東西,但無法弄清楚它是什麼。我的Web服務在不同的項目中(在相同的解決方案中),這就是爲什麼我的Global.asax是VB並且類是C#。我也沒有參考web.config到NLog.config,但我認爲Nlog無論如何選擇了。
謝謝Mythz我會看看那個 – Steve