/[RomCheater]/trunk/RomCheater.Logging/logger.cs
ViewVC logotype

Diff of /trunk/RomCheater.Logging/logger.cs

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

revision 427 by william, Tue May 28 12:39:42 2013 UTC revision 668 by william, Mon Jun 17 04:49:09 2013 UTC
# Line 195  namespace RomCheater.Logging Line 195  namespace RomCheater.Logging
195      #region public static class logger      #region public static class logger
196      public static class logger      public static class logger
197      {      {
198            private static string GetLoggingClass()
199            {
200                const int methodindex = 4; // get this method from stacktrace
201                string c = string.Empty;
202                StackTrace stackTrace = new StackTrace();            
203                var frames = stackTrace.GetFrames().ToList();
204                List<MethodBase> methods = new List<MethodBase>();
205                frames.ForEach(s => methods.Add(s.GetMethod()));
206                
207                var method = methods[methodindex];
208                if (method.DeclaringType != null)
209                {
210                    c = method.DeclaringType.Name;
211    
212                    bool GetNextMethod = true;
213                    if (method.DeclaringType.FullName.ToLower().StartsWith("system") || method.DeclaringType.FullName.ToLower().StartsWith("microsoft"))
214                    {
215                        int NextMethodCount = methodindex;
216                        while (GetNextMethod)
217                        {
218                            if (NextMethodCount == -1)
219                            {
220                                throw new InvalidOperationException("Unable to find calling class");
221                            }
222                            method = methods[NextMethodCount--]; // walk backup the stack
223                            if (method.DeclaringType != null)
224                            {
225                                c = method.DeclaringType.Name;
226                                if (method.DeclaringType.FullName.ToLower().StartsWith("system") || method.DeclaringType.FullName.ToLower().StartsWith("microsoft"))
227                                {
228                                    GetNextMethod = true;
229                                }
230                                else
231                                {
232                                    GetNextMethod = false;
233                                }
234                            }
235                        }
236                    }
237    
238                }
239                return string.Format("({0})",c);
240            }
241          private static loggerflags logging_flags;          private static loggerflags logging_flags;
242          static logger() { SetLoggingFlags(loggerflags.DEFAULT); }          static logger() { SetLoggingFlags(loggerflags.DEFAULT); }
243          public static void SetLoggingFlags(loggerflags flags) { logging_flags = flags; }          public static void SetLoggingFlags(loggerflags flags) { logging_flags = flags; }
# Line 205  namespace RomCheater.Logging Line 248  namespace RomCheater.Logging
248              string timestamp = "";              string timestamp = "";
249              DateTime now = DateTime.Now;              DateTime now = DateTime.Now;
250              timestamp = now.ToString("yyyy/MM/dd HH:mm:ss tt: ");              timestamp = now.ToString("yyyy/MM/dd HH:mm:ss tt: ");
251              return timestamp;              return string.Format("{0}", timestamp);
252          }          }
253          public static class Info          public static class Info
254          {          {
255              private static string CreateNewFormat(string format) { return "    " + CreateTimeStamp() + "(INFO) " + format; }              private static string CreateNewFormat(string format) { return "    " + CreateTimeStamp() + "(INFO) " + GetLoggingClass() + " " + format; }
256              [Conditional("LOGGING_ENABLE_INFO")]              [Conditional("LOGGING_ENABLE_INFO")]
257              public static void Write(string format, params object[] args) { if (logging_flags.HasFlag(loggerflags.INFO)) { xlogger.Write(CreateNewFormat(format), args); } }              public static void Write(string format, params object[] args) { if (logging_flags.HasFlag(loggerflags.INFO)) { xlogger.Write(CreateNewFormat(format), args); } }
258              [Conditional("LOGGING_ENABLE_INFO")]              [Conditional("LOGGING_ENABLE_INFO")]
# Line 217  namespace RomCheater.Logging Line 260  namespace RomCheater.Logging
260          }          }
261          public static class Warn          public static class Warn
262          {          {
263              private static string CreateNewFormat(string format) { return "    " + CreateTimeStamp() + "(WARN) " + format; }              private static string CreateNewFormat(string format) { return "    " + CreateTimeStamp() + "(WARN) " + GetLoggingClass() + " " + format; }
264              [Conditional("LOGGING_ENABLE_WARN")]              [Conditional("LOGGING_ENABLE_WARN")]
265              public static void Write(string format, params object[] args) { if (logging_flags.HasFlag(loggerflags.WARN)) { xlogger.Write(CreateNewFormat(format), args); } }              public static void Write(string format, params object[] args) { if (logging_flags.HasFlag(loggerflags.WARN)) { xlogger.Write(CreateNewFormat(format), args); } }
266              [Conditional("LOGGING_ENABLE_WARN")]              [Conditional("LOGGING_ENABLE_WARN")]
# Line 225  namespace RomCheater.Logging Line 268  namespace RomCheater.Logging
268          }          }
269          public static class Debug          public static class Debug
270          {          {
271              private static string CreateNewFormat(string format) { return "    " + CreateTimeStamp() + "(DEBUG) " + format; }              private static string CreateNewFormat(string format) { return "    " + CreateTimeStamp() + "(DEBUG) " + GetLoggingClass() + " " + format; }
272              [Conditional("LOGGING_ENABLE_DEBUG")]              [Conditional("LOGGING_ENABLE_DEBUG")]
273              public static void Write(string format, params object[] args) { if (logging_flags.HasFlag(loggerflags.DEBUG)) { xlogger.Write(CreateNewFormat(format), args); } }              public static void Write(string format, params object[] args) { if (logging_flags.HasFlag(loggerflags.DEBUG)) { xlogger.Write(CreateNewFormat(format), args); } }
274              [Conditional("LOGGING_ENABLE_DEBUG")]              [Conditional("LOGGING_ENABLE_DEBUG")]
# Line 233  namespace RomCheater.Logging Line 276  namespace RomCheater.Logging
276          }          }
277          public static class VerboseDebug          public static class VerboseDebug
278          {          {
279              private static string CreateNewFormat(string format) { return "    " + CreateTimeStamp() + "(VERBOSE DEBUG) " + format; }              private static string CreateNewFormat(string format) { return "    " + CreateTimeStamp() + "(VERBOSE DEBUG) " + GetLoggingClass() + " " + format; }
280              [Conditional("LOGGING_ENABLE_VERBOSEDEBUG")]              [Conditional("LOGGING_ENABLE_VERBOSEDEBUG")]
281              public static void Write(string format, params object[] args) { if (logging_flags.HasFlag(loggerflags.VERBOSE_DEBUG)) { xlogger.Write(CreateNewFormat(format), args); } }              public static void Write(string format, params object[] args) { if (logging_flags.HasFlag(loggerflags.VERBOSE_DEBUG)) { xlogger.Write(CreateNewFormat(format), args); } }
282              [Conditional("LOGGING_ENABLE_VERBOSEDEBUG")]              [Conditional("LOGGING_ENABLE_VERBOSEDEBUG")]
# Line 242  namespace RomCheater.Logging Line 285  namespace RomCheater.Logging
285          }          }
286          public static class Error          public static class Error
287          {          {
288              private static string CreateNewFormat(string format) { return "    " + CreateTimeStamp() + "(ERROR) " + format; }              private static string CreateNewFormat(string format) { return "    " + CreateTimeStamp() + "(ERROR) " + GetLoggingClass() + " " + format; }
289              [Conditional("LOGGING_ENABLE_ERROR")]              [Conditional("LOGGING_ENABLE_ERROR")]
290              public static void Write(string format, params object[] args) { if (logging_flags.HasFlag(loggerflags.ERROR)) { xlogger.Write(CreateNewFormat(format), args); } }              public static void Write(string format, params object[] args) { if (logging_flags.HasFlag(loggerflags.ERROR)) { xlogger.Write(CreateNewFormat(format), args); } }
291              [Conditional("LOGGING_ENABLE_ERROR")]              [Conditional("LOGGING_ENABLE_ERROR")]
# Line 250  namespace RomCheater.Logging Line 293  namespace RomCheater.Logging
293          }          }
294          public static class VerboseError          public static class VerboseError
295          {          {
296              private static string CreateNewFormat(string format) { return "    " + CreateTimeStamp() + "(VERBOSE ERROR) " + format; }              private static string CreateNewFormat(string format) { return "    " + CreateTimeStamp() + "(VERBOSE ERROR) " + GetLoggingClass() + " " + format; }
297              [Conditional("LOGGING_ENABLE_VERBOSEERROR")]              [Conditional("LOGGING_ENABLE_VERBOSEERROR")]
298              public static void Write(string format, params object[] args) { if (logging_flags.HasFlag(loggerflags.VERBOSE_ERROR)) { xlogger.Write(CreateNewFormat(format), args); } }              public static void Write(string format, params object[] args) { if (logging_flags.HasFlag(loggerflags.VERBOSE_ERROR)) { xlogger.Write(CreateNewFormat(format), args); } }
299              [Conditional("LOGGING_ENABLE_VERBOSEERROR")]              [Conditional("LOGGING_ENABLE_VERBOSEERROR")]
# Line 258  namespace RomCheater.Logging Line 301  namespace RomCheater.Logging
301          }          }
302          public static class Profiler          public static class Profiler
303          {          {
304              private static string CreateNewFormat(string format) { return "    " + CreateTimeStamp() + "(PROFILER) " + format; }              private static string CreateNewFormat(string format) { return "    " + CreateTimeStamp() + "(PROFILER) " + GetLoggingClass() + " " + format; }
305              [Conditional("LOGGING_ENABLE_PROFILER")]              [Conditional("LOGGING_ENABLE_PROFILER")]
306              public static void Write(string format, params object[] args) { if (logging_flags.HasFlag(loggerflags.PROFILER)) { xlogger.Write(CreateNewFormat(format), args); } }              public static void Write(string format, params object[] args) { if (logging_flags.HasFlag(loggerflags.PROFILER)) { xlogger.Write(CreateNewFormat(format), args); } }
307              [Conditional("LOGGING_ENABLE_PROFILER")]              [Conditional("LOGGING_ENABLE_PROFILER")]
# Line 269  namespace RomCheater.Logging Line 312  namespace RomCheater.Logging
312          {          {
313              public static class Info              public static class Info
314              {              {
315                  private static string CreateNewFormat(string format) { return "    " + CreateTimeStamp() + "(FORCED INFO) " + format; }                  private static string CreateNewFormat(string format) { return "    " + CreateTimeStamp() + "(FORCED INFO) " + GetLoggingClass() + " " + format; }
316                  public static void Write(string format, params object[] args) { xlogger.Write(CreateNewFormat(format), args); }                  public static void Write(string format, params object[] args) { xlogger.Write(CreateNewFormat(format), args); }
317                  public static void WriteLine(string format, params object[] args) { xlogger.WriteLine(CreateNewFormat(format), args); }                  public static void WriteLine(string format, params object[] args) { xlogger.WriteLine(CreateNewFormat(format), args); }
318              }              }
319              public static class Warn              public static class Warn
320              {              {
321                  private static string CreateNewFormat(string format) { return "    " + CreateTimeStamp() + "(FORCED Warn) " + format; }                  private static string CreateNewFormat(string format) { return "    " + CreateTimeStamp() + "(FORCED Warn) " + GetLoggingClass() + " " + format; }
322                  public static void Write(string format, params object[] args) { xlogger.Write(CreateNewFormat(format), args); }                  public static void Write(string format, params object[] args) { xlogger.Write(CreateNewFormat(format), args); }
323                  public static void WriteLine(string format, params object[] args) { xlogger.WriteLine(CreateNewFormat(format), args); }                  public static void WriteLine(string format, params object[] args) { xlogger.WriteLine(CreateNewFormat(format), args); }
324              }              }
325              public static class Debug              public static class Debug
326              {              {
327                  private static string CreateNewFormat(string format) { return "    " + CreateTimeStamp() + "(FORCED DEBUG) " + format; }                  private static string CreateNewFormat(string format) { return "    " + CreateTimeStamp() + "(FORCED DEBUG) " + GetLoggingClass() + " " + format; }
328                  public static void Write(string format, params object[] args) { xlogger.Write(CreateNewFormat(format), args); }                  public static void Write(string format, params object[] args) { xlogger.Write(CreateNewFormat(format), args); }
329                  public static void WriteLine(string format, params object[] args) { xlogger.WriteLine(CreateNewFormat(format), args); }                  public static void WriteLine(string format, params object[] args) { xlogger.WriteLine(CreateNewFormat(format), args); }
330              }              }
331              public static class Error              public static class Error
332              {              {
333                  private static string CreateNewFormat(string format) { return "    " + CreateTimeStamp() + "(FORCED ERROR) " + format; }                  private static string CreateNewFormat(string format) { return "    " + CreateTimeStamp() + "(FORCED ERROR) " + GetLoggingClass() + " " + format; }
334                  public static void Write(string format, params object[] args) { xlogger.Write(CreateNewFormat(format), args); }                  public static void Write(string format, params object[] args) { xlogger.Write(CreateNewFormat(format), args); }
335                  public static void WriteLine(string format, params object[] args) { xlogger.WriteLine(CreateNewFormat(format), args); }                  public static void WriteLine(string format, params object[] args) { xlogger.WriteLine(CreateNewFormat(format), args); }
336              }              }
337              public static class Profiler              public static class Profiler
338              {              {
339                  private static string CreateNewFormat(string format) { return "    " + CreateTimeStamp() + "(FORCED PROFILER) " + format; }                  private static string CreateNewFormat(string format) { return "    " + CreateTimeStamp() + "(FORCED PROFILER) " + GetLoggingClass() + " " + format; }
340                  public static void Write(string format, params object[] args) { xlogger.Write(CreateNewFormat(format), args); }                  public static void Write(string format, params object[] args) { xlogger.Write(CreateNewFormat(format), args); }
341                  public static void WriteLine(string format, params object[] args) { xlogger.WriteLine(CreateNewFormat(format), args); }                  public static void WriteLine(string format, params object[] args) { xlogger.WriteLine(CreateNewFormat(format), args); }
342              }              }

Legend:
Removed from v.427  
changed lines
  Added in v.668

  ViewVC Help
Powered by ViewVC 1.1.22