public ILogger Info(LoggerInfo info, string message, params object[] args) { if (Config.Enabled && Config.EnabledInfo) Write(info, LogType.Info, message, args); return this; }
public void WriteLog_Waring <T>(string Message, string timespan, string username, string clientguid, string clientname, Exception ex) where T : class { try { LoggerInfo info = new LoggerInfo(); info.TimeSpan = timespan; info.UserName = username; info.Message = Message; info.ClientGuid = clientguid; info.ClientName = clientname; _log = log4net.LogManager.GetLogger(typeof(T).Name.ToString()); _log.Warn(info, ex); } catch (Exception exe) { LoggerInfo info = new LoggerInfo(); info.TimeSpan = timespan; info.UserName = username; info.Message = Message; info.ClientGuid = clientguid; info.ClientName = clientname; _log = log4net.LogManager.GetLogger(typeof(T).Name.ToString()); _log.Error(info, exe); } }
public ILogger Exception(LoggerInfo info, string message, params object[] args) { if (Config.Enabled && Config.EnabledException) Write(info, LogType.Exception, message, args); return this; }
internal async void OnUpdate() { while (!Server.Instance.IsShutdown()) { ClockConstantController.Start("gui_outputUpdate"); ConcurrentQueue <LoggerInfo> queue = Server.Instance.Logger.GuiLoggerTexts; if (queue.Count == 0) { await Task.Delay(1000 / 200); continue; } else { LoggerInfo info = null; queue.TryDequeue(out info); if (this.CheckShowOutput(info.Level)) { if (!string.IsNullOrEmpty(info.Text)) { textBox1.AppendText(info.Text + Environment.NewLine); } } } await ClockConstantController.Stop("gui_outputUpdate"); } }
protected XDebugLogger _CreateLogger(LoggerInfo info) { var newInst = new XDebugLogger(); newInst.mute = !info.active; newInst.prefix = info.name; newInst.color = _ColorToHex(info.color); return(newInst); }
protected override void Write(LoggerInfo info, LogType type, string message, params object[] args) { Task.Factory.StartNew(() => { lock (LockObject) { using (StreamWriter write = File.AppendText(FileName)) { write.WriteLine(Formatter.Format(info, type, message, args)); } } }); }
private LoggerInfo ReadLastLines(FileTarget fileTarget) { var logEventInfo = new LogEventInfo { TimeStamp = DateTime.Now }; string fileName = fileTarget.FileName.Render(logEventInfo); if (!File.Exists(fileName)) { throw new Exception("Log file does not exist."); } string resultString = ""; int cntr = 1; using (var fs = File.OpenRead(fileName)) { while (resultString.Count(el => el == '\n') < mSettings.MetricsConfig.CountOfLogLines) { var offset = 1024 * cntr < fs.Length ? 1024 * cntr : fs.Length; var length = 1024 * cntr < fs.Length ? 1024 : fs.Length - 1024 * (cntr - 1); fs.Seek(-offset, SeekOrigin.End); var buf = new byte[length]; fs.Read(buf, 0, (int)length); resultString = Encoding.UTF8.GetString(buf) + resultString; cntr++; if (offset == fs.Length) { break; } } } var result = new LoggerInfo { Name = fileTarget.Name, FilePath = fileName, LastLogs = resultString.Substring(resultString.IndexOf('\n') + 1) .Replace("\r", "") .Split('\n') .Where(el => !string.IsNullOrEmpty(el)) .ToList() }; return(result); }
public string Format(LoggerInfo info, LogType type, string message, params object[] args) { StringBuilder result = new StringBuilder(); string messageComplete = string.Format(message, args); result.AppendLine(string.Format("{0} {1}: \t {2}", DateTime.Now, type, messageComplete)); if (info != null) { result.AppendLine(string.Format("\tFile:\t{0}", info.FileName)); result.AppendLine(string.Format("\tMethod:\t{0}", info.MemberName)); result.AppendLine(string.Format("\tLine:\t{0}", info.LineNumber)); } return result.ToString(); }
private LoggerInfo ParseLoggerLine(string line) { string[] args = line.Split(' '); if (args.Length == 4) { string[] path = args[3].Split('.'); if (path.Length < 2) { return(null); } string nameAndIndex = path.Last(); string sequence = path[path.Length - 2]; string packageName = args[1].Trim('(', ')'); if (Pcc == null || PccFileName.Equals(packageName, StringComparison.InvariantCultureIgnoreCase)) { if (int.TryParse(nameAndIndex.Substring(nameAndIndex.LastIndexOf('_') + 1), out int nameIndex)) { var newInfo = new LoggerInfo { fullLine = line, packageName = packageName, className = args[2], objectName = new NameReference(nameAndIndex.Substring(0, nameAndIndex.LastIndexOf('_')), nameIndex), sequenceName = sequence, }; if (Pcc != null && SequenceToFilterTo != null) { // This is wildly inefficient var referencedEntry = Pcc.Exports.FirstOrDefault(exp => exp.ClassName == newInfo.className && exp.ObjectName == newInfo.objectName && exp.ParentName == sequence); if (referencedEntry != null && referencedEntry.Parent.InstancedFullPath == SequenceToFilterTo.InstancedFullPath) { return(newInfo); } return(null); } return(newInfo); } } } return(null); }
private LoggerInfo ParseLoggerLine(string line) { string[] args = line.Split(' '); if (args.Length == 4) { string[] path = args[3].Split('.'); if (path.Length < 2) { return(null); } string nameAndIndex = path.Last(); string sequence = path[path.Length - 2]; string packageName = args[1].Trim('(', ')').ToLower(); if (Pcc == null || Path.GetFileNameWithoutExtension(Pcc.FilePath).ToLower() == packageName) { if (int.TryParse(nameAndIndex.Substring(nameAndIndex.LastIndexOf('_') + 1), out int nameIndex)) { var newInfo = new LoggerInfo { fullLine = line, packageName = packageName, className = args[2], objectName = new NameReference(nameAndIndex.Substring(0, nameAndIndex.LastIndexOf('_')), nameIndex), sequenceName = sequence, }; if (Pcc != null && SequenceToFilterTo != null) { var referencedEntry = Pcc.Exports.FirstOrDefault(exp => exp.ClassName == newInfo.className && exp.ObjectName == newInfo.objectName && exp.ParentName == sequence); if (referencedEntry != null && referencedEntry.Parent.InstancedFullPath == SequenceToFilterTo.InstancedFullPath) { return(newInfo); } return(null); } return(newInfo); } } } return(null); }
private static string CreateLoggerString(LoggerInfo loggerInfo) { return(CreateLoggerString(loggerInfo.Name, loggerInfo.Level.ToUpper(), loggerInfo.Appender, loggerInfo.Dir)); }
protected override void Write(LoggerInfo info, LogType type, string message, params object[] args) { }
protected abstract void Write(LoggerInfo info, LogType type, string message, params object[] args);
public ILogger Log(LoggerInfo info, LogType type, string message, params object[] args) { if (Config.Enabled) Write(info, type, message, args); return this; }
protected override void Write(LoggerInfo info, LogType type, string message, params object[] args) { Console.WriteLine(Formatter.Format(info, type, message, args)); }