簡體   English   中英

從我們的服務器運行但在本地運行時收到NLog錯誤

[英]Receiving an NLog error when running from our server, yet running locally is fine

我在一個較舊的.net Windows窗體應用程序中遇到一個涉及NLog(ver2.1.0.0)的奇怪錯誤。

我對應用程序進行了更改,並且能夠成功運行並測試更改,沒有任何問題。 當我們將其上傳到QA服務器(我相信是Windows Server 2008)時,會收到以下錯誤: 為nlog創建配置節處理程序時出錯: 從.exe.Config行58加載配置時發生異常

奇怪的是,我似乎無法弄清楚為什么會這樣。 這是我的nLog app.config代碼。 第58行是第一行,從<nlog xmlns ...開始

<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      throwExceptions="true" internalLogFile="c:\temp\nlog.txt" internalLogLevel="Debug">
<variable name="applicationName" value="Load Import"/>
<targets>
  <target name="console" type="Console" layout="${date:format=HH\:mm\:ss} ${logger} ${level} ${message}${onexception:${newline}Exception\:${newline}${exception:format=tostring}}" />
  <target name="mail" xsi:type="Mail" smtpServer="relay.ourcompany.com" from="" to="" addNewLines="true" subject="ImportBill - ${level} ${onexception: Exception}" layout="Date: ${longdate}${newline}Level: ${uppercase:${level}}${newline}Logger: ${logger}${newline}Machine: ${machinename}${newline}Message: ${message}${onexception:${newline}Exception\:${newline}${exception:format=tostring}}${newline}" />
  <target name="database" xsi:type="Database" connectionStringName="Logging" keepConnection="true">
 <commandText>
    exec [nlog].[Message_Add]
    @LogDate = @logDate,
    @MachineName = @machineName,
    @ProcessName = @processName,
    @Version = @assemblyVersion,
    @Logger = @logger,
    @LogLevel = @logLevel,
    @Origin = @callSite,
    @Message = @message,
    @Exception = @exception,
    @StackTrace = @stackTrace,
    @WindowsIdentity = @windowsIdentity,
    @BaseDirectory = @baseDirectory,
    @AdditionalInfo = @additionalInfo,
    @RequestIdentifier = @requestIdentifier,
    @Log4JEvent = @log4jEvent
  </commandText>
  <parameter name="@logDate" layout="${date:format=yyyy-MM-dd HH\:mm\:ss.fff}" />
  <parameter name="@machineName" layout="${machinename}" />
  <parameter name="@ProcessName" layout="${processname}" />
  <parameter name="@assemblyVersion" layout="${assembly-version}" />
  <parameter name="@logger" layout="${logger}" />
  <parameter name="@logLevel" layout="${level}" />
  <parameter name="@callSite" layout="${callsite}" />
  <parameter name="@message" layout="${message}" />
  <parameter name="@exception" layout="${exception:format=tostring}" />
  <parameter name="@stackTrace" layout="${stacktrace}" />
  <parameter name="@windowsIdentity" layout="${windows-identity}" />
  <parameter name="@baseDirectory" layout="${basedir}" />
  <parameter name="@additionalInfo" layout="${mdc:item=AdditionalInfo}" />
  <parameter name="@requestIdentifier" layout="" />
  <parameter name="@log4jEvent" layout="&lt;?xml version=&quot;1.0&quot; ?&gt;&lt;data xmlns:log4j=&quot;http://jakarta.apache.org/log4j/&quot; xmlns:nlog=&quot;http://nlog-project.org/&quot;&gt;${log4jxmlevent:includeSourceInfo=true:includeCallSite=true:includeMdc=true:includeNdc=true}&lt;/data&gt;" />
  </target>
</targets>
<rules>
  <logger name="*" minlevel="Trace" maxLevel="Fatal" writeTo="database" />
  <logger name="*" minlevel="Error" maxLevel="Fatal" writeTo="mail" />
</rules>

知道是什么原因造成的嗎?

謝謝

因此,我至少能夠弄清楚潛在的問題,所以我想把它張貼在這里,以防其他人遇到這個問題。

我遇到一個單獨的潛在錯誤,在我的情況下是無效的Web服務證書。 該錯誤被nlog捕獲,但是由於我仍然不知道的原因,nlog也引發了一個錯誤。 無論如何,所以我在配置文件中將nlog“ throwExceptions”設置為false並重新運行我的應用程序。 這樣做使我能夠發現我的錯誤的真正根本原因,在我的情況下是“證書有問題。禁止連接到https://mywebservice.com/mywebservicename

謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM