Ninject.Extensions.Logging.Неожиданное поведение Log4net

У меня проблема с использованием Log4Net (1.2.10) через Ninject (2.2.1.4) Extensions.Logging.Log4net (2.2.0.4), установленную через NuGet.

Когда я обращаюсь к Log4Net напрямую:

var logger = log4net.LogManager.GetLogger("Log4NetLoggerTest");
logger.Debug("foo { bar");

Результат:

2011-08-29 10:02:02,071 [9] DEBUG Log4NetLoggerTest foo { bar

Однако, когда доступ к регистратору осуществляется через Ninject:

using (IKernel kernel = new StandardKernel())
{
    var ninjectLogger = kernel.Get<NinjectLoggerTest>();
    ninjectLogger.Log.Debug("foo { bar");
}

Где NinjectLoggerTest выглядит просто так:

using Ninject.Extensions.Logging;
namespace TestApp
{
    public class NinjectLoggerTest
    {
        public NinjectLoggerTest(ILogger log)
        {
            Log = log;
        }
        public ILogger Log;
    }
}

Несколько неожиданный результат:

2011-08-29 10:29:27,114 [10] DEBUG TestApp.NinjectLoggerTest <log4net.Error>Exception during StringFormat: Input string was not in a correct format. <format>foo { bar</format><args>{}</args></log4net.Error>

Еще хуже то, что при использовании метода трассировки ILogger возникает первое случайное исключение типа 'System.FormatException' в mscorlib.dll

Я что-то делаю не так? Как я могу это исправить?

TIA

6
задан moosaka 29 August 2011 в 12:24
поделиться