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