diff --git a/Util/LogUtil.cs b/Util/LogUtil.cs new file mode 100644 index 0000000..4fc397b --- /dev/null +++ b/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 { } + } + + + } +}