private void Enqueue(LogNode log) { lock (locker) { logNodes.Enqueue(log); } }
private void FillDataGrid(DataTable table) { var users = Program.dataManager.GetUserNames(); if (table != null & table.Rows.Count > 0) { foreach (var tableRow in table.Rows) { LogNode node = new LogNode((DataRow)tableRow); int rowIndex = dataGridView1.Rows.Add(); var newRow = dataGridView1.Rows[rowIndex]; newRow.Cells["userID"].Value = users[node.userID.ToString()]; newRow.Cells["date"].Value = node.date; newRow.Cells["time"].Value = node.time; newRow.Cells["message"].Value = node.message; newRow.Cells["dataBaseQuery"].Value = node.dataBaseQuery; } } }
private string GetLogString(LogNode logNode) { Color32 color = GetLogStringColor(logNode.LogType); string hexColor = ColorUtility.ToHtmlStringRGB(color); return("<color=#" + hexColor + ">" + logNode.LogTime.ToString(dateTimeFormat) + logNode.LogMsg + "</color>"); }
/// <summary> /// set the parent for logger node /// </summary> /// <param name="parent">logger</param> public void WalkAndSetParent(Logger parent) { if (children == null) { return; } for (int i = 0; i <= children.Count - 1; i++) { try { LogNode node = (LogNode)children[i]; if (node.logger == null) { node.WalkAndSetParent(parent); } else { DoSetParent(node.logger, parent); } } catch { } } }
private static Function createLogFunction() { Declaration declaration = new Declaration("log(x)"); EvaluationNode node = new LogNode(); EvaluationTree tree = new EvaluationTree(node); return(new Function(declaration, tree)); }
private string GetLogString(LogNode logNode) { Color32 color = GetLogStringColor(logNode.LogType); return(Utility.Text.Format("<color=#{0}{1}{2}{3}>[{4}][{5}] {6}</color>", color.r.ToString("x2"), color.g.ToString("x2"), color.b.ToString("x2"), color.a.ToString("x2"), logNode.LogTime.ToString("HH:mm:ss.fff"), logNode.LogFrameCount.ToString(), logNode.LogMessage)); }
private void Clear() { lock (locker) { logNodes.Clear(); selectedNode = null; } }
private string GetLogString(LogNode logNode) { Color32 color = GetLogStringColor(logNode.LogType); return(string.Format("<color=#{0}{1}{2}{3}>{4}{5}</color>", color.r.ToString("x2"), color.g.ToString("x2"), color.b.ToString("x2"), color.a.ToString("x2"), logNode.LogTime.ToString(m_DateTimeFormat), logNode.LogMessage)); }
public void GetExtraOrderInfo(string orderId, LogNode parentNode = null) { LogNode onlinePaysLog = null; if (parentNode != null) { onlinePaysLog = parentNode.AddSubNode("Online payments:"); } else { onlinePaysLog = LogNode.Create("Online payments:"); } List <OnlinePayment> onlinePays = this.Ctx.OnlinePayment.Where(op => op.ObjectId == orderId).ToList(); foreach (OnlinePayment olPay in onlinePays) { LogNode olPayLog = onlinePaysLog.AddSubNode("Online payment € {0}", olPay.Amount); olPayLog.AddItem("Created at: {0} - Updated at: {1}", olPay.CreatedAt.ToString(), olPay.UpdatedAt.ToString()); if (!string.IsNullOrWhiteSpace(olPay.FinalAutoResponse)) { LogNode finalAutoResponseLog = olPayLog.AddSubNode("FinalAutoResponse"); WorldlinePayment worldline = new WorldlinePayment(WorldlinePaymentType.Acquirer, olPay.FinalAutoResponse); //string codeInfo = worldline.ResponseCodeInfo; finalAutoResponseLog.AddItem("Response code: {0} = {1}", worldline.ResponseCode, worldline.ResponseCodeInfo); finalAutoResponseLog.AddItem("TransactionDateTime: {0}", worldline.TransactionDateTime); finalAutoResponseLog.AddItem("PaymentMeanBrand: {0}", worldline.PaymentMeanBrand); } else { olPayLog.AddSubNode("No autoresponse available!"); } } /* * LogNode orderLog = LogNode.Create("Order id='{0}'", this.Id); * * LogNode orderLog = LogNode.Create("Info about order"); * * * OrderSvc orderSvc = new OrderSvc(); * * Order order = orderSvc.GetOrder(orderId, this.Ctx); * * if (order.OrderLines != null) * { * foreach (var orderLine in order.OrderLines) * { * orderLog.AddSubNode("{0} x {1}", orderLine.Quantity, orderLine.Description); * } * } */ }
/// <summary> /// 创建日志记录结点。 /// </summary> /// <param name="logType">日志类型。</param> /// <param name="logMessage">日志内容。</param> /// <param name="stackTrack">日志堆栈信息。</param> /// <returns>创建的日志记录结点。</returns> public static LogNode Create(LogType logType, string logMessage, string stackTrack) { LogNode logNode = ReferencePool.Acquire <LogNode>(); logNode.m_LogTime = DateTime.Now; logNode.m_LogType = logType; logNode.m_LogMessage = logMessage; logNode.m_StackTrack = stackTrack; return(logNode); }
private void OnLogMessageReceived(string logMsg, string stackTrace, LogType logtype) { if (logtype == LogType.Assert || logtype == LogType.Exception) { logtype = LogType.Error; } LogNode log = new LogNode().Fill(logtype, logMsg, stackTrace); Enqueue(log); }
private void Log(LogNode node) { try { dataBase.ExecuteCommand(node.ToDataBaseCommand()); Console.WriteLine("LogManaget log successful " + node.ToDataBaseCommand()); } catch (Exception ex) { Console.WriteLine("LogManager Exception: \n" + node.ToDataBaseCommand() + "\n" + ex.ToString()); } }
public static void LogReportUpdate(int userID, int reportID, string dataBaseQuery) { LogNode node = new LogNode { userID = userID, tableName = "Reports", itemID = reportID, message = "Редактирование отчета", dataBaseQuery = dataBaseQuery, }; Instance.Log(node); }
public static void LogPurchaseUpdate(int userId, int purchaseID, string dataBaseQuery) { LogNode node = new LogNode { userID = userId, tableName = "Purchases", itemID = purchaseID, message = "Редактирование закупки", dataBaseQuery = dataBaseQuery, }; Instance.Log(node); }
public static void LogOrganisationUpdate(int userId, int organisationID, string dataBaseQuery) { LogNode node = new LogNode { userID = userId, tableName = "Organisations", itemID = organisationID, message = "Редактирование организации", dataBaseQuery = dataBaseQuery, }; Instance.Log(node); }
private void OnLogMessageReceived(string logMessage, string stackTrace, LogType logType) { if (logType == LogType.Assert) { logType = LogType.Error; } m_LogNodes.Enqueue(LogNode.Create(logType, logMessage, stackTrace)); while (m_LogNodes.Count > m_MaxLine) { ReferencePool.Release(m_LogNodes.Dequeue()); } }
private DataBaseManager dataBase; //БД для хранения логов. Она отделена от основной БД public static void LogPurchaseAdding(int userId, int purchaseID, string dataBaseQuery) { //залогировать добавление новой закупки LogNode node = new LogNode { userID = userId, tableName = "Purchases", itemID = purchaseID, message = "Создание закупки", dataBaseQuery = dataBaseQuery, }; Instance.Log(node); }
/// <summary> /// Find the available node /// </summary> /// <param name="name">name of the node</param> /// <returns>LogNode</returns> private LogNode FindNode(String name) { if (name == null || name.Equals("")) { return(root); } LogNode node = root; while (name.Length > 0) { int ix = name.IndexOf("."); String head; if (ix > 0) { head = name.Substring(0, ix); name = name.Substring(ix + 1); } else { head = name; name = ""; } if (node.children == null) { node.children = new Dictionary <Object, Object>(); } LogNode child = null; if (node.children.ContainsKey(head)) { child = (LogNode)node.children[head]; } if (child == null) { child = new LogNode(node); if (node.children.ContainsKey(head)) { node.children[head] = child; } else { node.children.Add(head, child); } } node = child; } return(node); }
private void OnLogMessageReceived(string logMsg, string stackTrace, LogType logtype) { if (logtype == LogType.Assert) { logtype = LogType.Error; } logNodes.Enqueue(Pool <LogNode> .Instance.Allocate().Fill(logtype, logMsg, stackTrace)); while (logNodes.Count > maxLine) { if (selectedNode == logNodes.Peek()) { selectedNode = null; } Pool <LogNode> .Instance.Recycle(logNodes.Dequeue()); } }
static public GraphNodeExample Create(NodeType type) { GraphNodeExample node = null; switch (type) { case NodeType.Start: node = new StartNode(); break; case NodeType.String: node = new StringNode(); break; case NodeType.Log: node = new LogNode(); break; } return(node); }
public Word Visit(LogNode logNode) { var result = logNode.Expr.Accept(this); if (IsError(result)) { return(ErrorFactory.LogError(logNode.Expr, result)); } PyObj pyObj; if (IsMemoryBlock(result))//comentar ese if else si se hace la desereferencia en atomic expr. { pyObj = ((MemoryBlock)result).Value; } else { pyObj = (PyObj)result; } RuntimeEnvironment.Console.Instance.PrintLine(pyObj); return(null); }
private static string GetLogString(LogNode logNode) { string logString = null; switch (logNode.LogType) { case LogType.Log: case LogType.Warning: logString = string.Format("{0} {1} {2}", logNode.LogType.ToString(), logNode.LogTime.ToString(m_DateTimeFormat), logNode.LogMessage); break; case LogType.Assert: case LogType.Error: case LogType.Exception: default: logString = string.Format("{0} {1} {2} {3}", logNode.LogType.ToString(), logNode.LogTime.ToString(m_DateTimeFormat), logNode.LogMessage, logNode.StackTrack); break; } return(logString); }
public void OnDraw() { RefreshCount(); GUILayout.BeginHorizontal(); { if (GUILayout.Button("Clear All")) { Clear(); } lockScroll = GUILayout.Toggle(lockScroll, "Lock Scroll"); GUILayout.FlexibleSpace(); logFilter = GUILayout.Toggle(logFilter, "Info (" + logCount + ")"); warningFilter = GUILayout.Toggle(warningFilter, "Warning (" + warningCount + ")"); errorFilter = GUILayout.Toggle(errorFilter, "Error (" + errorCount + ")"); exceptionFilter = GUILayout.Toggle(exceptionFilter, "Exception (" + exceptionCount + ")"); } GUILayout.EndHorizontal(); GUILayout.BeginVertical("box"); { if (lockScroll) { logScrollPosition.y = float.MaxValue; } logScrollPosition = GUILayout.BeginScrollView(logScrollPosition); { foreach (LogNode logNode in logNodes) { switch (logNode.LogType) { case LogType.Log: if (!logFilter) { continue; } break; case LogType.Warning: if (!warningFilter) { continue; } break; case LogType.Error: if (!errorFilter) { continue; } break; case LogType.Exception: if (!exceptionFilter) { continue; } break; } if (GUILayout.Toggle(selectedNode == logNode, GetLogString(logNode))) { if (selectedNode != logNode) { selectedNode = logNode; stackTraceScrollPosition = Vector2.zero; } } } } GUILayout.EndScrollView(); } GUILayout.EndVertical(); GUILayout.BeginVertical("box"); { stackTraceScrollPosition = GUILayout.BeginScrollView(stackTraceScrollPosition, GUILayout.Height(100f)); { if (selectedNode != null) { GUILayout.BeginHorizontal(); GUILayout.Label(selectedNode.LogMsg); if (GUILayout.Button("Copy", GUILayout.Width(60f), GUILayout.Height(30f))) { TextEditor textEditor = new TextEditor { text = selectedNode.LogMsg + "\n" + selectedNode.StackTrace }; textEditor.OnFocus(); textEditor.Copy(); } GUILayout.EndHorizontal(); GUILayout.Label(selectedNode.StackTrace); } GUILayout.EndScrollView(); } } GUILayout.EndVertical(); }
public void OnDraw() { if (Event.current.type == EventType.Layout) { tempLogNodes = new List <LogNode>(ToArray(logNodes)); RefreshCount(); } GUILayout.BeginHorizontal(); { if (GUILayout.Button("Clear All", GUILayout.Height(30f), GUILayout.Width(100f))) { Clear(); } lockScroll = GUILayout.Toggle(lockScroll, "Lock Scroll", GUILayout.Height(30f)); GUILayout.FlexibleSpace(); logFilter = GUILayout.Toggle(logFilter, "Info (" + logCount + ")", GUILayout.Height(30f)); if (!logFilter) { } warningFilter = GUILayout.Toggle(warningFilter, "Warning (" + warningCount + ")", GUILayout.Height(30f)); errorFilter = GUILayout.Toggle(errorFilter, "Error (" + errorCount + ")", GUILayout.Height(30f)); } GUILayout.EndHorizontal(); if (!logFilter || !warningFilter || !errorFilter) { List <LogNode> tempFilterLogs = tempLogNodes; for (int i = tempFilterLogs.Count - 1; i >= 0; i--) { switch (tempFilterLogs[i].LogType) { case LogType.Log: if (!logFilter) { tempFilterLogs.Remove(tempFilterLogs[i]); } break; case LogType.Warning: if (!warningFilter) { tempFilterLogs.Remove(tempFilterLogs[i]); } break; case LogType.Error: if (!errorFilter) { tempFilterLogs.Remove(tempFilterLogs[i]); } break; } } tempLogNodes = tempFilterLogs; } GUILayout.BeginVertical("box"); { if (lockScroll) { logScrollPosition.y = tempLogNodes.Count * logHeight; } logScrollPosition = GUILayout.BeginScrollView(logScrollPosition); { int maxLine = 20; if (maxLine > tempLogNodes.Count) { maxLine = tempLogNodes.Count; } int logIndex = (int)logScrollPosition.y / logHeight; logIndex = Mathf.Clamp(logIndex, 0, tempLogNodes.Count - maxLine); for (int i = 0; i < logIndex; i++) { GUILayout.Space(logHeight); } for (int i = logIndex; i < logIndex + maxLine; i++) { LogNode logNode = tempLogNodes[i]; bool isSelected = GUILayout.Toggle(selectedNode == logNode, GetLogString(logNode), GUILayout.Height(logHeight)); if (isSelected && selectedNode != logNode) { selectedNode = logNode; lockScroll = false; stackTraceScrollPosition = Vector2.zero; } } for (int i = logIndex + maxLine; i < tempLogNodes.Count; i++) { GUILayout.Space(logHeight); } } GUILayout.EndScrollView(); } GUILayout.EndVertical(); if (selectedNode != null) { GUILayout.BeginVertical("box", GUILayout.Height(100)); stackTraceScrollPosition = GUILayout.BeginScrollView(stackTraceScrollPosition); GUILayout.Label(selectedNode.LogMsg + "\n" + selectedNode.StackTrace); GUILayout.EndScrollView(); GUILayout.EndVertical(); } }
async Task <IInstanceNode> BuildNode(ScriptLanguage?language, NodeData node, Guid?nodeid = null) { nodeid ??= Guid.NewGuid(); IInstanceNode instance; switch (node.Type) { case NodeType.Start: instance = new StartNode(nodeid.Value, node.Name, node.Parameters.Deserialize <StartParameters>(), compiler); break; case NodeType.Expression: ExecuteExpressionParameters parameters = node.Parameters.Deserialize <ExecuteExpressionParameters>(); instance = new ExpressionNode(nodeid.Value, node.Name, await compiler.CompileCodeAsync(parameters.Code, parameters.Language)); break; case NodeType.Script: instance = new ScriptNode(nodeid.Value, node.Name, node.Parameters.Deserialize <CallWorkableParameters>(), compiler, language); break; case NodeType.Workflow: instance = new WorkflowInstanceNode(nodeid.Value, node.Name, node.Parameters.Deserialize <CallWorkableParameters>(), compiler, language); break; case NodeType.BinaryOperation: BinaryOpParameters binparameters = node.Parameters.Deserialize <BinaryOpParameters>(); instance = new BinaryNode(nodeid.Value, node.Name, binparameters, compiler); break; case NodeType.Value: ValueParameters valueparameters = node.Parameters.Deserialize <ValueParameters>(); instance = new ValueNode(nodeid.Value, node.Name, valueparameters.Value, compiler); break; case NodeType.Suspend: instance = new SuspendNode(nodeid.Value, node.Name, node.Parameters.Deserialize <SuspendParameters>()); break; case NodeType.Call: instance = new CallNode(nodeid.Value, node.Name, node.Parameters.Deserialize <CallParameters>(), compiler); break; case NodeType.Iterator: instance = new IteratorNode(nodeid.Value, node.Name, node.Parameters.Deserialize <IteratorParameters>(), compiler); break; case NodeType.Log: instance = new LogNode(nodeid.Value, node.Name, compiler, node.Parameters.Deserialize <LogParameters>()); break; default: instance = new InstanceNode(nodeid.Value, node.Name); break; } if (!string.IsNullOrEmpty(node.Variable)) { instance = new AssignStateNode(instance, node.Variable, node.VariableOperation, compiler); } return(instance); }
public void OnDraw() { RefreshCount(); GUILayout.BeginHorizontal(); { if (GUILayout.Button("Clear All", GUILayout.Width(100f))) { Clear(); } m_LockScroll = GUILayout.Toggle(m_LockScroll, "Lock Scroll", GUILayout.Width(90f)); GUILayout.FlexibleSpace(); m_InfoFilter = GUILayout.Toggle(m_InfoFilter, Utility.Text.Format("Info ({0})", m_InfoCount.ToString()), GUILayout.Width(90f)); m_WarningFilter = GUILayout.Toggle(m_WarningFilter, Utility.Text.Format("Warning ({0})", m_WarningCount.ToString()), GUILayout.Width(90f)); m_ErrorFilter = GUILayout.Toggle(m_ErrorFilter, Utility.Text.Format("Error ({0})", m_ErrorCount.ToString()), GUILayout.Width(90f)); m_FatalFilter = GUILayout.Toggle(m_FatalFilter, Utility.Text.Format("Fatal ({0})", m_FatalCount.ToString()), GUILayout.Width(90f)); } GUILayout.EndHorizontal(); GUILayout.BeginVertical("box"); { if (m_LockScroll) { m_LogScrollPosition.y = float.MaxValue; } m_LogScrollPosition = GUILayout.BeginScrollView(m_LogScrollPosition); { bool selected = false; foreach (LogNode logNode in m_LogNodes) { switch (logNode.LogType) { case LogType.Log: if (!m_InfoFilter) { continue; } break; case LogType.Warning: if (!m_WarningFilter) { continue; } break; case LogType.Error: if (!m_ErrorFilter) { continue; } break; case LogType.Exception: if (!m_FatalFilter) { continue; } break; } if (GUILayout.Toggle(m_SelectedNode == logNode, GetLogString(logNode))) { selected = true; if (m_SelectedNode != logNode) { m_SelectedNode = logNode; m_StackScrollPosition = Vector2.zero; } } } if (!selected) { m_SelectedNode = null; } } GUILayout.EndScrollView(); } GUILayout.EndVertical(); GUILayout.BeginVertical("box"); { m_StackScrollPosition = GUILayout.BeginScrollView(m_StackScrollPosition, GUILayout.Height(100f)); { if (m_SelectedNode != null) { GUILayout.BeginHorizontal(); Color32 color = GetLogStringColor(m_SelectedNode.LogType); GUILayout.Label(Utility.Text.Format("<color=#{0}{1}{2}{3}><b>{4}</b></color>", color.r.ToString("x2"), color.g.ToString("x2"), color.b.ToString("x2"), color.a.ToString("x2"), m_SelectedNode.LogMessage)); if (GUILayout.Button("COPY", GUILayout.Width(60f), GUILayout.Height(30f))) { TextEditor textEditor = new TextEditor(); textEditor.text = Utility.Text.Format("{0}\n\n{1}", m_SelectedNode.LogMessage, m_SelectedNode.StackTrack); textEditor.OnFocus(); textEditor.Copy(); } GUILayout.EndHorizontal(); GUILayout.Label(m_SelectedNode.StackTrack); } GUILayout.EndScrollView(); } } GUILayout.EndVertical(); }
public HashSet <string> variables; //the set of each variable public RootNode(LogNode nx, HashSet <string> varis) //constructor. never intended to have a RootNode with out a child hence no defualt constructor also should have a path to a ValNode to be a proper and useful logcal tree. { variables = varis; next = nx; }
public IfNode(LogNode R, LogNode L)//constructor. must have a left and right child. { leftNode = L; rightNode = R; }
public ParNode(LogNode R) { rightNode = R; }
public NotNode(LogNode R)//cannot exist without a value to operate on { rightNode = R; }