Пример #1
0
        public HtmlDocument FullLog()
        {
            var table = new TableTag();

            table.AddHeaderRow(r =>
            {
                r.Header("Type");
                r.Header("Description");
                r.Header("Provenance");
                r.Header("Timing");
            });

            PackageRegistry.Diagnostics.EachLog((target, log) =>
            {
                table.AddBodyRow(row =>
                {
                    row.Cell(PackagingDiagnostics.GetTypeName(target));
                    row.Cell(target.ToString());
                    row.Cell(log.Provenance);
                    row.Cell(log.TimeInMilliseconds.ToString()).AddClass("execution-time");
                });

                if (log.FullTraceText().IsNotEmpty())
                {
                    table.AddBodyRow(row =>
                    {
                        row.Cell().Attr("colspan", "4").Add("pre").AddClass("log").Text(log.FullTraceText());
                        if (!log.Success)
                        {
                            row.AddClass("failure");
                        }
                    });
                }
            });

            var document = DiagnosticHtml.BuildDocument(_urls, "Full Package Loading Log", table);



            return(document);
        }
Пример #2
0
        public PackageDiagnosticsModel Get(PackageDiagnosticsRequestModel request)
        {
            // Might want to do some querying via json so let's flatten the logs - maybe map them?
            var logs = new List <PackageDiagnosticsLogModel>();

            // Nothing really gained here by mocking this so let's hit it directly
            PackageRegistry
            .Diagnostics
            .EachLog((target, log) => logs.Add(new PackageDiagnosticsLogModel
            {
                Type          = PackagingDiagnostics.GetTypeName(target),
                Description   = target.ToString(),
                Provenance    = log.Provenance,
                Timing        = log.TimeInMilliseconds.ToString(),
                FullTraceText = log.FullTraceText(),
                Success       = log.Success
            }));

            return(new PackageDiagnosticsModel
            {
                Logs = logs
            });
        }