LogUtil.cs 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. using GeekDesk.Constant;
  2. using System;
  3. using System.IO;
  4. using System.Text;
  5. namespace GeekDesk.Util
  6. {
  7. public class LogUtil
  8. {
  9. public static void WriteErrorLog(object exception, string msg = "")
  10. {
  11. try
  12. {
  13. Exception ex = exception as Exception;
  14. if (!Directory.Exists(Constants.ERROR_FILE_PATH.Substring(0, Constants.ERROR_FILE_PATH.LastIndexOf("\\"))))
  15. {
  16. Directory.CreateDirectory(Constants.ERROR_FILE_PATH.Substring(0, Constants.ERROR_FILE_PATH.LastIndexOf("\\")));
  17. }
  18. using (FileStream fs = File.Open(Constants.ERROR_FILE_PATH, FileMode.OpenOrCreate, FileAccess.ReadWrite))
  19. {
  20. fs.Seek(0, SeekOrigin.End);
  21. byte[] buffer = Encoding.Default.GetBytes("-------------------------------------------------------\r\n");
  22. fs.Write(buffer, 0, buffer.Length);
  23. buffer = Encoding.Default.GetBytes(DateTime.Now.ToString() + msg + "\r\n");
  24. fs.Write(buffer, 0, buffer.Length);
  25. if (ex != null)
  26. {
  27. buffer = Encoding.Default.GetBytes("成员名: " + ex.TargetSite + "\r\n");
  28. fs.Write(buffer, 0, buffer.Length);
  29. buffer = Encoding.Default.GetBytes("引发异常的类: " + ex.TargetSite.DeclaringType + "\r\n");
  30. fs.Write(buffer, 0, buffer.Length);
  31. buffer = Encoding.Default.GetBytes("异常信息: " + ex.Message + "\r\n");
  32. fs.Write(buffer, 0, buffer.Length);
  33. buffer = Encoding.Default.GetBytes("引发异常的程序集或对象: " + ex.Source + "\r\n");
  34. fs.Write(buffer, 0, buffer.Length);
  35. buffer = Encoding.Default.GetBytes("栈:" + ex.StackTrace + "\r\n");
  36. fs.Write(buffer, 0, buffer.Length);
  37. }
  38. else
  39. {
  40. buffer = Encoding.Default.GetBytes("应用程序错误: " + exception.ToString() + "\r\n");
  41. fs.Write(buffer, 0, buffer.Length);
  42. }
  43. }
  44. }
  45. catch
  46. {
  47. }
  48. }
  49. public static void WriteLog(string msg)
  50. {
  51. try
  52. {
  53. if (!Directory.Exists(Constants.LOG_FILE_PATH.Substring(0, Constants.LOG_FILE_PATH.LastIndexOf("\\"))))
  54. {
  55. Directory.CreateDirectory(Constants.LOG_FILE_PATH.Substring(0, Constants.LOG_FILE_PATH.LastIndexOf("\\")));
  56. }
  57. using (FileStream fs = File.Open(Constants.LOG_FILE_PATH, FileMode.OpenOrCreate, FileAccess.ReadWrite))
  58. {
  59. fs.Seek(0, SeekOrigin.End);
  60. byte[] buffer = Encoding.Default.GetBytes("-------------------------------------------------------\r\n");
  61. fs.Write(buffer, 0, buffer.Length);
  62. buffer = Encoding.Default.GetBytes(DateTime.Now.ToString() + msg + "\r\n");
  63. fs.Write(buffer, 0, buffer.Length);
  64. }
  65. }
  66. catch { }
  67. }
  68. }
  69. }