84 lines
3.3 KiB
C#
84 lines
3.3 KiB
C#
using GeekDesk.Constant;
|
|
using System;
|
|
using System.IO;
|
|
using System.Text;
|
|
|
|
namespace GeekDesk.Util
|
|
{
|
|
public class LogUtil
|
|
{
|
|
public static void WriteErrorLog(object exception, string msg = "")
|
|
{
|
|
try
|
|
{
|
|
Exception ex = exception as Exception;
|
|
if (!Directory.Exists(Constants.ERROR_FILE_PATH.Substring(0, Constants.ERROR_FILE_PATH.LastIndexOf("\\"))))
|
|
{
|
|
Directory.CreateDirectory(Constants.ERROR_FILE_PATH.Substring(0, Constants.ERROR_FILE_PATH.LastIndexOf("\\")));
|
|
}
|
|
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
|
|
{
|
|
if (!Directory.Exists(Constants.LOG_FILE_PATH.Substring(0, Constants.LOG_FILE_PATH.LastIndexOf("\\"))))
|
|
{
|
|
Directory.CreateDirectory(Constants.LOG_FILE_PATH.Substring(0, Constants.LOG_FILE_PATH.LastIndexOf("\\")));
|
|
}
|
|
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 { }
|
|
}
|
|
|
|
|
|
}
|
|
}
|