using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; namespace Matrix.Utility { public class LogUtil { private static object obje = new object(); public static void WriteLog(string dirName, string contentText) { LogUtil.WriteLog(SystemConfig.LogPath, dirName, contentText); } public static void WriteLog(string logPath,string dirName, string contentText) { LogUtil.WriteLog(dirName, contentText, logPath, FileMode.OpenOrCreate); } public static void WriteLog(string dirName, string contentText, string logPath,FileMode fm) { string logDirectory = logPath + "\\\\" + dirName + "\\"; object obj; Monitor.Enter(obj = LogUtil.obje); try { if (!Directory.Exists(logDirectory)) { Directory.CreateDirectory(logDirectory); } string logName = logDirectory + DateTime.Now.ToString("yyyyMMdd") + ".log"; FileStream logFile = null; StreamWriter streamWriter = null; try { logFile = new FileStream(logName, fm); logFile.Seek(0L, SeekOrigin.End); streamWriter = new StreamWriter(logFile, Encoding.GetEncoding("gb2312")); streamWriter.WriteLine(DateTime.Now.ToString("HH:mm:ss") + "|" + contentText); //streamWriter.WriteLine(contentText); } catch (Exception) { } finally { if (streamWriter != null) { streamWriter.Close(); } if (logFile != null) { logFile.Close(); } } } finally { Monitor.Exit(obj); } } } }