FileAppender не работает со свойством File? - PullRequest
0 голосов
/ 24 февраля 2012

Используя log4net 1.2.11 в .net framework 3.5, это работает:

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, string, bool) 'устарела: вместо этого используйте конструктор по умолчанию и установить свойства Layout, File & 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") и присвоение свойств после создания приложения с конструктором по умолчанию.

Что я делаю не так?

1 Ответ

0 голосов
/ 24 февраля 2012

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

...