using System;
|
using System.IO;
|
|
namespace WIDESEA_Common.Tools
|
{
|
public class WriteLog
|
{
|
private int fileSize;
|
private string logFileName;
|
public static WriteLog log;
|
//private static string EquipName;
|
|
static object lockobj = new object();
|
public static WriteLog GetLog(/*string equipName*/)
|
{
|
lock (lockobj)
|
{
|
//EquipName = string.Empty;
|
//EquipName = equipName;
|
log ??= new WriteLog();
|
log.FileLogPath = $"{AppContext.BaseDirectory}\\Logs\\{DateTime.Now:yyyyMMdd}\\";
|
return log;
|
}
|
|
}
|
|
public static WriteLog Info(string equipName)
|
{
|
//EquipName = equipName;
|
//if (log == null)
|
log = new WriteLog("Info" + equipName);
|
log.FileLogPath = AppContext.BaseDirectory + "\\log\\Info\\" + DateTime.Now.ToString("yyyyMMdd") /*+ "\\" + EquipName + "_" + DateTime.Now.ToString("yyyyMMdd")*/ + "\\";
|
return log;
|
}
|
|
public static WriteLog Error(string equipName)
|
{
|
//EquipName = equipName;
|
//if (log == null)
|
log = new WriteLog("Error" + equipName);
|
log.FileLogPath = AppContext.BaseDirectory + "\\log\\Error\\" + DateTime.Now.ToString("yyyyMMdd") /*+ "\\" + EquipName + "_" + DateTime.Now.ToString("yyyyMMdd")*/ + "\\";
|
return log;
|
}
|
|
private WriteLog()
|
{
|
this.fileSize = 2048 * 1024 * 200;//50M 2048 * 1024 * 200= 419430000字节(b)=399.9996185兆字节(mb)
|
|
|
//this.logFileName = EquipName + "_log_" + DateTime.Now.ToString("yyyyMMdd") + ".log";
|
}
|
|
private WriteLog(string equipName)
|
{
|
//初始化大于399M日志文件将自动删除;
|
|
this.fileSize = 2048 * 1024 * 10;//50M 2048 * 1024 * 200= 419430000字节(b)=399.9996185兆字节(mb)
|
|
//默认路径
|
|
//this.FileLogPath = AppContext.BaseDirectory + "\\log\\" + EquipName + "\\";
|
//EquipName = equipName;
|
if (!string.IsNullOrEmpty(equipName))
|
this.logFileName = equipName + "_log" + DateTime.Now.ToString("yyyyMMdd") + ".log";
|
else
|
this.logFileName = "log" + DateTime.Now.ToString("yyyyMMdd") + ".log";
|
//this.logFileName = EquipName + "_log" + DateTime.Now.ToString("yyyyMMdd") + ".log";
|
}
|
|
public string FileLogPath { set; get; } //= AppContext.BaseDirectory + "\\log\\" + EquipName + "\\";
|
|
|
static readonly object flag = new object();
|
|
public void Write(string Message, string EquipName)
|
{
|
lock (flag)
|
{
|
if (string.IsNullOrEmpty(Message))
|
return;
|
if (!string.IsNullOrEmpty(EquipName))
|
this.logFileName = EquipName + "_log" + DateTime.Now.ToString("yyyyMMdd") + ".log";
|
else
|
this.logFileName = "log" + DateTime.Now.ToString("yyyyMMdd") + ".log";
|
this.Write(this.logFileName, Message, "");
|
}
|
}
|
|
public void Write(string LogFileName, string Message, string str)
|
{
|
if (!Directory.Exists(this.FileLogPath))
|
{
|
Directory.CreateDirectory(this.FileLogPath);
|
}
|
|
FileInfo finfo = new FileInfo(this.FileLogPath + LogFileName);
|
if (finfo.Exists)
|
{
|
if (finfo.Length > fileSize)
|
{
|
finfo.Delete();
|
}
|
}
|
|
try
|
{
|
using FileStream fs = new FileStream(this.FileLogPath + LogFileName, FileMode.Append);
|
using StreamWriter strwriter = new StreamWriter(fs);
|
try
|
{
|
DateTime d = DateTime.Now;
|
strwriter.WriteLine(Message);
|
//strwriter.WriteLine($"【{d:yyyy-MM-dd HH:mm:ss}】" + Message);
|
//strwriter.WriteLine();
|
strwriter.Flush();
|
}
|
catch (Exception ee)
|
{
|
Console.Out.WriteLine("日志文件写入失败信息:" + ee.ToString());
|
}
|
}
|
catch (Exception)
|
{
|
Console.Out.WriteLine("日志文件没有打开,详细信息如下:");
|
}
|
}
|
}
|
/// <summary>
|
/// 本地日志记录
|
/// </summary>
|
//public class WriteLog
|
//{
|
// private int fileSize;
|
// private string logFileName;
|
// public static WriteLog log;
|
// static string EquipName;
|
// public static WriteLog GetLog(string equipName)
|
// {
|
// EquipName = equipName;
|
// //if (log == null)
|
// log = new WriteLog(equipName);
|
// log.FileLogPath = AppContext.BaseDirectory + "\\log\\" + DateTime.Now.ToString("yyyyMMdd") /*+ "\\" + EquipName + "_" + DateTime.Now.ToString("yyyyMMdd")*/ + "\\";
|
// return log;
|
// }
|
|
// public static WriteLog Info(string equipName)
|
// {
|
// EquipName = equipName;
|
// //if (log == null)
|
// log = new WriteLog("Info" + equipName);
|
// log.FileLogPath = AppContext.BaseDirectory + "\\log\\Info\\" + DateTime.Now.ToString("yyyyMMdd") /*+ "\\" + EquipName + "_" + DateTime.Now.ToString("yyyyMMdd")*/ + "\\";
|
// return log;
|
// }
|
|
// public static WriteLog Error(string equipName)
|
// {
|
// EquipName = equipName;
|
// //if (log == null)
|
// log = new WriteLog("Error" + equipName);
|
// log.FileLogPath = AppContext.BaseDirectory + "\\log\\Error\\" + DateTime.Now.ToString("yyyyMMdd") /*+ "\\" + EquipName + "_" + DateTime.Now.ToString("yyyyMMdd")*/ + "\\";
|
// return log;
|
// }
|
|
// private WriteLog(string equipName)
|
// {
|
// //初始化大于399M日志文件将自动删除;
|
|
// this.fileSize = 2048 * 1024 * 200;//50M 2048 * 1024 * 200= 419430000字节(b)=399.9996185兆字节(mb)
|
|
// //默认路径
|
|
// //this.FileLogPath = AppContext.BaseDirectory + "\\log\\" + EquipName + "\\";
|
// EquipName = equipName;
|
// if (!string.IsNullOrEmpty(equipName))
|
// this.logFileName = equipName + "_log" + DateTime.Now.ToString("yyyyMMdd") + ".log";
|
// else
|
// this.logFileName = "log" + DateTime.Now.ToString("yyyyMMdd") + ".log";
|
// //this.logFileName = EquipName + "_log" + DateTime.Now.ToString("yyyyMMdd") + ".log";
|
// }
|
|
// public int FileSize
|
// {
|
// set
|
// {
|
// fileSize = value;
|
// }
|
// get
|
// {
|
// return fileSize;
|
// }
|
// }
|
|
// public string FileLogPath { set; get; } //= AppContext.BaseDirectory + "\\log\\" + EquipName + "\\";
|
|
// public string LogFileName
|
// {
|
// set
|
// {
|
// this.logFileName = value;
|
// }
|
// get
|
// {
|
// return this.logFileName;
|
// }
|
// }
|
|
// object flag = new object();
|
|
// public void Write(string Message, string equipName)
|
// {
|
// lock (flag)
|
// {
|
// if (!string.IsNullOrEmpty(equipName))
|
// this.logFileName = equipName + "_log" + DateTime.Now.ToString("yyyyMMdd") + ".log";
|
// else
|
// this.logFileName = "log" + DateTime.Now.ToString("yyyyMMdd") + ".log";
|
// this.Write(this.logFileName, Message, equipName);
|
// }
|
// }
|
|
// public void Write(string LogFileName, string Message, string equipName)
|
// {
|
|
// //DirectoryInfo path=new DirectoryInfo(LogFileName);
|
// //如果日志文件目录不存在,则创建
|
// if (!Directory.Exists(this.FileLogPath))
|
// {
|
// Directory.CreateDirectory(this.FileLogPath);
|
// }
|
|
// FileInfo finfo = new FileInfo(this.FileLogPath + LogFileName);
|
// if (finfo.Exists && finfo.Length > fileSize)
|
// {
|
// finfo.Delete();
|
// }
|
// try
|
// {
|
// FileStream fs = new FileStream(this.FileLogPath + LogFileName, FileMode.Append);
|
// StreamWriter strwriter = new StreamWriter(fs);
|
// try
|
// {
|
|
// DateTime d = DateTime.Now;
|
// strwriter.WriteLine("时间:" + d.ToString());
|
// strwriter.WriteLine(Message);
|
// strwriter.WriteLine();
|
// strwriter.Flush();
|
// }
|
// catch (Exception)
|
// {
|
// //Console.WriteLine("日志文件写入失败信息:" + ee.ToString());
|
// }
|
// finally
|
// {
|
// strwriter.Close();
|
// strwriter = null;
|
// fs.Close();
|
// fs = null;
|
// }
|
// }
|
// catch (Exception)
|
// {
|
// //Console.WriteLine("日志文件没有打开,详细信息如下:");
|
// }
|
// }
|
//}
|
}
|