sorry, but I'm having trouble with one part of this config, I always do. I have
taken the BufferingForwardingAppender and put it in place, its works a treat.
I've also got another appender which is used to display log output in the GUI
window. Now I want BufferingForwardingAppender (which logs to file) to log at
debug level but my other appender (RichTextFormAppender) to log at just INFO
level. I can't get this working though.
My (messy) log4net stuff looks like this, could anybody let me know how I can
get the two levels of logging in place? Once thats done, I'm water tight in
terms of delivery
thanks much
Graham
<log4net>
<appender name="BufferingForwardingAppender"
type="log4net.Appender.BufferingForwardingAppender" >
<bufferSize value="255" />
<lossy value="false" />
<evaluator type="log4net.Core.LevelEvaluator">
<threshold value="DEBUG"/>
</evaluator>
<appender-ref ref="RollingFile" />
</appender>
<appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
<file value="logs/NewLogFile.log" />
<appendToFile value="true" />
<maximumFileSize value="100MB" />
<maxSizeRollBackups value="-1" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%5level [%date] [%thread] %-30.30logger{2}
%message%newline" />
</layout>
</appender>
<appender name="MainFormRichTextAppender"
type="log4net.Appender.RichTextBoxAppender">
<appendToFile value="true" />
<maximumFileSize value="250000KB" />
<maxSizeRollBackups value="2" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%-2thread] %-5level %-70logger -
%message%newline" />
</layout>
<code lang="XML" escaped="true">
<mapping>
<level value="DEBUG" />
<textColorName value="DarkGreen" />
<fontFamilyName value="Microsoft Sans Serif"/>
<pointSize value="6.75" />
</mapping>
<mapping>
<level value="INFO" />
<textColorName value="Black" />
<fontFamilyName value="Microsoft Sans Serif"/>
<pointSize value="6.75" />
</mapping>
<mapping>
<level value="WARN" />
<textColorName value="Blue" />
<fontFamilyName value="Microsoft Sans Serif"/>
<pointSize value="6.75" />
</mapping>
<mapping>
<level value="ERROR" />
<textColorName value="Red" />
<!--<bold value="true" />-->
<fontFamilyName value="Microsoft Sans Serif"/>
<pointSize value="6.75" />
</mapping>
<mapping>
<level value="FATAL" />
<textColorName value="Black" />
<fontFamilyName value="Microsoft Sans Serif"/>
<pointSize value="6.75" />
</mapping>
</code>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="BufferingForwardingAppender" />
<appender-ref ref="MainFormRichTextAppender"/>
</root>
________________________________
From: Michael Schall [mailto:[email protected]]
Sent: mercredi 25 février 2009 20:36
To: Log4NET User
Subject: Re: DEBUG vs INFO
What appenders are you using? I assume one of them is the rolling file
appender? How large is the log file produced with the setting at DEBUG vs
INFO?
If you need to keep the debug information you can look at the
BufferingForwardingAppender. The following will buffer 255 messages before
writing to the file, unless there is a WARN or higher message, then the buffer
is flushed immediately. This should hopefully let the error message that
crashes the system still make it to the log file.:)
I don't know how your loggers are setup, but you can turn off at that level as
well.
<log4net>
<appender name="BufferingForwardingAppender"
type="log4net.Appender.BufferingForwardingAppender" >
<bufferSize value="255" />
<lossy value="false" />
<evaluator type="log4net.Core.LevelEvaluator">
<threshold value="WARN"/>
</evaluator>
<appender-ref ref="RollingFile" />
</appender>
<appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
<file value="..\..\log\web.log" />
<appendToFile value="true" />
<maximumFileSize value="100MB" />
<maxSizeRollBackups value="-1" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%5level [%date] [%thread] %-30.30logger{2}
%message%newline" />
</layout>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="BufferingForwardingAppender" />
</root>
</log4net>
On Wed, Feb 25, 2009 at 8:31 AM, Walden H. Leverich <[email protected]>
wrote:
Graham,
That's not a log4net issue as much as it's an issue in your application.
Sounds like your application (like many) makes lots of log.Debug()
calls, to log, um, debug information. By switching the logging from
DEBUG to INFO you've stopped all those log entries from being written to
disk. Even more, if your app developers were smart about it, they
checked the IsDebugEnabled property before making the log.Debug() call,
so you're not even evaluating the parms to that call, and sometimes that
can be quite expensive.
So, it's a "known issue" that logging more stuff takes more time, but I
wouldn't call it a bug.
-Walden
--
Walden H Leverich III
Tech Software
(516) 627-3800 x3051
[email protected]
http://www.TechSoftInc.com
Quiquid latine dictum sit altum viditur.
(Whatever is said in Latin seems profound.)
Ce message et ses pièces jointes (le "message") est destiné à l'usage
exclusif de son destinataire.
Si vous recevez ce message par erreur, merci d'en aviser immédiatement
l'expéditeur et de le détruire ensuite. Le présent message pouvant
être altéré à notre insu, CALYON Crédit Agricole CIB
ne peut pas être engagé par son contenu. Tous droits réservés.
This message and/or any attachments (the "message") is intended for
the sole use of its addressee.
If you are not the addressee, please immediately notify the sender and
then destroy the message. As this message and/or any attachments may
have been altered without our knowledge, its content is not legally
binding on CALYON Crédit Agricole CIB. All rights reserved.