You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4net-dev@logging.apache.org by ni...@apache.org on 2004/11/29 22:20:27 UTC
cvs commit: logging-log4net/src/Repository/Hierarchy Logger.cs
nicko 2004/11/29 13:20:27
Modified: src/Core LoggingEvent.cs
src/Repository/Hierarchy Logger.cs
Log:
Added EnsureRepository method to LoggingEvent used by ForcedLog(LoggingEvent) to ensure that the event has a repository set
Revision Changes Path
1.15 +14 -2 logging-log4net/src/Core/LoggingEvent.cs
Index: LoggingEvent.cs
===================================================================
RCS file: /home/cvs/logging-log4net/src/Core/LoggingEvent.cs,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- LoggingEvent.cs 24 Nov 2004 15:48:18 -0000 1.14
+++ LoggingEvent.cs 29 Nov 2004 21:20:27 -0000 1.15
@@ -542,7 +542,19 @@
{
return m_repository;
}
- }
+ }
+
+ /// <summary>
+ /// Ensure that the repository is set.
+ /// </summary>
+ /// <param name="repository">the value for the repository</param>
+ internal void EnsureRepository(ILoggerRepository repository)
+ {
+ if (repository != null)
+ {
+ m_repository = repository;
+ }
+ }
/// <summary>
/// Gets the message, rendered through the <see cref="ILoggerRepository.RendererMap" />.
@@ -1338,7 +1350,7 @@
/// <remarks>
/// This is not serialized.
/// </remarks>
- private readonly ILoggerRepository m_repository = null;
+ private ILoggerRepository m_repository = null;
/// <summary>
/// The fix state for this event
1.8 +5 -0 logging-log4net/src/Repository/Hierarchy/Logger.cs
Index: Logger.cs
===================================================================
RCS file: /home/cvs/logging-log4net/src/Repository/Hierarchy/Logger.cs,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- Logger.cs 26 Sep 2004 22:39:38 -0000 1.7
+++ Logger.cs 29 Nov 2004 21:20:27 -0000 1.8
@@ -567,6 +567,11 @@
/// </remarks>
virtual protected void ForcedLog(LoggingEvent logEvent)
{
+ // The logging event may not have been created by this logger
+ // the Repository may not be correctly set on the event. This
+ // is required for the appenders to correctly lookup renderers etc...
+ logEvent.EnsureRepository(this.Hierarchy);
+
CallAppenders(logEvent);
}