AHTC/RGD/RGD.CommonClassLib/LogUtil.cs
2025-05-19 09:22:33 +08:00

165 lines
5.5 KiB
C#

using System;
using System.IO;
using System.Text;
using System.Threading;
namespace RGD.Common
{
public class LogUtil
{
private static object obje = new object();
public static string LogPath
{
get
{
//return HttpContext.Current.Server.MapPath("/") + "/Log";// ConfigurationManager.AppSettings["LogPath"];
return System.Environment.CurrentDirectory + "/Log";
}
}
public static void WriteLog(string dirName, string contentText)
{
LogUtil.WriteLog(LogPath, dirName, contentText);
}
public static void WriteLog(string logPath, string dirName, string contentText)
{
LogUtil.WriteLog(dirName, contentText, logPath, FileMode.OpenOrCreate);
}
public static void WriteLogNoTime(string logPath, string dirName, string contentText)
{
LogUtil.WriteLogNoTopTime(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.fff") + "|" + contentText);
//streamWriter.WriteLine(contentText);
}
catch (Exception)
{
}
finally
{
if (streamWriter != null)
{
streamWriter.Close();
}
if (logFile != null)
{
logFile.Close();
}
}
}
finally
{
Monitor.Exit(obj);
}
}
public static void WriteLogNoTopTime(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.fff") + "|" + contentText);
streamWriter.WriteLine(contentText);
}
catch (Exception)
{
}
finally
{
if (streamWriter != null)
{
streamWriter.Close();
}
if (logFile != null)
{
logFile.Close();
}
}
}
finally
{
Monitor.Exit(obj);
}
}
public static void WriteLogFile(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.fff") + "|" + contentText);
//streamWriter.WriteLine(contentText);
}
catch (Exception)
{
}
finally
{
if (streamWriter != null)
{
streamWriter.Close();
}
if (logFile != null)
{
logFile.Close();
}
}
}
finally
{
Monitor.Exit(obj);
}
}
}
}