1

log4net を使用してエラー/致命的なメッセージをログに記録すると、この問題が発生します。

System.Security.VerificationException: 操作により、ランタイムが不安定になる可能性があります。log4net.Core.LogImpl.Fatal (オブジェクト メッセージ、例外例外) で

不思議なことに、これは Error/Fatal、Info、および Debug メッセージが完全に正常にログに記録されている場合にのみ発生します。この例外により、実際の例外がマスクされ、デプロイされた環境でのデバッグが非常に難しくなっています。

ネットで検索してみましたがだめでした。どんな助けでも大歓迎です。

環境の詳細:

IIS 7.5 / Win 2008 R2
.Net 4.0
MVC3 and WCF applications

ロギング構成は次のとおりです-

   <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,   log4net"/>
      </configSections>  
      <log4net>
      <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
        <file value="C:\Logs\ApplicationServices.log" />
        <staticLogFileName value="true" />
        <appendToFile value="true" />
        <datePattern value="yyyyMMdd" />
        <rollingStyle value="Date" />
        <filter type="log4net.Filter.LevelRangeFilter">
        <acceptOnMatch value="true" />
        <levelMin value="DEBUG" />
        <levelMax value="FATAL" />
        </filter>
        <layout type="log4net.Layout.PatternLayout">      
          <conversionPattern value="${COMPUTERNAME} %date %-5level %class.%method - %message%newline"/>
        </layout>
      </appender>
      <root>
        <level value="DEBUG"/>
        <appender-ref ref="RollingLogFileAppender" />
      </root>
    </log4net>
    </configuration>
4

1 に答える 1

0

System.Security.VerificationException: 操作により、ランタイムが不安定になる可能性があります。この例外は、.Net セキュリティ システムがコードをタイプ セーフでないと識別した場合にスローされます。

log4net.dll バージョン 1.2.11 (現時点での最新バージョン) に対して peverify.exe を実行すると、次のエラーが発生します。

log4net.Plugin.RemoteLoggingServerPlugin::Attach][offset 0x0000002C] Method is not visible.
1 Error(s) Verifying log4net.dll.

log4net コードを作成して検証に合格させる方法の詳細については、このstackoverflow スレッドを参照してください。

于 2013-07-19T21:40:03.803 に答える