LogUtil.cs 2.7 KB

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