2010-05-06 3 views
0

Я использую log4net v1.2 с Windows Service App. Мой RollingFileAppender, похоже, не работает. Я вставляю разделы журнала моего сервиса.exe.config ниже. Может ли кто-нибудь посоветовать, где я ошибаюсь?log4net 1.2 RollingFileAppender не работает

<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/> 

..... (много другой конфигурации материала)

<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender,log4net" > 
    <param name="File" value="D:\\Trinity\\Booking\\OneDay_PostTrade\\logs\\Trinity.log" /> 
    <param name="MaximumFileSize" value="20MB" /> 
    <param name="MaxSizeRollBackups" value="10" /> 
    <param name="StaticLogFileName" value="true" /> 
    <param name="Threshold" value="ALL" /> 
    <param name="RollingStyle" value="Composite" /> 
    <param name="appendToFile" value="true" /> 
    <layout type="log4net.Layout.PatternLayout,log4net"> 
     <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" /> 
    </layout> 
</appender> 

... (материал между)

<root> 
    <level value="ALL" /> 
    <appender-ref ref="ConsoleAppender" /> 
    <appender-ref ref="RollingFileAppender" /> 
</root> 

..... (материал между)

<logger name="CSFB.PostTradeRulesEngine"> 
    <level value="ALL"/>   
</logger> 
+1

ли вы помните, чтобы инициализировать его. в коде? – Kurt

+0

если вы имеете в виду приватный статический readonly log4net.ILog log = log4net.LogManager.GetLogger (typeof (PostTradeRules)); где PostTradeRules - мое имя класса, тогда я сделал ... :) –

ответ

3

Пользователь, с которым работает ваша служба Windows, может не иметь разрешение записи для файла журнала.
Другая возможность заключается в том, что вы забыли выполнить XmlConfigurator.Configure();

+0

Jens, зачем именно мне нужно выполнить XmlConfigurator.Configure()? M спрашиваю, потому что я действительно не знаю. :) –

+0

Еще одно замечание здесь Jens ... я думаю, что m использует старую версию VS, которая не имеет XmlConfigurator. Можно ли использовать BasicConfigurator вместо этого? –

+0

XmlConfigurator - это класс структуры log4net, не имеет ничего общего с VS –

1

попробовать написать:

<log4net debug="true"> 

будет размещать все ошибки на консоль.

+0

Привет, Андрей, где я могу поместить этот бит? –

+0

@ Риши Поптани, а как же немного поработать? http://logging.apache.org/log4net/release/example-apps.html не ленитесь – Andrey

+0

Эй, Андрей, Я взял оба ваши советы ... :) По-прежнему не работает .. –

1

спасибо всем, кто ответил. Я не знаю, что я изменил, но мой журнал начал работать нормально.

Публикация моих разделов лесозаготовок. Я не изменить что-либо в коде, за исключением строки в AssemblyInfo.cs: [сборочной: log4net.Config.Domain (UseDefaultDomain = истина)]

Еще раз спасибо :)

Смежные вопросы