/[projects]/dao/DaoMqPump2/DaoCommon/Logfile.cs
ViewVC logotype

Diff of /dao/DaoMqPump2/DaoCommon/Logfile.cs

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

revision 2176 by torben, Fri May 16 21:10:02 2014 UTC revision 2177 by torben, Mon May 19 19:51:47 2014 UTC
# Line 17  namespace DaoCommon Line 17  namespace DaoCommon
17    
18      public class Logfile : IDisposable      public class Logfile : IDisposable
19      {      {
20            // Flag: Has Dispose already been called?
21            bool disposed = false; //IDisposable
22    
23            private LogfileType type;
24          private string name;          private string name;
25          private String logDirectory;          private String logDirectory;
26          private LinkedList<string> logEntries = new LinkedList<string>();          private LinkedList<string> logEntries = new LinkedList<string>();
27    
28            StreamWriter realLogFile = null;
29    
30          public Logfile(string logname, string logDirectory)          public Logfile(LogfileType type, string logname, string logDirectory)
31          {          {
32                this.type = type;
33              this.logDirectory = logDirectory;              this.logDirectory = logDirectory;
34              this.name = logname;              this.name = logname;
35          }          }
36    
         public void Dispose()// adasd  
         {  
         }  
   
37          public static string getNowString()          public static string getNowString()
38          {          {
39              DateTime now = DateTime.Now;              DateTime now = DateTime.Now;
# Line 40  namespace DaoCommon Line 42  namespace DaoCommon
42          }          }
43    
44    
45          public string getLogFilename(LogfileType type)          public string getLogFilename()
46          {          {
47              return getLogFilename(type, logDirectory, name);              return getLogFilename(type, logDirectory, name);
48          }          }
# Line 65  namespace DaoCommon Line 67  namespace DaoCommon
67                  case LogfileType.LogTransactions:                  case LogfileType.LogTransactions:
68                      filename += "transactionlog_";                      filename += "transactionlog_";
69                      break;                      break;
70    
71                  case LogfileType.LogDiscarded:                  case LogfileType.LogDiscarded:
72                      filename += "discardedlog_";                      filename += "discardedlog_";
73                      break;                      break;
# Line 76  namespace DaoCommon Line 79  namespace DaoCommon
79              return filename;              return filename;
80          }          }
81    
82            private void checkAndOpenfile()
83            {
84                if (realLogFile != null)
85                    return;
86    
87                string filename = getLogFilename();
88    
89                realLogFile = new StreamWriter(filename, true);
90            }
91    
92            public void writeLogEntry(string msg)
93            {
94                checkAndOpenfile();
95    
96                realLogFile.WriteLine(getNowString() + " " + msg);
97                realLogFile.Flush();
98            }
99    
100    
101          public void addSingleLogEntry(string msg)          public void addSingleLogEntry(string msg)
102          {          {
# Line 90  namespace DaoCommon Line 111  namespace DaoCommon
111                  }                  }
112              }              }
113    
114              string filename = getLogFilename(LogfileType.LogEvents);              string filename = getLogFilename();
115              using (StreamWriter eventlog = new StreamWriter(filename, true))              using (StreamWriter eventlog = new StreamWriter(filename, true))
116              {              {
117                  eventlog.WriteLine(msg);                  eventlog.WriteLine(msg);
118              }              }
119    
120                Console.WriteLine(msg);
121          }          }
122    
123          public string[] getLog()          public string[] getLog()
# Line 110  namespace DaoCommon Line 133  namespace DaoCommon
133              }              }
134          }          }
135    
136            public void Dispose()
137            {
138                if (disposed)
139                    return;
140    
141                try
142                {
143                    if (realLogFile != null)
144                    {
145                        realLogFile.Close();
146                        realLogFile.Dispose();
147                    }
148                }
149                catch (Exception e)
150                {
151                    Console.WriteLine("Error disposing logfile : ", e.Message);
152                }
153    
154    
155                // Free any unmanaged objects here.
156                //
157                disposed = true;
158            }
159    
160    
161    
162      }      }
163  }  }

Legend:
Removed from v.2176  
changed lines
  Added in v.2177

  ViewVC Help
Powered by ViewVC 1.1.20