/projects/PigeonCms.Core/Helpers/Trace.cs

http://pigeoncms.googlecode.com/ · C# · 102 lines · 92 code · 6 blank · 4 comment · 6 complexity · f420f5779b3a5e54208759f0e5d51da9 MD5 · raw file

  1. using System;
  2. using System.Web;
  3. namespace PigeonCms
  4. {
  5. /// <summary>
  6. /// encapsulate trace functionality, avoid trace exception and time loss when tracing is disabled
  7. /// tnx to http://weblogs.asp.net/plip/articles/111130.aspx
  8. /// </summary>
  9. public class Trace
  10. {
  11. public static void Write(string Message)
  12. {
  13. if (HttpContext.Current.Trace.IsEnabled)
  14. {
  15. try
  16. {
  17. HttpContext.Current.Trace.Write(Message.ToString());
  18. }
  19. catch (Exception e)
  20. {
  21. HttpContext.Current.Trace.Warn("PigeonCms", "Trace.Write", e);
  22. }
  23. }
  24. }
  25. public static void Write(string Category, string Message)
  26. {
  27. if (HttpContext.Current.Trace.IsEnabled)
  28. {
  29. try
  30. {
  31. HttpContext.Current.Trace.Write(Category.ToString(), Message.ToString());
  32. }
  33. catch (Exception e)
  34. {
  35. HttpContext.Current.Trace.Warn("PigeonCms", "Trace.Write", e);
  36. }
  37. }
  38. }
  39. public static void Write(string Category, string Message, System.Exception exe)
  40. {
  41. if (HttpContext.Current.Trace.IsEnabled)
  42. {
  43. try
  44. {
  45. HttpContext.Current.Trace.Write(Category.ToString(), Message.ToString(), exe);
  46. }
  47. catch (Exception e)
  48. {
  49. HttpContext.Current.Trace.Warn("PigeonCms", "Trace.Write", e);
  50. }
  51. }
  52. }
  53. public static void Warn(string Message)
  54. {
  55. if (HttpContext.Current.Trace.IsEnabled)
  56. {
  57. try
  58. {
  59. HttpContext.Current.Trace.Warn(Message.ToString());
  60. }
  61. catch (Exception e)
  62. {
  63. HttpContext.Current.Trace.Warn("PigeonCms", "Trace.Warn", e);
  64. }
  65. }
  66. }
  67. public static void Warn(string Category, string Message)
  68. {
  69. if (HttpContext.Current.Trace.IsEnabled)
  70. {
  71. try
  72. {
  73. HttpContext.Current.Trace.Warn(Category.ToString(), Message.ToString());
  74. }
  75. catch (Exception e)
  76. {
  77. HttpContext.Current.Trace.Warn("PigeonCms", "Trace.Warn", e);
  78. }
  79. }
  80. }
  81. public static void Warn(string Category, string Message, System.Exception exe)
  82. {
  83. if (HttpContext.Current.Trace.IsEnabled)
  84. {
  85. try
  86. {
  87. HttpContext.Current.Trace.Warn(Category.ToString(), Message.ToString(), exe);
  88. }
  89. catch (Exception e)
  90. {
  91. HttpContext.Current.Trace.Warn("PigeonCms", "Trace.Warn", e);
  92. }
  93. }
  94. }
  95. }
  96. }