2012-02-24 4 views
0

Использование log4net 1.2.11 на .NET Framework 3.5, это работает:FileAppender не работает с файлом?

var fileAppender = new log4net.Appender.FileAppender(layout, "check.log", true); 
log4net.Config.BasicConfigurator.Configure(fileAppender); 
log4net.LogManager.GetLogger(typeof(Program)).Info("constructor"); 

Кроме того, что он дает предупреждение:

Предупреждение 1 «log4net.Appender.FileAppender.FileAppender (log4net.Layout .ILayout, строка, BOOL) 'является устаревшим:' Вместо того, чтобы использовать конструктор по умолчанию и установить раскладку, Файл & AppendToFile свойства

Но если я использую свойства, он не работает

var fileAppender = new log4net.Appender.FileAppender() 
    { Layout = layout, File = "check.log", AppendToFile = true };    
log4net.Config.BasicConfigurator.Configure(fileAppender); 
log4net.LogManager.GetLogger(typeof(Program)).Info("prop1"); 

То есть в файл ничего не записывается. Я также попробовал полный путь («c: \ check.log») и назначил свойства после создания приложения с конструктором по умолчанию.

Что я делаю неправильно?

ответ

0

Я не пробовал, но смотрел исходный код log4net. Я могу только предположить, что вам нужно позвонить ActivateOptions в файл appender, чтобы все могло сработать.

+0

Так оно и было. Таким образом, мне все еще нужны две строки, а ctor paramators 'ActivateOptions' не нужно вызывать. –