using Aitex.Core.RT.SCCore; using System; using System.Linq; using MECF.Framework.Common.Equipment; using System.Text; namespace Aitex.Core.RT.Log { public static class LOG { public enum Level { Undefine, Debug, Info, Warning, Error } public static ICommonLog InnerLogger { set; private get; } private static void Debug(string message) { if (InnerLogger != null && SC.GetValue("System.IsOpenDebugLog") ==true) InnerLogger.Debug(message); } private static void Info(string message) { if (InnerLogger != null) InnerLogger.Info(message); } private static void Warning(string message) { if (InnerLogger != null) InnerLogger.Warning(message); } private static void Error(string message) { if (InnerLogger != null) InnerLogger.Error(message); } public static void Write(eEvent id, string module, params string[] values) { Write(id, ModuleHelper.Converter(module), values); } public static void WriteExeption(Exception ex) { Write(eEvent.ERR_EXCEPTION, ModuleName.System, ex.Message); } public static void WriteExeption(string prefix, Exception ex) { Write(eEvent.ERR_EXCEPTION, ModuleName.System, prefix + ex.Message); } public static void Write(eEvent id, ModuleName module, params string[] values) { var logItem= LogDefineManager.LogItems?.Where(x => x.Id == id).FirstOrDefault(); if (logItem != null) { //var item= ((int)logItem.Id).ToString().PadLeft(10); //var item1 = module.ToString().PadLeft(12); //var item = string.Format(logItem.GlobalDescription_zh, values); StringBuilder text = new StringBuilder(); text.Append(((int)logItem.Id).ToString().PadLeft(6)); text.Append(module.ToString().PadLeft(8)); text.Append(" "); text.Append(string.Format(logItem.GlobalDescription_zh, values)); //var count = item.Length + item1.Length; //string message = ((int)logItem.Id).ToString().PadLeft(10)+ module.ToString().PadLeft(12) +string.Format(logItem.GlobalDescription_zh, values); string message = text.ToString(); //test += (message + "\r\n"); Level level = Level.Undefine; Enum.TryParse(logItem.Level, out level); switch (level) { case Level.Debug: Debug(message); break; case Level.Info: Info(message); break; case Level.Warning: Warning(message); break; case Level.Error: Error(message); break; default: break; } } } } }