¶Ô±ÈÐÂÎļþ |
| | |
| | | using Newtonsoft.Json; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | |
| | | namespace WIDESEA_Core.Log |
| | | { |
| | | 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.WriteLine(); |
| | | strwriter.Flush(); |
| | | } |
| | | catch (Exception ee) |
| | | { |
| | | //Console.WriteLine("æ¥å¿æä»¶åå
¥å¤±è´¥ä¿¡æ¯:" + ee.ToString()); |
| | | } |
| | | finally |
| | | { |
| | | strwriter.Close(); |
| | | strwriter = null; |
| | | fs.Close(); |
| | | fs = null; |
| | | } |
| | | } |
| | | catch (Exception ee) |
| | | { |
| | | //Console.WriteLine("æ¥å¿æä»¶æ²¡ææå¼,详ç»ä¿¡æ¯å¦ä¸:"); |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// åå
¥æ¥å¿(ä¸è¦å¤çº¿ç¨æä½å䏿件ï¼ä¸ä¸ªè®¾å¤ä¸ä¸ªæä»¶å¤¹) |
| | | /// </summary> |
| | | /// <param name="groupName">æ¥å¿ç»</param> |
| | | /// <param name="logName">æ¥å¿åç§°</param> |
| | | /// <param name="content">å
容</param> |
| | | /// <param name="data">æ°æ®</param> |
| | | public static void Write_Log(string groupName, string logName, string content, object data = null) |
| | | { |
| | | DateTime nowTime = DateTime.Now; |
| | | string basePath = System.Environment.CurrentDirectory + "/Log/" + $"/{groupName}/{nowTime.ToString("yyyy-MM-dd")}"; |
| | | //妿æ¥å¿æä»¶ç®å½ä¸åå¨,åå建 |
| | | if (!Directory.Exists(basePath)) |
| | | { |
| | | Directory.CreateDirectory(basePath); |
| | | } |
| | | try |
| | | { |
| | | FileStream fs = new FileStream(basePath + "/" + logName + $"{nowTime.ToString("yyMMdd")}.txt", FileMode.Append); |
| | | StreamWriter strwriter = new StreamWriter(fs); |
| | | try |
| | | { |
| | | strwriter.WriteLine(nowTime.ToString() + "." + nowTime.Millisecond); |
| | | strwriter.WriteLine(content); |
| | | if (data != null) |
| | | { |
| | | strwriter.WriteLine(JsonConvert.SerializeObject(data)); |
| | | } |
| | | strwriter.WriteLine("-----------------------------------------------------"); |
| | | strwriter.WriteLine(); |
| | | strwriter.Flush(); |
| | | } |
| | | catch { } |
| | | finally |
| | | { |
| | | strwriter.Close(); |
| | | fs.Close(); |
| | | } |
| | | } |
| | | catch { } |
| | | } |
| | | } |
| | | } |