/[AnywhereTS-MSSQL]/trunk/AnywhereTS.Logging/Logging.cs
ViewVC logotype

Annotation of /trunk/AnywhereTS.Logging/Logging.cs

Parent Directory Parent Directory | Revision Log Revision Log


Revision 70 - (hide annotations) (download)
Thu Jul 12 20:47:35 2012 UTC (9 years ago) by william
File size: 2047 byte(s)
+ get NDC ThreadContectStack using reflection

1 william 36 using System;
2     using System.Collections.Generic;
3     using System.Text;
4     using log4net.Config;
5     using log4net;
6     using System.IO;
7 william 70 using log4net.Util;
8     using System.Reflection;
9     using System.Collections;
10 william 36
11     namespace AnywhereTS
12     {
13     public static class Logging
14     {
15     static Logging() { Logging.Initialize(); }
16     private static void Initialize() { XmlConfigurator.Configure(new FileInfo("AnywhereTS.Logging.dll.config")); }
17    
18     #region Log access
19     public static readonly ILog ATSAdminLog = LogManager.GetLogger("AnywhereTS.ATSAmdin");
20 william 48 public static readonly ILog TSControlPanelLog = LogManager.GetLogger("AnywhereTS.TSControlPanel");
21 william 36 #endregion
22 william 70
23     #region log4net help
24     public static List<string> GetMessagesFromThreadContextStack(string RawContextStack)
25     {
26     try
27     {
28     ThreadContextStack tc = ThreadContext.Stacks[RawContextStack.ToUpper()];
29     if (tc == null) { return new List<string>(); }
30     else { return GetMessagesFromThreadContextStack(tc); }
31     }
32     catch { return new List<string>(); }
33     }
34     public static List<string> GetMessagesFromThreadContextStack(ThreadContextStack rawTCS)
35     {
36     ThreadContextStack oldrawTCS = rawTCS;
37     List<string> stack_objects = new List<string>();
38    
39     ThreadContextStack context = (rawTCS as ThreadContextStack);
40     for (int i = 0; i < context.Count; i++)
41     {
42     Type t = typeof(ThreadContextStack);
43     MethodInfo mi = t.GetMethod("GetFullMessage", BindingFlags.NonPublic | BindingFlags.Instance);
44     string message = mi.Invoke(context, null).ToString();
45     stack_objects.Add(message);
46     context.Pop();
47     }
48     rawTCS = oldrawTCS;
49     return stack_objects;
50     }
51     #endregion
52 william 36 }
53     }

  ViewVC Help
Powered by ViewVC 1.1.22