public static void WriteLog(TwLogType logType, string logMsg) { DateTime now = TimeUtil.NowDateTime(); lock (TwLogManager._FileLock) { LogFilePoolItem item; if (!TwLogManager.LogFilePoolList.TryGetValue(logType, out item)) { item = new LogFilePoolItem(); TwLogManager.LogFilePoolList.Add(logType, item); } if ((long)now.Hour != item.OpenTimeOnHours || (long)now.DayOfYear != item.OpenTimeOnDayOfYear || item._StreamWriter == null) { if (null != item._StreamWriter) { item._StreamWriter.Close(); item._StreamWriter = null; } item._StreamWriter = File.AppendText(TwLogManager.GetLogPath() + TwLogManager.GetFileName(logType)); item.OpenTimeOnHours = (long)now.Hour; item.OpenTimeOnDayOfYear = (long)now.DayOfYear; item._StreamWriter.AutoFlush = true; } try { TwLogManager._StreamWriter = item._StreamWriter; TwLogManager._StreamWriter.WriteLine(logMsg); } catch { } } }
private static string GetFileName(TwLogType type) { string name = ""; switch (type) { case TwLogType.RoleCreate: name = string.Format("active_{0}_{1}_{2}{3}{4}.log", new object[] { TwLogManager.GetProductID(), TwLogManager.GetServerID(), TwLogManager._YearID, TwLogManager._MonthID, TwLogManager._DayID }); break; case TwLogType.RoleLogin: name = string.Format("login_{0}_{1}_{2}{3}{4}.log", new object[] { TwLogManager.GetProductID(), TwLogManager.GetServerID(), TwLogManager._YearID, TwLogManager._MonthID, TwLogManager._DayID }); break; case TwLogType.OnlineNum: name = string.Format("online_{0}_{1}_{2}{3}{4}.log", new object[] { TwLogManager.GetProductID(), TwLogManager.GetServerID(), TwLogManager._YearID, TwLogManager._MonthID, TwLogManager._DayID }); break; } return(name); }