Explorar o código

增加日志写入

liufei %!s(int64=3) %!d(string=hai) anos
pai
achega
46f6de321c
Modificáronse 1 ficheiros con 76 adicións e 0 borrados
  1. 76 0
      Util/LogUtil.cs

+ 76 - 0
Util/LogUtil.cs

@@ -0,0 +1,76 @@
+using GeekDesk.Constant;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace GeekDesk.Util
+{
+    public class LogUtil
+    {
+        public static void WriteErrorLog(object exception, string msg = "")
+        {
+            try
+            {
+                Exception ex = exception as Exception;
+
+                using (FileStream fs = File.Open(Constants.ERROR_FILE_PATH, FileMode.OpenOrCreate, FileAccess.ReadWrite))
+                {
+                    fs.Seek(0, SeekOrigin.End);
+                    byte[] buffer = Encoding.Default.GetBytes("-------------------------------------------------------\r\n");
+                    fs.Write(buffer, 0, buffer.Length);
+
+                    buffer = Encoding.Default.GetBytes(DateTime.Now.ToString() + msg + "\r\n");
+                    fs.Write(buffer, 0, buffer.Length);
+
+                    if (ex != null)
+                    {
+                        buffer = Encoding.Default.GetBytes("成员名: " + ex.TargetSite + "\r\n");
+                        fs.Write(buffer, 0, buffer.Length);
+
+                        buffer = Encoding.Default.GetBytes("引发异常的类: " + ex.TargetSite.DeclaringType + "\r\n");
+                        fs.Write(buffer, 0, buffer.Length);
+
+                        buffer = Encoding.Default.GetBytes("异常信息: " + ex.Message + "\r\n");
+                        fs.Write(buffer, 0, buffer.Length);
+
+                        buffer = Encoding.Default.GetBytes("引发异常的程序集或对象: " + ex.Source + "\r\n");
+                        fs.Write(buffer, 0, buffer.Length);
+
+                        buffer = Encoding.Default.GetBytes("栈:" + ex.StackTrace + "\r\n");
+                        fs.Write(buffer, 0, buffer.Length);
+                    }
+                    else
+                    {
+                        buffer = Encoding.Default.GetBytes("应用程序错误: " + exception.ToString() + "\r\n");
+                        fs.Write(buffer, 0, buffer.Length);
+                    }
+                }
+            } catch
+            {
+
+            }
+           
+        }
+
+
+        public static void WriteLog(string msg)
+        {
+            try {
+                using (FileStream fs = File.Open(Constants.LOG_FILE_PATH, FileMode.OpenOrCreate, FileAccess.ReadWrite))
+            {
+                fs.Seek(0, SeekOrigin.End);
+                byte[] buffer = Encoding.Default.GetBytes("-------------------------------------------------------\r\n");
+                fs.Write(buffer, 0, buffer.Length);
+
+                buffer = Encoding.Default.GetBytes(DateTime.Now.ToString() + msg + "\r\n" );
+                fs.Write(buffer, 0, buffer.Length);
+            }
+            } catch { }
+        }
+
+
+    }
+}