Hello Anthony,

seems like a OK to me.

Also, can you explain how are we setting ILoggingEvent values?

is it from CreateLoggingEvent() with dedicated overloads ?

Thanks

On Dec 8, 1:25 am, vdhant <[EMAIL PROTECTED]> wrote:
> Hi guys
> In reference to the specifications I provided in my last, can I take
> this as a go ahead for the changes that need to occur???
> Cheers
> Anthony
>
> On Dec 5, 12:15 pm, vdhant <[EMAIL PROTECTED]> wrote:
>
> > Hey guys
> > I have sent a little bit of time putting down on paper the changes/
> > additions that this unit of work will include.
> > Let me know what you think and I hope it pretty much makes sense
> > Cheers
> > Anthony
>
> > //Change to ILogger interface
> > // -- Castle.Core.Logging
> >     public interface ILogger
> >     {
> >         ....
> >         void Log(ILoggingEvent loggingEvent);
>
> >         ILoggingEvent CreateLoggingEvent();   //If anyone know a
> > better place to get the instance from please let me know
> >         ....
> >     }
>
> > //New ILoggingEvent interface
> > // -- Castle.Core.Logging
> >     public interface ILoggingEvent
> >     {
> >         Type DeclaringType { get; }
>
> >         LoggerLevel LoggerLevel { get; }
>
> >         String LoggerName { get; }
>
> >         String Message { get; }
>
> >         Exception Exception { get; }
> >     }
>
> > //New IExtendedLoggingEvent interface
> > // -- Castle.Core.Logging
> >     public interface IExtendedLoggingEvent : ILoggingEvent
> >     {
> >         IKeyContextProperties Properties { get; }
> >     }
>
> > //New IKeyContextProperties interface
> > // -- Castle.Core.Logging
> >     public interface IKeyContextProperties : IContextProperties,
> > IDictionary
> >     {
> >     }
>
> > //New NullLoggingEvent class
> > // -- Castle.Core.Logging
> >     public class LoggingEvent : ILoggingEvent
> >     {
> >         ....
> >     }
>
> > //New NullLoggingEvent class
> > // -- Castle.Core.Logging
> >     public class NullLoggingEvent : IExtendedLoggingEvent
> >     {
> >         ....
> >     }
>
> > //New NullKeyContextProperties Class
> > // -- Castle.Core.Logging
> >     public class NullKeyContextProperties : IKeyContextProperties
> >     {
> >         ....
> >     }
>
> > //New LoggingEvent Class
> > // -- Castle.Services.Logging.Log4netIntegration
> >     public class LoggingEvent : Castle.Core.Logging.LoggingEvent
> >     {
> >         private log4Net.Core.LoggingEvent _InnerLoggingEvent;
> >         ....
> >         public LoggingEvent(Type declaringType, LoggerLevel
> > loggerLevel, String loggerName, String message, Exception exception)
> >         {
> >            _InnerLoggingEvent = new log4Net.Core.LoggingEvent
> > (declaringType, loggerLevel, loggerName, message, exception);
> >         }
> >         ....
> >         public log4Net.Core.LoggingEvent InnerLoggingEvent
> >         {
> >             get { return _InnerLoggingEvent; }
> >         }
> >         ....
> >     }
>
> > //New ExtendedLoggingEvent Class
> > // -- Castle.Services.Logging.Log4netIntegration
> >     public class ExtendedLoggingEvent :
> > Castle.Services.Logging.Log4netIntegration.LoggingEvent,
> > IExtendedLoggingEvent
> >     {
> >         private IKeyContextProperties _Properties;
> >         ....
> >         public ExtendedLoggingEvent(Type declaringType, LoggerLevel
> > loggerLevel, String loggerName, String message, Exception exception)
> >             : base(declaringType, loggerLevel, loggerName, message,
> > exception)
> >         {
> >         }
> >         ....
> >         public IKeyContextProperties Properties
> >         {
> >             if (_Properties == null)
> >                 _Properties = new LocalContextProperties
> > (this.InnerLoggingEvent.Properties);
> >             return _Properties;
> >         }
> >         ....
> >     }
>
> > //New LocalContextProperties Class
> > // -- Castle.Services.Logging.Log4netIntegration
> >     public class LocalContextProperties : IKeyContextProperties
> >     {
> >         private log4net.Util.PropertiesDictionary _InnerProperties;
> >         ....
> >         public LocalContextProperties
> > (log4net.Util.PropertiesDictionary innerProperties)
> >         {
> >             _InnerProperties = innerProperties;
> >         }
> >         ....
> >         public object this[string key]
> >         {
> >             get { return _InnerProperties.Properties[key]; }
> >             set { _InnerProperties.Properties[key] = value; }
> >         }
> >         ....
> >     }
>
> > //Changes to Log4netLogger Class
> > // -- Castle.Services.Logging.Log4netIntegration
> >     public class Log4netLogger
> >     {
> >         ....
> >         public override ILoggingEvent CreateLoggingEvent()
> >         {
> >             return new LoggingEvent();
> >         }
> >         ....
> >         void override Log(ILoggingEvent loggingEvent)
> >         {
> >             Castle.Services.Logging.Log4netIntegration.LoggingEvent
> > innerLoggingEvent = loggingEvent as
> > Castle.Services.Logging.Log4netIntegration.LoggingEvent();
> >             if (innerLoggingEvent == null)
> >                 throw new Exception("Wrong Type");
>
> >             Logger.Log(innerLoggingEvent.InnerLoggingEvent);
> >         }
> >         ....
> >     }
>
> > //Changes to ExtendedLog4netLogger Class
> > // -- Castle.Services.Logging.Log4netIntegration
> >     public class ExtendedLog4netLogger
> >     {
> >         ....
> >         public override ILoggingEvent CreateLoggingEvent()
> >         {
> >             return new ExtendedLoggingEvent();
> >         }
> >         ....
> >     }
>
> > //New ExtendedLoggingEvent Class
> > // -- Castle.Services.Logging.NLogtIntegration
> >     public class LoggingEvent : Castle.Core.Logging.LoggingEvent
> >     {
> >         ....
> >         //Similar implementation pattern as Log4Net version except for
> > nLog
> >         ....
> >     }
>
> > //New ExtendedLoggingEvent Class
> > // -- Castle.Services.Logging.NLogtIntegration
> >     public class ExtendedLoggingEvent :
> > Castle.Services.Logging.NLogtIntegration.LoggingEvent,
> > IExtendedLoggingEvent
> >     {
> >         ....
> >         //Similar implementation pattern as Log4Net version except for
> > nLog
> >         ....
> >     }
>
> > //New LocalContextProperties Class
> > // -- Castle.Services.Logging.NLogtIntegration
> >     public class LocalContextProperties : IKeyContextProperties
> >     {
> >         ....
> >         //Similar implementation pattern as Log4Net version except for
> > nLog
> >         ....
> >     }
>
> > //Changes to NLogLogger Class
> > // -- Castle.Services.Logging.NLogtIntegration
> >     public class NLogLogger
> >     {
> >         ....
> >         //Similar implementation pattern as Log4Net version except for
> > nLog
> >         ....
> >     }
>
> > //Changes to ExtendedNLogLogger Class
> > // -- Castle.Services.Logging.NLogtIntegration
> >     public class ExtendedNLogLogger
> >     {
> >         ....
> >         //Similar implementation pattern as Log4Net version except for
> > nLog
> >         ....
> >     }
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Castle Project Development List" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/castle-project-devel?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to