private void ConfigureCustomLogNodes(NodeGraphConfiguration configuration, List <INode> nodes) { if (configuration.CustomLogNodes != null) { foreach (var customLogConfiguration in configuration.CustomLogNodes) { var node = new CustomLogNode { Name = customLogConfiguration.Name, Disabled = customLogConfiguration.Disabled, OutputNode = customLogConfiguration.OutputNode, Methods = customLogConfiguration.Methods, StatusCodes = customLogConfiguration.StatusCodes, Directory = customLogConfiguration.Directory, FileNamePrefix = customLogConfiguration.FileNamePrefix, MaximumLogFileAge = customLogConfiguration.MaximumLogFileAge, MaximumLogFileSize = customLogConfiguration.MaximumLogFileSize, Detailed = customLogConfiguration.Detailed, ContentType = customLogConfiguration.ContentType, }; customLogConfiguration.Node = node; nodes.Add(node); } } }
public CustomLogTile( DrawingElement drawing, CustomLogNode customLog, DashboardConfiguration.NodeConfiguration nodeConfiguration) : base( drawing, nodeConfiguration?.Title ?? "Custom log", "logging", customLog.Offline, 2, customLog.Name) { _drawing = drawing; _customLog = customLog; LinkUrl = "/ui/node?name=" + customLog.Name; var details = new List <string> { $"Path {customLog.Directory}{customLog.FileNamePrefix}*.txt", $"Keep for {customLog.MaximumLogFileAge}", $"Format {customLog.ContentType}", }; details.Add(customLog.Detailed ? "Multiple lines" : "Single line"); if (customLog.Methods != null && customLog.Methods.Length > 0) { details.AddRange(customLog.Methods.Select(m => "Log " + m + " requests")); } else { details.Add("Log all requests"); } if (customLog.StatusCodes != null && customLog.StatusCodes.Length > 0) { details.AddRange(customLog.StatusCodes.Select(s => "Log " + s + " responses")); } else { details.Add("Log all responses"); } AddDetails(details, null, customLog.Offline ? "disabled" : string.Empty); }