Skip to content

Commit fc06a3b

Browse files
authored
chore: drop phase from logger output (#9387)
* chore: drop Phrase from output * fix tests
1 parent 1d7b96c commit fc06a3b

File tree

21 files changed

+121
-240
lines changed

21 files changed

+121
-240
lines changed

src/Docfx.Common/Loggers/ILogItem.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ public interface ILogItem
77
{
88
LogLevel LogLevel { get; }
99
string Message { get; }
10-
string Phase { get; }
1110
string File { get; }
1211
string Line { get; }
1312
string Code { get; }

src/Docfx.Common/Loggers/Logger.cs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,6 @@ public static void Log(LogLevel level, string message, string phase = null, stri
9494
LogLevel = level,
9595
Message = message,
9696
Code = code,
97-
Phase = phase ?? LoggerPhaseScope.GetPhaseName(),
9897
});
9998
}
10099

@@ -107,7 +106,6 @@ public static ILogItem GetLogItem(LogLevel level, string message, string phase =
107106
LogLevel = level,
108107
Message = message,
109108
Code = code,
110-
Phase = phase ?? LoggerPhaseScope.GetPhaseName(),
111109
};
112110
}
113111

@@ -172,7 +170,7 @@ public static void PrintSummary()
172170
ConsoleUtility.WriteLine($" {_errorCount} error(s)\n", _errorCount > 0 ? ConsoleColor.Red : ConsoleColor.White);
173171
}
174172

175-
private class LogItem : ILogItem
173+
private class LogItem : ILogItem
176174
{
177175
public string File { get; set; }
178176

@@ -182,8 +180,6 @@ private class LogItem : ILogItem
182180

183181
public string Message { get; set; }
184182

185-
public string Phase { get; set; }
186-
187183
public string Code { get; set; }
188184
}
189185
}

src/Docfx.Common/Loggers/ReportLogListener.cs

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ public void WriteLine(ILogItem item)
3232

3333
var level = item.LogLevel;
3434
var message = item.Message;
35-
var phase = item.Phase;
3635
var file = item.File;
3736
var line = item.Line;
3837
if (level < LogLevelThreshold) return;
@@ -41,7 +40,6 @@ public void WriteLine(ILogItem item)
4140
{
4241
Severity = GetSeverity(level),
4342
Message = message,
44-
Source = phase,
4543
File = TransformFile(file),
4644
Line = line,
4745
DateTime = DateTime.UtcNow,
@@ -105,10 +103,6 @@ public class ReportItem
105103
[JsonPropertyName("message")]
106104
public string Message { get; set; }
107105

108-
[JsonProperty("source")]
109-
[JsonPropertyName("source")]
110-
public string Source { get; set; }
111-
112106
[JsonProperty("file")]
113107
[JsonPropertyName("file")]
114108
public string File { get; set; }

test/Docfx.Build.ManagedReference.Tests/ManagedReferenceDocumentProcessorTest.cs

Lines changed: 27 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -218,32 +218,24 @@ public void ProcessMrefWithInvalidCrossReferenceShouldWarn()
218218
files.Add(DocumentType.Article, new[] { "TestData/mref/System.String.yml" }, "TestData/");
219219
files.Add(DocumentType.Overwrite, new[] { "TestData/overwrite/mref.overwrite.invalid.ref.md" });
220220

221-
var listener = TestLoggerListener.CreateLoggerListenerWithPhaseStartFilter(nameof(ProcessMrefWithInvalidCrossReferenceShouldWarn), LogLevel.Info);
222-
try
223-
{
224-
Logger.RegisterListener(listener);
221+
using var listener = new TestListenerScope(LogLevel.Info);
225222

226-
using (new LoggerPhaseScope(nameof(ProcessMrefWithInvalidCrossReferenceShouldWarn)))
227-
{
228-
BuildDocument(files);
229-
}
230-
231-
var warnings = listener.GetItemsByLogLevel(LogLevel.Warning);
232-
Assert.Single(warnings);
233-
var warning = warnings.Single();
234-
Assert.Equal("2 invalid cross reference(s) \"<xref:invalidXref1>\", \"<xref:invalidXref2>\".", warning.Message);
235-
Assert.Equal("TestData/mref/System.String.yml", warning.File);
236-
237-
var infos = listener.GetItemsByLogLevel(LogLevel.Info).Where(i => i.Message.Contains("Details for invalid cross reference(s)")).ToList();
238-
Assert.Single(infos);
239-
Assert.Equal("Details for invalid cross reference(s): \"<xref:invalidXref1>\" in line 6, \"<xref:invalidXref2>\" in line 8", infos[0].Message);
240-
Assert.Equal("TestData/overwrite/mref.overwrite.invalid.ref.md", infos[0].File);
241-
Assert.Null(infos[0].Line);
242-
}
243-
finally
223+
using (new LoggerPhaseScope(nameof(ProcessMrefWithInvalidCrossReferenceShouldWarn)))
244224
{
245-
Logger.UnregisterListener(listener);
225+
BuildDocument(files);
246226
}
227+
228+
var warnings = listener.GetItemsByLogLevel(LogLevel.Warning);
229+
Assert.Single(warnings);
230+
var warning = warnings.Single();
231+
Assert.Equal("2 invalid cross reference(s) \"<xref:invalidXref1>\", \"<xref:invalidXref2>\".", warning.Message);
232+
Assert.Equal("TestData/mref/System.String.yml", warning.File);
233+
234+
var infos = listener.GetItemsByLogLevel(LogLevel.Info).Where(i => i.Message.Contains("Details for invalid cross reference(s)")).ToList();
235+
Assert.Single(infos);
236+
Assert.Equal("Details for invalid cross reference(s): \"<xref:invalidXref1>\" in line 6, \"<xref:invalidXref2>\" in line 8", infos[0].Message);
237+
Assert.Equal("TestData/overwrite/mref.overwrite.invalid.ref.md", infos[0].File);
238+
Assert.Null(infos[0].Line);
247239
}
248240

