AHTC/WebService/Matrix.Utility/LogUtil.cs

67 lines
2.1 KiB
C#
Raw Permalink Normal View History

2025-05-19 09:22:33 +08:00
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);
}
}
}
}