2017-06-14 185 views
1

我想要做一個小小的秒殺,而且我無法獲取生成的日誌文件。NLog沒有在控制檯應用程序中讀取我的app.config設置

這是我的NLOG配置:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 

    <configSections> 
    <section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog" /> 
    </configSections> 

    <startup> 
     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" /> 
    </startup> 

    <runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <assemblyIdentity name="Npgsql" publicKeyToken="5d8b90d52f46fda7" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-3.2.4.0" newVersion="3.2.4.0" /> 
     </dependentAssembly> 
    </assemblyBinding> 
    </runtime> 


    <nlog throwExceptions="true" 
     internalLogLevel="Warning" 
     internalLogFile="Rebus.Tests.Output.NLog.Internal.log" 
     internalLogToConsole="true" 
     xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 

    <targets> 
     <target name="normalLogfile" type="File" fileName="${basedir}/Rebus.Tests.Output.log" /> 
     <target name="normalConsole" type="Console" detectConsoleAvailable="true" /> 
    </targets> 

    <rules> 
     <logger name="NormalLog" minlevel="Trace" writeTo="normalLogfile, normalConsole" /> 
    </rules> 

    </nlog> 

</configuration> 

這裏是我的控制檯應用程序靜態主營:

var logger = LogManager.GetLogger("NormalLog"); 

    logger.Error("This is a log error line"); 

但沒有什麼是既不記錄日誌文件,也不控制檯。

application.exe.config位於bin/Debug運行時文件夾中。 我正在尋找帶有SearchEverything的日誌文件,以便它可以在任何文件夾中找到它。

添加一些信息,對這個問題,如果我把一個斷點檢查logger可變我看不出有什麼配置讀取:

enter image description here

回答

2

試圖改變

var logger = LogManager.GetLogger("NormalLog"); 

var logger = LogManager.GetLogger("normalLogfile"); 

因爲fa因爲我知道你必須通過目標名稱而不是通過規則名來獲取記錄器。

//編輯

你有沒有試圖刪除n日誌屬性在你的app.config?只是爲了確保他們中沒有一個是問題所在。

+0

相同的行爲:記錄器是空的。 無論如何,我認爲GetLogger方法中的'named logger'字符串是config.file中的一個規則名稱。 – ferpega

+0

根據NLog文檔,您必須在使用'GetLogger'方法時使用記錄器的名稱。你有沒有嘗試去除你的app.config中的nlog屬性?只是爲了確保他們中沒有一個是問題所在。 –

+0

這就是問題@mightybdaboom Nlog屬性。其中一些必須不被支持,並使所有NLog配置失效。 請把它作爲答案來標記它。 謝謝。 – ferpega

相關問題