249241
[Fact]
@@ -308,29 +300,21 @@ public void LoadArticleWithEmptyFileShouldWarnAndReturnNull()
308300
var file = new FileAndType(Directory.GetCurrentDirectory(), fileWithNoContent, DocumentType.Article);
309301
var processor = new ManagedReferenceDocumentProcessor();
310302

311-
var listener = TestLoggerListener.CreateLoggerListenerWithPhaseStartFilter(nameof(LoadArticleWithEmptyFileShouldWarnAndReturnNull), LogLevel.Info);
312-
try
313-
{
314-
Logger.RegisterListener(listener);
303+
using var listener = new TestListenerScope();
315304

316-
FileModel actualFileModel;
317-
using (new LoggerPhaseScope(nameof(LoadArticleWithEmptyFileShouldWarnAndReturnNull)))
318-
{
319-
actualFileModel = processor.Load(file, null);
320-
}
321-
322-
var warnings = listener.GetItemsByLogLevel(LogLevel.Warning);
323-
Assert.Single(warnings);
324-
var warning = warnings.Single();
325-
Assert.Equal("Please add `YamlMime` as the first line of file, e.g.: `### YamlMime:ManagedReference`, otherwise the file will be not treated as ManagedReference source file in near future.", warning.Message);
326-
Assert.Equal(fileWithNoContent, warning.File);
327-
328-
Assert.Null(actualFileModel);
329-
}
330-
finally
305+
FileModel actualFileModel;
306+
using (new LoggerPhaseScope(nameof(LoadArticleWithEmptyFileShouldWarnAndReturnNull)))
331307
{
332-
Logger.UnregisterListener(listener);
308+
actualFileModel = processor.Load(file, null);
333309
}
310+
311+
var warnings = listener.GetItemsByLogLevel(LogLevel.Warning);
312+
Assert.Single(warnings);
313+
var warning = warnings.Single();
314+
Assert.Equal("Please add `YamlMime` as the first line of file, e.g.: `### YamlMime:ManagedReference`, otherwise the file will be not treated as ManagedReference source file in near future.", warning.Message);
315+
Assert.Equal(fileWithNoContent, warning.File);
316+
317+
Assert.Null(actualFileModel);
334318
}
335319

