Example #1
0
 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);
         }
     }
 }
Example #2
0
        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);
        }