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

Diff of /trunk/AnywhereTS.Logging/Logging.cs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 96 by william, Sat Jul 14 03:01:07 2012 UTC revision 150 by william, Sun Jul 15 11:41:39 2012 UTC
# Line 7  using System.IO; Line 7  using System.IO;
7  using log4net.Util;  using log4net.Util;
8  using System.Reflection;  using System.Reflection;
9  using System.Collections;  using System.Collections;
10    using System.Windows.Forms;
11    using log4net.Appender;
12    using System.Linq;
13    
14  namespace AnywhereTS  namespace AnywhereTS
15  {  {
16      public static class Logging      public static class Logging
17      {      {
18          static Logging() { Logging.Initialize(); }          static Logging() { Logging.Initialize(); }
19          public static void Initialize() { XmlConfigurator.Configure(new FileInfo("AnywhereTS.Logging.dll.config")); }          private static void Initialize()
20            {
21                string path = typeof(Logging).Assembly.Location.ToLower().Replace(@"\AnywhereTS.Logging.dll".ToLower(), "");
22                string config = string.Format(@"{0}\{1}", path, "AnywhereTS.Logging.dll.config");
23                //MessageBox.Show(config);
24                FileInfo fi = new FileInfo(config);
25                XmlConfigurator.Configure(fi);
26                Logging.SetLogPath(string.Format(@"{0}\logs", fi.FullName));
27            }
28    
29          #region Log access          #region Log access
30          public static readonly ILog ATSAdminLog = LogManager.GetLogger("AnywhereTS.ATSAmdin");          public static readonly ILog ATSAdminLog = LogManager.GetLogger("AnywhereTS.ATSAmdin");
31          public static readonly ILog TSControlPanelLog = LogManager.GetLogger("AnywhereTS.TSControlPanel");          public static readonly ILog TSControlPanelLog = LogManager.GetLogger("AnywhereTS.TSControlPanel");
32          public static readonly ILog DatabaseLog = LogManager.GetLogger("AnywhereTS.DBSupport");          public static readonly ILog DatabaseLog = LogManager.GetLogger("AnywhereTS.DBSupport");
33    
34            public static readonly ILog ATSAdminInstallerLog = LogManager.GetLogger("AnywhereTS.ATSAmdin.Installer");
35            public static readonly ILog TSControlPanelInstallerLog = LogManager.GetLogger("AnywhereTS.TSControlPanel.Installer");
36          #endregion          #endregion
37    
38    
39            public static void UpdateLogPath(string path) { Logging.SetLogPath(path); }
40    
41            private static void SetLogPath(string path)
42            {
43                var fileAppenders = from appender in log4net.LogManager.GetRepository().GetAppenders()
44                                    where appender is FileAppender
45                                    select appender;
46                fileAppenders.Cast<FileAppender>()
47                   .ToList()
48                   .ForEach(
49                       fa =>
50                       {
51                           FileInfo fi = new FileInfo(fa.File);
52                           string file = fi.Name;
53                           fa.File = new FileInfo(string.Format(@"{0}\{1}", path, file)).FullName;
54                           fa.ActivateOptions();
55                       }
56                   );
57            }
58    
59          #region log4net help          #region log4net help
60          public static List<string> GetMessagesFromThreadContextStack(string RawContextStack)          public static List<string> GetMessagesFromThreadContextStack(string RawContextStack)
61          {          {

Legend:
Removed from v.96  
changed lines
  Added in v.150

  ViewVC Help
Powered by ViewVC 1.1.22