336320
private void BuildDocument(FileCollection files)

test/Docfx.Build.OverwriteDocuments.Tests/OverwriteDocumentModelCreatorTest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ namespace Docfx.Build.OverwriteDocuments.Tests;
1212

1313
public class OverwriteDocumentModelCreatorTest
1414
{
15-
private readonly TestLoggerListener _listener = TestLoggerListener.CreateLoggerListenerWithPhaseEqualFilter("overwrite_document_model_creator");
15+
private readonly TestLoggerListener _listener = new();
1616

1717
[Fact]
1818
public void YamlCodeBlockTest()

test/Docfx.Build.RestApi.Tests/RestApiDocumentProcessorTest.cs

Lines changed: 37 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -282,54 +282,47 @@ public void ProcessSwaggerWithSimpleOverwriteShouldSucceed()
282282
[Fact]
283283
public void ProcessSwaggerWithInvalidLinksOverwriteShouldSucceedWithWarning()
284284
{
285-
const string phaseName = "ProcessSwaggerWithInvalidLinksOverwriteShouldSucceedWithWarning";
286-
var listener = TestLoggerListener.CreateLoggerListenerWithPhaseStartFilter(phaseName);
287-
Logger.RegisterListener(listener);
285+
using var listener = new TestListenerScope();
288286

289-
using (new LoggerPhaseScope(phaseName))
290-
{
291-
var files = new FileCollection(_defaultFiles);
292-
files.Add(DocumentType.Article, new[] { "TestData/swagger/tag_swagger2.json" }, "TestData/");
293-
files.Add(DocumentType.Overwrite, new[] { "TestData/overwrite/rest.overwrite.invalid.links.first.md" });
294-
files.Add(DocumentType.Overwrite, new[] { "TestData/overwrite/rest.overwrite.invalid.links.second.md" });
295-
BuildDocument(files);
287+
var files = new FileCollection(_defaultFiles);
288+
files.Add(DocumentType.Article, new[] { "TestData/swagger/tag_swagger2.json" }, "TestData/");
289+
files.Add(DocumentType.Overwrite, new[] { "TestData/overwrite/rest.overwrite.invalid.links.first.md" });
290+
files.Add(DocumentType.Overwrite, new[] { "TestData/overwrite/rest.overwrite.invalid.links.second.md" });
291+
BuildDocument(files);
296292

297-
Assert.Equal(7, listener.Items.Count); // Additional warning for "There is no template processing document type(s): RestApi"
293+
Assert.Equal(7, listener.Items.Count); // Additional warning for "There is no template processing document type(s): RestApi"
298294

299-
var outputRawModelPath = GetRawModelFilePath("contacts.json");
300-
Assert.True(File.Exists(outputRawModelPath));
301-
var model = JsonUtility.Deserialize<RestApiRootItemViewModel>(outputRawModelPath);
302-
303-
var warningsForLinkA = listener.Items.Where(i => i.Message == "Invalid file link:(~/TestData/overwrite/a.md).").ToList();
304-
Assert.Equal(
305-
"<p sourcefile=\"TestData/overwrite/rest.overwrite.invalid.links.first.md\" sourcestartlinenumber=\"13\">Remarks content <a href=\"b.md\" sourcefile=\"TestData/overwrite/rest.overwrite.invalid.links.first.md\" sourcestartlinenumber=\"13\">remarks</a></p>",
306-
model.Remarks.Trim());
307-
Assert.Equal("6", warningsForLinkA.Single(i => i.File == "TestData/overwrite/rest.overwrite.invalid.links.first.md").Line);
308-
309-
Assert.Equal(
310-
"<p sourcefile=\"TestData/overwrite/rest.overwrite.invalid.links.first.md\" sourcestartlinenumber=\"6\">Summary content <a href=\"a.md\" sourcefile=\"TestData/overwrite/rest.overwrite.invalid.links.first.md\" sourcestartlinenumber=\"6\">summary</a></p>",
311-
model.Summary.Trim());
312-
var summaryLink = listener.Items.Single(i => i.Message == "Invalid file link:(~/TestData/overwrite/b.md).");
313-
Assert.Equal("TestData/overwrite/rest.overwrite.invalid.links.first.md", summaryLink.File);
314-
315-
var warningsForLinkAForSecond = warningsForLinkA.Where(i => i.File == "TestData/overwrite/rest.overwrite.invalid.links.second.md").ToList();
316-
Assert.Equal(
317-
"<p sourcefile=\"TestData/overwrite/rest.overwrite.invalid.links.second.md\" sourcestartlinenumber=\"5\">Conceptual content <a href=\"a.md\" sourcefile=\"TestData/overwrite/rest.overwrite.invalid.links.second.md\" sourcestartlinenumber=\"5\">Conceptual</a></p>\n<p sourcefile=\"TestData/overwrite/rest.overwrite.invalid.links.second.md\" sourcestartlinenumber=\"7\"><a href=\"a.md\" sourcefile=\"TestData/overwrite/rest.overwrite.invalid.links.second.md\" sourcestartlinenumber=\"7\">Conceptual</a></p>",
318-
model.Conceptual.Trim());
319-
Assert.Equal(1, warningsForLinkAForSecond.Count(i => i.Line == "5"));
320-
Assert.Equal(1, warningsForLinkAForSecond.Count(i => i.Line == "7"));
321-
322-
var outputTagRawModelPath = GetRawModelFilePath("tag.json");
323-
Assert.True(File.Exists(outputTagRawModelPath));
324-
var tagModel = JsonUtility.Deserialize<RestApiRootItemViewModel>(outputTagRawModelPath);
325-
326-
Assert.Equal(
327-
"<p sourcefile=\"TestData/overwrite/rest.overwrite.invalid.links.second.md\" sourcestartlinenumber=\"13\">Another uid content <a href=\"a.md\" sourcefile=\"TestData/overwrite/rest.overwrite.invalid.links.second.md\" sourcestartlinenumber=\"13\">Another</a></p>",
328-
tagModel.Conceptual.Trim());
329-
Assert.Equal(1, warningsForLinkAForSecond.Count(i => i.Line == "13"));
330-
}
295+
var outputRawModelPath = GetRawModelFilePath("contacts.json");
296+
Assert.True(File.Exists(outputRawModelPath));
297+
var model = JsonUtility.Deserialize<RestApiRootItemViewModel>(outputRawModelPath);
331298

332-
Logger.UnregisterListener(listener);
299+
var warningsForLinkA = listener.Items.Where(i => i.Message == "Invalid file link:(~/TestData/overwrite/a.md).").ToList();
300+
Assert.Equal(
301+
"<p sourcefile=\"TestData/overwrite/rest.overwrite.invalid.links.first.md\" sourcestartlinenumber=\"13\">Remarks content <a href=\"b.md\" sourcefile=\"TestData/overwrite/rest.overwrite.invalid.links.first.md\" sourcestartlinenumber=\"13\">remarks</a></p>",
302+
model.Remarks.Trim());
303+
Assert.Equal("6", warningsForLinkA.Single(i => i.File == "TestData/overwrite/rest.overwrite.invalid.links.first.md").Line);
304+
305+
Assert.Equal(
306+
"<p sourcefile=\"TestData/overwrite/rest.overwrite.invalid.links.first.md\" sourcestartlinenumber=\"6\">Summary content <a href=\"a.md\" sourcefile=\"TestData/overwrite/rest.overwrite.invalid.links.first.md\" sourcestartlinenumber=\"6\">summary</a></p>",
307+
model.Summary.Trim());
308+
var summaryLink = listener.Items.Single(i => i.Message == "Invalid file link:(~/TestData/overwrite/b.md).");
309+
Assert.Equal("TestData/overwrite/rest.overwrite.invalid.links.first.md", summaryLink.File);
310+
311+
var warningsForLinkAForSecond = warningsForLinkA.Where(i => i.File == "TestData/overwrite/rest.overwrite.invalid.links.second.md").ToList();
312+
Assert.Equal(
313+
"<p sourcefile=\"TestData/overwrite/rest.overwrite.invalid.links.second.md\" sourcestartlinenumber=\"5\">Conceptual content <a href=\"a.md\" sourcefile=\"TestData/overwrite/rest.overwrite.invalid.links.second.md\" sourcestartlinenumber=\"5\">Conceptual</a></p>\n<p sourcefile=\"TestData/overwrite/rest.overwrite.invalid.links.second.md\" sourcestartlinenumber=\"7\"><a href=\"a.md\" sourcefile=\"TestData/overwrite/rest.overwrite.invalid.links.second.md\" sourcestartlinenumber=\"7\">Conceptual</a></p>",
314+
model.Conceptual.Trim());
315+
Assert.Equal(1, warningsForLinkAForSecond.Count(i => i.Line == "5"));
316+
Assert.Equal(1, warningsForLinkAForSecond.Count(i => i.Line == "7"));
317+
318+
var outputTagRawModelPath = GetRawModelFilePath("tag.json");
319+
Assert.True(File.Exists(outputTagRawModelPath));
320+
var tagModel = JsonUtility.Deserialize<RestApiRootItemViewModel>(outputTagRawModelPath);
321+
322+
Assert.Equal(
323+
"<p sourcefile=\"TestData/overwrite/rest.overwrite.invalid.links.second.md\" sourcestartlinenumber=\"13\">Another uid content <a href=\"a.md\" sourcefile=\"TestData/overwrite/rest.overwrite.invalid.links.second.md\" sourcestartlinenumber=\"13\">Another</a></p>",
324+
tagModel.Conceptual.Trim());
325+
Assert.Equal(1, warningsForLinkAForSecond.Count(i => i.Line == "13"));
333326
}
334327

335328
[Fact]

test/Docfx.Build.SchemaDriven.Tests/MarkdownFragmentsValidationTest.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public class MarkdownFragmentsValidationTest : TestBase
2222
private TemplateManager _templateManager;
2323
private FileCollection _files;
2424

25-
private TestLoggerListener _listener;
25+
private TestLoggerListener _listener = new();
2626
private string _rawModelFilePath;
2727

2828
private const string RawModelFileExtension = ".raw.json";
@@ -38,7 +38,6 @@ public void OverwriteUnEditableTest()
3838

3939
_templateManager = new TemplateManager(new List<string> { "template" }, null, _templateFolder);
4040

41-
_listener = TestLoggerListener.CreateLoggerListenerWithPhaseEqualFilter(null);
4241
_rawModelFilePath = GetRawModelFilePath("FragmentsValidation.yml");
4342

4443
var schemaFile = CreateFile("template/schemas/fragments.validation.schema.json", File.ReadAllText("TestData/schemas/fragments.validation.schema.json"), _templateFolder);

test/Docfx.Build.SchemaDriven.Tests/MergeMarkdownFragmentsTest.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public class MergeMarkdownFragmentsTest : TestBase
2020
private readonly TemplateManager _templateManager;
2121
private readonly FileCollection _files;
2222

23-
private readonly TestLoggerListener _listener;
23+
private readonly TestLoggerListener _listener = new();
2424
private readonly string _rawModelFilePath;
2525

2626
private const string RawModelFileExtension = ".raw.json";
@@ -35,7 +35,6 @@ public MergeMarkdownFragmentsTest()
3535

3636
_templateManager = new TemplateManager(new List<string> { "template" }, null, _templateFolder);
3737

38-
_listener = TestLoggerListener.CreateLoggerListenerWithPhaseEqualFilter(null);
3938
_rawModelFilePath = GetRawModelFilePath("Suppressions.yml");
4039

4140
var schemaFile = CreateFile("template/schemas/rest.mixed.schema.json", File.ReadAllText("TestData/schemas/rest.mixed.schema.json"), _templateFolder);
@@ -319,7 +318,7 @@ overwrite in contents block
319318
[Fact]
320319
public void TestFragmentsWithIncremental()
321320
{
322-
using var listener = new TestListenerScope(nameof(TestFragmentsWithIncremental));
321+
using var listener = new TestListenerScope();
323322
// first build
324323
using (new LoggerPhaseScope("FirstBuild"))
325324
{

test/Docfx.Build.SchemaDriven.Tests/SchemaDrivenProcessorTest.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public SchemaDrivenProcessorTest()
5050
[Fact]
5151
public void TestRef()
5252
{
53-
using var listener = new TestListenerScope("TestRef");
53+
using var listener = new TestListenerScope();
5454
var schemaFile = CreateFile("template/schemas/general.test.schema.json", File.ReadAllText("TestData/schemas/general.test.schema.json"), _templateFolder);
5555
var templateFile = CreateFile("template/General.html.tmpl", @"{{#items}}
5656
{{#aggregatedExceptions}}
@@ -122,7 +122,7 @@ public void TestRef()
122122
[Fact]
123123
public void TestXrefResolver()
124124
{
125-
using var listener = new TestListenerScope("TestXrefResolver");
125+
using var listener = new TestListenerScope();
126126
// arrange
127127
var schemaFile = CreateFile("template/schemas/mref.test.schema.json", File.ReadAllText("TestData/schemas/mref.test.schema.json"), _templateFolder);
128128
var templateXref = CreateFile(
@@ -172,7 +172,7 @@ public void TestXrefResolver()
172172
[Fact]
173173
public void TestXrefResolverShouldWarnWithEmptyUidReference()
174174
{
175-
using var listener = new TestListenerScope(nameof(TestXrefResolverShouldWarnWithEmptyUidReference));
175+
using var listener = new TestListenerScope();
176176
// arrange
177177
var schemaFile = CreateFile("template/schemas/mref.test.schema.json", File.ReadAllText("TestData/schemas/mref.test.schema.json"), _templateFolder);
178178
var inputFileName = "inputs/CatLibrary.ICat.yml";
@@ -191,7 +191,7 @@ public void TestXrefResolverShouldWarnWithEmptyUidReference()
191191
[Fact]
192192
public void TestValidMetadataReferenceWithIncremental()
193193
{
194-
using var listener = new TestListenerScope("TestGeneralFeaturesInSDP");
194+
using var listener = new TestListenerScope();
195195
var schemaFile = CreateFile("template/schemas/mta.reference.test.schema.json", @"
196196
{
197197
""$schema"": ""http://dotnet.github.io/docfx/schemas/v1.0/schema.json#"",
@@ -288,7 +288,7 @@ public void TestValidMetadataReferenceWithIncremental()
288288
public void TestInvalidSchemaDefinition()
289289
{
290290
// Json.NET schema has limitation of 1000 calls per hour
291-
using var listener = new TestListenerScope("TestInvalidMetadataReference");
291+
using var listener = new TestListenerScope();
292292
var schemaFile = CreateFile("template/schemas/mta.reference.test.schema.json", @"
293293
{
294294
""$schema"": ""http://dotnet.github.io/docfx/schemas/v1.0/schema.json#"",
@@ -319,7 +319,7 @@ public void TestInvalidSchemaDefinition()
319319
[Fact]
320320
public void TestInvalidObjectAgainstSchema()
321321
{
322-
using var listener = new TestListenerScope("TestInvalidMetadataReference");
322+
using var listener = new TestListenerScope();
323323
var schemaFile = CreateFile("template/schemas/mta.reference.test.schema.json", @"
324324
{
325325
""$schema"": ""http://dotnet.github.io/docfx/schemas/v1.0/schema.json#"",
@@ -351,7 +351,7 @@ public void TestInvalidObjectAgainstSchema()
351351
[Fact]
352352
public void TestInvalidMetadataReference()
353353
{
354-
using var listener = new TestListenerScope("TestGeneralFeaturesInSDP");
354+
using var listener = new TestListenerScope();
355355
var schemaFile = CreateFile("template/schemas/mta.reference.test.schema.json", @"
356356
{
357357
""$schema"": ""http://dotnet.github.io/docfx/schemas/v1.0/schema.json#"",

0 commit comments

Comments
 (0)