Progress reporting during upload changed to occur every second
[pithos-ms-client] / trunk / Pithos.Client.WPF / Diagnostics / log4netForwarder.cs
index 615116c..fe76c72 100644 (file)
-using System;
-using System.Diagnostics;
-using System.Text;
-using System.Threading.Tasks;
-using log4net;
-using log4net.Core;
-
-namespace Pithos.Client.WPF.Diagnostics
-{
-    public class Log4NetForwarder : TraceListener
-    {
-        public override void Write(string message)
-        {
-            WriteLine(message);
-        }
-
-        public override void Write(object o)
-        {
-            WriteLine(o);
-        }
-
-        public override void Write(object o, string category)
-        {
-            WriteLine(o, category);
-        }
-
-        public override void Write(string message, string category)
-        {
-            WriteLine(message, category);
-        }
-
-        public override void WriteLine(string message)
-        {
-            Log(message, Level.Debug);
-        }
-
-
-        public override void WriteLine(object o)
-        {
-            Log(o.ToString(), Level.Debug);
-        }
-
-        public override void WriteLine(object o, string category)
-        {
-            using (ThreadContext.Stacks["Category"].Push(category))
-            {
-                Log(o.ToString(), Level.Debug);
-            }
-        }
-
-        public override void WriteLine(string message, string category)
-        {
-            using (ThreadContext.Stacks["Category"].Push(category))
-            {
-                Log(message, Level.Debug);
-            }
-        }
-
-        public override void Fail(string message)
-        {
-            Log(message, Level.Error);
-        }
-
-        public override void Fail(string message, string detailMessage)
-        {
-            Log(String.Format("{0} {1}", message, detailMessage), Level.Error);
-        }
-
-
-
-        public override void TraceEvent(TraceEventCache eventCache, string source, TraceEventType eventType, int id)
-        {
-            var message = String.Format("Event ID: [{0}]", id);
-            Log(source, eventType, message);
-        }
-
-        public override void TraceEvent(TraceEventCache eventCache, string source, TraceEventType eventType, int id, string format, params object[] args)
-        {
-            var builder = new StringBuilder();
-            builder.AppendFormat("Event ID: [{0}] ", id);
-            builder.AppendFormat(format, args);
-            var message = builder.ToString();
-
-            Log(source, eventType, message);
-        }
-
-        public override void TraceEvent(TraceEventCache eventCache, string source, TraceEventType eventType, int id, string message)
-        {
-            Log(source, eventType, message);
-        }
-
-        private void Log(string source, TraceEventType eventType, string message)
-        {
-            try
-            {
-                var log = LogManager.GetLogger(source);
-                var level = GetLevel(eventType);
-                TaskEx.Run(()=>log.Logger.Log(GetType(), level, message, null));
-            }
-            catch(Exception ex)
-            {
-                
-            }
-        }
-
-        private void Log(string message, Level level)
-        {
-            try
-            {
-
-            var stack = new StackTrace();
-            var type = stack.GetFrame(0).GetMethod().DeclaringType;
-            var log = LogManager.GetLogger(type);
-            log.Logger.Log(GetType(), level, message, null);
-            }
-            catch (Exception)
-            {
-            }
-        }
-
-
-        private static Level GetLevel(TraceEventType eventType)
-        {
-            var level = Level.Debug;
-            switch (eventType)
-            {
-                case TraceEventType.Information:
-                    level = Level.Info;
-                    break;
-                case TraceEventType.Verbose:
-                    level = Level.Verbose;
-                    break;
-                case TraceEventType.Warning:
-                    level = Level.Info;
-                    break;
-                case TraceEventType.Critical:
-                    level = Level.Info;
-                    break;
-                case TraceEventType.Error:
-                    level = Level.Info;
-                    break;
-            }
-            return level;
-        }
-    }
-
-}
+using System;\r
+using System.Diagnostics;\r
+using System.Text;\r
+using System.Threading.Tasks;\r
+using log4net;\r
+using log4net.Core;\r
+\r
+namespace Pithos.Client.WPF.Diagnostics\r
+{\r
+    public class Log4NetForwarder : TraceListener\r
+    {\r
+        public override void Write(string message)\r
+        {\r
+            WriteLine(message);\r
+        }\r
+\r
+        public override void Write(object o)\r
+        {\r
+            WriteLine(o);\r
+        }\r
+\r
+        public override void Write(object o, string category)\r
+        {\r
+            WriteLine(o, category);\r
+        }\r
+\r
+        public override void Write(string message, string category)\r
+        {\r
+            WriteLine(message, category);\r
+        }\r
+\r
+        public override void WriteLine(string message)\r
+        {\r
+            Log(message, Level.Debug);\r
+        }\r
+\r
+\r
+        public override void WriteLine(object o)\r
+        {\r
+            Log(o.ToString(), Level.Debug);\r
+        }\r
+\r
+        public override void WriteLine(object o, string category)\r
+        {\r
+            using (ThreadContext.Stacks["Category"].Push(category))\r
+            {\r
+                Log(o.ToString(), Level.Debug);\r
+            }\r
+        }\r
+\r
+        public override void WriteLine(string message, string category)\r
+        {\r
+            using (ThreadContext.Stacks["Category"].Push(category))\r
+            {\r
+                Log(message, Level.Debug);\r
+            }\r
+        }\r
+\r
+        public override void Fail(string message)\r
+        {\r
+            Log(message, Level.Error);\r
+        }\r
+\r
+        public override void Fail(string message, string detailMessage)\r
+        {\r
+            Log(String.Format("{0} {1}", message, detailMessage), Level.Error);\r
+        }\r
+\r
+\r
+\r
+        public override void TraceEvent(TraceEventCache eventCache, string source, TraceEventType eventType, int id)\r
+        {\r
+            var message = String.Format("Event ID: [{0}]", id);\r
+            Log(source, eventType, message);\r
+        }\r
+\r
+        public override void TraceEvent(TraceEventCache eventCache, string source, TraceEventType eventType, int id, string format, params object[] args)\r
+        {\r
+            var builder = new StringBuilder();\r
+            builder.AppendFormat("Event ID: [{0}] ", id);\r
+            builder.AppendFormat(format, args);\r
+            var message = builder.ToString();\r
+\r
+            Log(source, eventType, message);\r
+        }\r
+\r
+        public override void TraceEvent(TraceEventCache eventCache, string source, TraceEventType eventType, int id, string message)\r
+        {\r
+            Log(source, eventType, message);\r
+        }\r
+\r
+        private void Log(string source, TraceEventType eventType, string message)\r
+        {\r
+            try\r
+            {\r
+                var log = LogManager.GetLogger(source);\r
+                var level = GetLevel(eventType);\r
+                TaskEx.Run(()=>log.Logger.Log(GetType(), level, message, null));\r
+            }\r
+            catch(Exception )\r
+            {\r
+                \r
+            }\r
+        }\r
+\r
+        private void Log(string message, Level level)\r
+        {\r
+            try\r
+            {\r
+\r
+            var stack = new StackTrace();\r
+            var type = stack.GetFrame(0).GetMethod().DeclaringType;\r
+            var log = LogManager.GetLogger(type);\r
+            log.Logger.Log(GetType(), level, message, null);\r
+            }\r
+            catch (Exception)\r
+            {\r
+            }\r
+        }\r
+\r
+\r
+        private static Level GetLevel(TraceEventType eventType)\r
+        {\r
+            var level = Level.Debug;\r
+            switch (eventType)\r
+            {\r
+                case TraceEventType.Information:\r
+                    level = Level.Info;\r
+                    break;\r
+                case TraceEventType.Verbose:\r
+                    level = Level.Verbose;\r
+                    break;\r
+                case TraceEventType.Warning:\r
+                    level = Level.Info;\r
+                    break;\r
+                case TraceEventType.Critical:\r
+                    level = Level.Info;\r
+                    break;\r
+                case TraceEventType.Error:\r
+                    level = Level.Info;\r
+                    break;\r
+            }\r
+            return level;\r
+        }\r
+    }\r
+\r
+}\r