using System; using System.Collections.Generic; using System.Text; namespace Shared.Phone.UserCenter { /// /// Log逻辑 /// public class HdlLogLogic { #region ■ 变量声明___________________________ /// /// Log逻辑 /// private static HdlLogLogic m_Current = null; /// /// Log逻辑 /// public static HdlLogLogic Current { get { if (m_Current == null) { m_Current = new HdlLogLogic(); } return m_Current; } } /// /// 锁 /// private object objLock = new object(); #endregion #region ■ Log出力____________________________ /// /// Log出力 /// /// public void WriteLog(Exception ex) { //Log出力 string msg = ex.Message + "\r\n"; msg += ex.StackTrace; this.WriteLog(-1, msg); } /// /// Log出力 /// /// 1:普通Log,-1:致命错误Log /// Log内容 public void WriteLog(int div, string strLog) { lock (objLock) { //if (div != -1) //{ // //暂时只记录异常信息 // return; //} //Log文件 string fileName = this.GetLogFile(div); string fullName = UserCenterLogic.CombinePath(DirNameResourse.LocalMemoryDirectory, DirNameResourse.LogDirectory, fileName); strLog = "[" + DateTime.Now.ToString("yyyyMMdd HH:mm:ss") + "] " + strLog + "\r\n"; var sw = new System.IO.StreamWriter(fullName, true, Encoding.UTF8); sw.WriteLine(strLog); sw.Close(); sw = null; } } /// /// 获取LOG文件 /// /// 1:普通Log,-1:致命错误Log /// private string GetLogFile(int div) { //加密,因为这是收集数据,最好不让别人知道这是什么最好 string fileName = DateTime.Now.ToString("yyyyMMdd"); if (div == -1) { fileName += "Log"; } else if (div == 1) { fileName += "Error"; } fileName = UserCenterLogic.EncryptPassword("4^Olh_3f", fileName); return fileName; } #endregion } }