private void ConfigureChangeLogFilterNodes(NodeGraphConfiguration configuration, List <INode> nodes) { if (configuration.ChangeLogFilterNodes != null) { foreach (var changeLogFilterNodeConfiguration in configuration.ChangeLogFilterNodes) { var node = new ChangeLogFilterNode { Name = changeLogFilterNodeConfiguration.Name, Disabled = changeLogFilterNodeConfiguration.Disabled, OutputNode = changeLogFilterNodeConfiguration.OutputNode, MaximumLogLevel = changeLogFilterNodeConfiguration.MaximumLogLevel, LogTypes = changeLogFilterNodeConfiguration.LogTypes }; changeLogFilterNodeConfiguration.Node = node; nodes.Add(node); } } }
public ChangeLogFilterTile( DrawingElement drawing, ChangeLogFilterNode changeLogFilter, DashboardConfiguration.NodeConfiguration nodeConfiguration) : base( drawing, nodeConfiguration?.Title ?? "Log level", "logging", changeLogFilter.Offline, 2, changeLogFilter.Name) { _drawing = drawing; _changeLogFilter = changeLogFilter; LinkUrl = "/ui/node?name=" + changeLogFilter.Name; var details = new List <string>(); if (changeLogFilter.MaximumLogLevel == 0) { details.Add("Disable logging"); } else { details.Add($"Log level {changeLogFilter.MaximumLogLevel}"); if (changeLogFilter.LogTypes == null || changeLogFilter.LogTypes.Length == 0) { details.Add("All message types"); } else { details.AddRange(changeLogFilter.LogTypes.Select(t => "Log " + t.ToString())); } } AddDetails(details, null, changeLogFilter.Offline ? "disabled" : string.Empty); }