Skip to content

Commit 23cd8ec

Browse files
committed
Add static null logger
1 parent e27caff commit 23cd8ec

File tree

10 files changed

+21
-18
lines changed

10 files changed

+21
-18
lines changed

src/PowerShellEditorServices/Utility/Logging.cs

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -145,21 +145,24 @@ public PsesLogger Build()
145145
}
146146

147147
/// <summary>
148-
/// Contruct a logger with the applied configuration.
148+
/// A do-nothing logger that simply discards messages.
149149
/// </summary>
150-
/// <returns>The constructed logger.</returns>
151-
public static Builder CreateLogger()
150+
public static PsesLogger NullLogger
152151
{
153-
return new Builder();
152+
get
153+
{
154+
return s_nullLogger ?? (s_nullLogger = CreateLogger().Build());
155+
}
154156
}
157+
private static PsesLogger s_nullLogger;
155158

156159
/// <summary>
157-
/// Create a No-Op logger, which just throws away log messages.
160+
/// Contruct a logger with the applied configuration.
158161
/// </summary>
159-
/// <returns>A do-nothing logger, with no output anywhere.</returns>
160-
public static PsesLogger CreateNullLogger()
162+
/// <returns>The constructed logger.</returns>
163+
public static Builder CreateLogger()
161164
{
162-
return CreateLogger().Build();
165+
return new Builder();
163166
}
164167

165168
/// <summary>

test/PowerShellEditorServices.Test.Protocol/Message/MessageReaderWriterTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public class MessageReaderWriterTests
2525

2626
public MessageReaderWriterTests()
2727
{
28-
this.logger = Logging.CreateLogger().Build();
28+
this.logger = Logging.NullLogger;
2929
this.messageSerializer = new V8MessageSerializer();
3030
}
3131

test/PowerShellEditorServices.Test/Console/ChoicePromptHandlerTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ internal class TestChoicePromptHandler : ChoicePromptHandler
9696

9797
public int TimesPrompted { get; private set; }
9898

99-
public TestChoicePromptHandler() : base(Logging.CreateLogger().Build())
99+
public TestChoicePromptHandler() : base(Logging.NullLogger)
100100
{
101101
}
102102

test/PowerShellEditorServices.Test/Console/InputPromptHandlerTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ internal class TestInputPromptHandler : InputPromptHandler
132132

133133
public Exception LastError { get; private set; }
134134

135-
public TestInputPromptHandler() : base(Logging.CreateLogger().Build())
135+
public TestInputPromptHandler() : base(Logging.NullLogger)
136136
{
137137
}
138138

test/PowerShellEditorServices.Test/Debugging/DebugServiceTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public class DebugServiceTests : IDisposable
3131

3232
public DebugServiceTests()
3333
{
34-
var logger = Logging.CreateLogger().Build();
34+
var logger = Logging.NullLogger;
3535

3636
this.powerShellContext = PowerShellContextFactory.Create(logger);
3737
this.powerShellContext.SessionStateChanged += powerShellContext_SessionStateChanged;

test/PowerShellEditorServices.Test/Extensions/ExtensionServiceTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ private enum EventType
3636

3737
public async Task InitializeAsync()
3838
{
39-
var logger = Logging.CreateLogger().Build();
39+
var logger = Logging.NullLogger;
4040
this.powerShellContext = PowerShellContextFactory.Create(logger);
4141
await this.powerShellContext.ImportCommandsModule(@"..\..\..\..\..\module\PowerShellEditorServices\Commands");
4242

test/PowerShellEditorServices.Test/Language/LanguageServiceTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public class LanguageServiceTests : IDisposable
2828

2929
public LanguageServiceTests()
3030
{
31-
var logger = Logging.CreateLogger().Build();
31+
var logger = Logging.NullLogger;
3232
this.powerShellContext = PowerShellContextFactory.Create(logger);
3333
this.workspace = new Workspace(this.powerShellContext.LocalPowerShellVersion.Version, logger);
3434
this.languageService = new LanguageService(this.powerShellContext, logger);
@@ -164,7 +164,7 @@ public async Task LanguageServiceFindsFunctionDefinitionInWorkspace()
164164
var definitionResult =
165165
await this.GetDefinition(
166166
FindsFunctionDefinitionInWorkspace.SourceDetails,
167-
new Workspace(this.powerShellContext.LocalPowerShellVersion.Version, Logging.CreateLogger().Build())
167+
new Workspace(this.powerShellContext.LocalPowerShellVersion.Version, Logging.NullLogger)
168168
{
169169
WorkspacePath = Path.Combine(baseSharedScriptPath, @"References")
170170
});

test/PowerShellEditorServices.Test/PowerShellContextFactory.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ public TestPSHostUserInterface(
4141
: base(
4242
powerShellContext,
4343
new SimplePSHostRawUserInterface(logger),
44-
Logging.CreateLogger().Build())
44+
Logging.NullLogger)
4545
{
4646
}
4747

test/PowerShellEditorServices.Test/Session/PowerShellContextTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public class PowerShellContextTests : IDisposable
4242

4343
public PowerShellContextTests()
4444
{
45-
this.powerShellContext = PowerShellContextFactory.Create(Logging.CreateLogger().Build());
45+
this.powerShellContext = PowerShellContextFactory.Create(Logging.NullLogger);
4646
this.powerShellContext.SessionStateChanged += OnSessionStateChanged;
4747
this.stateChangeQueue = new AsyncQueue<SessionStateChangedEventArgs>();
4848
}

test/PowerShellEditorServices.Test/Session/WorkspaceTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public void CanResolveWorkspaceRelativePath()
2222
string testPathOutside = @"c:\Test\PeerPath\FilePath.ps1";
2323
string testPathAnotherDrive = @"z:\TryAndFindMe\FilePath.ps1";
2424

25-
Workspace workspace = new Workspace(PowerShellVersion, Logging.CreateLogger().Build());
25+
Workspace workspace = new Workspace(PowerShellVersion, Logging.NullLogger);
2626

2727
// Test without a workspace path
2828
Assert.Equal(testPathOutside, workspace.GetRelativePath(testPathOutside));

0 commit comments

Comments
 (0)