Почему мой dotnetOpenAuth не работает с помощью log4net? - PullRequest
0 голосов
/ 03 марта 2012

Я пытаюсь отладить, почему я получаю эту ошибку:

Произошла ошибка при отправке прямого сообщения или получении ответа.

в этой строке:

  consumer.Channel.Send(consumer.PrepareRequestUserAuthorization(authCallbakUrl, null, null));

Поэтому я добавил log4net, но он не работает для меня.

Моя веб-конфигурация:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <!-- Others sections -->
    <section name="hibernate-configuration" type="NHibernate.Cfg.ConfigurationSectionHandler, NHibernate" />
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler" requirePermission="false" />
    </configSections>
  <!-- log4net is a 3rd party (free) logger library that dotnetopenid will use if present but does not require. -->
  <log4net>
    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="RelyingParty.txt" />
      <appendToFile value="true" />
      <rollingStyle value="Size" />
      <maxSizeRollBackups value="10" />
      <maximumFileSize value="100KB" />
      <staticLogFileName value="true" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date (GMT%date{%z}) [%thread] %-5level %logger - %message%newline" />
      </layout>
    </appender>
    <appender name="TracePageAppender" type="OpenIdRelyingPartyWebForms.Code.TracePageAppender, OpenIdRelyingPartyWebForms">
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date (GMT%date{%z}) [%thread] %-5level %logger - %message%newline" />
      </layout>
    </appender>
    <!-- Setup the root category, add the appenders and set the default level -->
    <root>
      <level value="INFO" />
      <appender-ref ref="RollingFileAppender" />
      <appender-ref ref="TracePageAppender" />
    </root>
    <!-- Specify the level for some specific categories -->
    <logger name="DotNetOpenAuth">
      <level value="ALL" />
    </logger>
  </log4net>

Пробовал с этим и без:

  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="log4net" />
        <bindingRedirect newVersion="4.0.30319" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
</configuration>

Я настраиваю экземпляр log4net

  log4net.Config.XmlConfigurator.Configure();

Ответы [ 2 ]

1 голос
/ 05 марта 2012

В вашем перенаправлении привязки предполагается, что вы используете log4net v4.0.30319, которого не существует.Последняя версия - 1.2.11, а версия DNOA скомпилирована - 1.2.10.Я подозреваю, что как только вы исправите редирект связывания, оно сработает.

0 голосов
/ 04 марта 2012

GlobalApplication.cs:

украсить его [сборка: log4net.Config.XmlConfigurator (Watch = true)]

Чтобы получить ссылку на регистратор из других местПример: ILog Logger = LogManager.GetLogger (MethodBase.GetCurrentMethod (). DeclaringType);

...