mirror of
https://github.com/ckaczor/sqltoolsservice.git
synced 2026-02-16 10:58:30 -05:00
Use Logger overloads (#2163)
This commit is contained in:
@@ -113,7 +113,6 @@ GO";
|
||||
TestLogger test = new TestLogger()
|
||||
{
|
||||
TraceSource = System.Reflection.MethodInfo.GetCurrentMethod().Name,
|
||||
EventType = System.Diagnostics.TraceEventType.Information,
|
||||
TracingLevel = System.Diagnostics.SourceLevels.All,
|
||||
};
|
||||
|
||||
|
||||
@@ -28,7 +28,6 @@ namespace Microsoft.SqlTools.ServiceLayer.Test.Common
|
||||
public string TraceSource { get; set; } = "sqltoolsTest";
|
||||
public string LogMessage { get => logMessage ?? $"{TestName} test message"; set => logMessage = value; }
|
||||
public string LogFilePath { get => logFilePath ?? Logger.GenerateLogFilePath(Path.Combine(Directory.GetCurrentDirectory(), TraceSource)); set => logFilePath = value; }
|
||||
public TraceEventType EventType { get; set; } = TraceEventType.Information;
|
||||
public SourceLevels TracingLevel { get; set; } = SourceLevels.Critical;
|
||||
public bool DoNotUseTraceSource { get; set; } = false;
|
||||
|
||||
@@ -75,36 +74,66 @@ namespace Microsoft.SqlTools.ServiceLayer.Test.Common
|
||||
set => pendingVerifications = value;
|
||||
}
|
||||
|
||||
public void Write() => Write(LogMessage);
|
||||
public void Write() => Write(TraceEventType.Information, LogMessage);
|
||||
|
||||
public void Write(string logMessage)
|
||||
public void Information() => Information(LogMessage);
|
||||
|
||||
public void Information(string logMessage) => Write(TraceEventType.Information, logMessage);
|
||||
|
||||
public void Warning(string logMessage) => Write(TraceEventType.Warning, logMessage);
|
||||
|
||||
public void Warning() => Warning(LogMessage);
|
||||
|
||||
public void Error(string logMessage) => Write(TraceEventType.Error, logMessage);
|
||||
|
||||
public void Error() => Error(LogMessage);
|
||||
|
||||
private void Write(TraceEventType traceEventType, string logMessage)
|
||||
{
|
||||
// write test log
|
||||
if (DoNotUseTraceSource)
|
||||
{
|
||||
TraceSource savedTraceSource = Logger.TraceSource;
|
||||
Logger.TraceSource = null;
|
||||
Logger.Write(EventType, logMessage);
|
||||
WriteInternal(traceEventType, logMessage);
|
||||
Logger.TraceSource = savedTraceSource;
|
||||
}
|
||||
else
|
||||
{
|
||||
Logger.Write(EventType, logMessage);
|
||||
WriteInternal(traceEventType, logMessage);
|
||||
}
|
||||
}
|
||||
|
||||
public void WriteWithCallstack() => WriteWithCallstack(LogMessage);
|
||||
private void WriteInternal(TraceEventType traceEventType, string logMessage)
|
||||
{
|
||||
switch (traceEventType)
|
||||
{
|
||||
case TraceEventType.Information:
|
||||
Logger.Information(logMessage);
|
||||
break;
|
||||
case TraceEventType.Warning:
|
||||
Logger.Warning(logMessage);
|
||||
break;
|
||||
case TraceEventType.Error:
|
||||
Logger.Error(logMessage);
|
||||
break;
|
||||
default:
|
||||
throw new Exception($"Unsupported event type {traceEventType}");
|
||||
}
|
||||
}
|
||||
|
||||
public void WriteWithCallstack(string logMessage)
|
||||
public void WriteWithCallstack() => WriteWithCallstack(TraceEventType.Information, LogMessage);
|
||||
|
||||
public void WriteWithCallstack(TraceEventType traceEventType, string logMessage)
|
||||
{
|
||||
// write test log with callstack
|
||||
Logger.WriteWithCallstack(EventType, logMessage);
|
||||
Logger.WriteWithCallstack(traceEventType, logMessage);
|
||||
ShouldVerifyCallstack = true;
|
||||
}
|
||||
|
||||
public void Verify(bool expectLogMessage = true) => Verify(ShouldVerifyCallstack, expectLogMessage);
|
||||
public void Verify(bool expectLogMessage = true) => Verify(ShouldVerifyCallstack, expectLogMessage: expectLogMessage);
|
||||
|
||||
public void Verify(bool shouldVerifyCallstack, bool expectLogMessage = true) => Verify(EventType, LogMessage, CallstackMessage, shouldVerifyCallstack, expectLogMessage);
|
||||
public void Verify(bool shouldVerifyCallstack, TraceEventType traceEventType = TraceEventType.Information, bool expectLogMessage = true) => Verify(traceEventType, LogMessage, CallstackMessage, shouldVerifyCallstack, expectLogMessage);
|
||||
|
||||
public void Verify(TraceEventType eventType, string message, string callstackMessage, bool shouldVerifyCallstack = false, bool expectLogMessage = true)
|
||||
{
|
||||
|
||||
@@ -30,7 +30,6 @@ namespace Microsoft.SqlTools.ServiceLayer.UnitTests.ServiceHost
|
||||
TestLogger test = new TestLogger()
|
||||
{
|
||||
TraceSource = MethodInfo.GetCurrentMethod().Name,
|
||||
EventType = TraceEventType.Information,
|
||||
TracingLevel = SourceLevels.Verbose,
|
||||
};
|
||||
|
||||
@@ -181,7 +180,6 @@ namespace Microsoft.SqlTools.ServiceLayer.UnitTests.ServiceHost
|
||||
TestLogger test = new TestLogger()
|
||||
{
|
||||
TraceSource = MethodInfo.GetCurrentMethod().Name,
|
||||
EventType = TraceEventType.Information,
|
||||
TracingLevel = SourceLevels.Off,
|
||||
};
|
||||
|
||||
@@ -203,7 +201,6 @@ namespace Microsoft.SqlTools.ServiceLayer.UnitTests.ServiceHost
|
||||
TestLogger test = new TestLogger()
|
||||
{
|
||||
TraceSource = MethodInfo.GetCurrentMethod().Name,
|
||||
EventType = TraceEventType.Information,
|
||||
TracingLevel = SourceLevels.Critical,
|
||||
};
|
||||
|
||||
@@ -222,7 +219,6 @@ namespace Microsoft.SqlTools.ServiceLayer.UnitTests.ServiceHost
|
||||
TestLogger test = new TestLogger()
|
||||
{
|
||||
TraceSource = MethodInfo.GetCurrentMethod().Name,
|
||||
EventType = TraceEventType.Warning,
|
||||
TracingLevel = SourceLevels.Information,
|
||||
};
|
||||
|
||||
@@ -241,7 +237,6 @@ namespace Microsoft.SqlTools.ServiceLayer.UnitTests.ServiceHost
|
||||
TestLogger test = new TestLogger()
|
||||
{
|
||||
TraceSource = MethodInfo.GetCurrentMethod().Name,
|
||||
EventType = TraceEventType.Information,
|
||||
TracingLevel = SourceLevels.Error,
|
||||
};
|
||||
|
||||
@@ -260,7 +255,6 @@ namespace Microsoft.SqlTools.ServiceLayer.UnitTests.ServiceHost
|
||||
TestLogger test = new TestLogger()
|
||||
{
|
||||
TraceSource = MethodInfo.GetCurrentMethod().Name,
|
||||
EventType = TraceEventType.Warning,
|
||||
TracingLevel = SourceLevels.Information,
|
||||
DoNotUseTraceSource = true,
|
||||
};
|
||||
@@ -280,7 +274,6 @@ namespace Microsoft.SqlTools.ServiceLayer.UnitTests.ServiceHost
|
||||
TestLogger test = new TestLogger()
|
||||
{
|
||||
TraceSource = MethodInfo.GetCurrentMethod().Name,
|
||||
EventType = TraceEventType.Information,
|
||||
TracingLevel = SourceLevels.Error,
|
||||
DoNotUseTraceSource = true,
|
||||
};
|
||||
@@ -355,7 +348,7 @@ namespace Microsoft.SqlTools.ServiceLayer.UnitTests.ServiceHost
|
||||
};
|
||||
test.Initialize();
|
||||
// Write 10000 lines of log
|
||||
Parallel.For(0, 100, (i) => test.Write($"Message Number:{i}, Message:{test.LogMessage}"));
|
||||
Parallel.For(0, 100, (i) => test.Information($"Message Number:{i}, Message:{test.LogMessage}"));
|
||||
long logContentsSizeBeforeExplicitFlush = (new FileInfo(test.LogFileName)).Length;
|
||||
// Please note that Logger.Close() first flushes the logs before closing them out.
|
||||
Logger.Flush();
|
||||
@@ -389,8 +382,7 @@ namespace Microsoft.SqlTools.ServiceLayer.UnitTests.ServiceHost
|
||||
// Initially with TracingLevel at Warning, logging of Warning type does not get filtered out.
|
||||
Assert.AreEqual(SourceLevels.Warning, Logger.TracingLevel);
|
||||
{
|
||||
test.EventType = TraceEventType.Warning;
|
||||
test.Write();
|
||||
test.Warning();
|
||||
test.PendingVerifications.Add(() =>
|
||||
{
|
||||
test.Verify(eventType: TraceEventType.Warning, message: oldMessage, callstackMessage: null, shouldVerifyCallstack: false, expectLogMessage: true);
|
||||
@@ -398,8 +390,7 @@ namespace Microsoft.SqlTools.ServiceLayer.UnitTests.ServiceHost
|
||||
}
|
||||
// and logging of Error type also succeeeds
|
||||
{
|
||||
test.EventType = TraceEventType.Error;
|
||||
test.Write();
|
||||
test.Error();
|
||||
test.PendingVerifications.Add(() =>
|
||||
{
|
||||
test.Verify(eventType: TraceEventType.Error, message: oldMessage, callstackMessage: null, shouldVerifyCallstack: false, expectLogMessage: true);
|
||||
@@ -414,8 +405,7 @@ namespace Microsoft.SqlTools.ServiceLayer.UnitTests.ServiceHost
|
||||
|
||||
// Now with TracingLevel at Error, logging of Warning type gets filtered out.
|
||||
{
|
||||
test.EventType = TraceEventType.Warning;
|
||||
test.Write();
|
||||
test.Warning();
|
||||
test.PendingVerifications.Add(() =>
|
||||
{
|
||||
test.Verify(eventType: TraceEventType.Warning, message: newMessage, callstackMessage: null, shouldVerifyCallstack: false, expectLogMessage: false);
|
||||
@@ -423,8 +413,7 @@ namespace Microsoft.SqlTools.ServiceLayer.UnitTests.ServiceHost
|
||||
}
|
||||
// but logging of Error type succeeds
|
||||
{
|
||||
test.EventType = TraceEventType.Error;
|
||||
test.Write();
|
||||
test.Error();
|
||||
test.PendingVerifications.Add(() =>
|
||||
{
|
||||
test.Verify(eventType: TraceEventType.Error, message: newMessage, callstackMessage: null, shouldVerifyCallstack: false, expectLogMessage: true);
|
||||
@@ -444,8 +433,7 @@ namespace Microsoft.SqlTools.ServiceLayer.UnitTests.ServiceHost
|
||||
// Initially with TracingLevel at Error, logging of Warning type gets filtered out.
|
||||
Assert.AreEqual(SourceLevels.Error, Logger.TracingLevel);
|
||||
{
|
||||
test.EventType = TraceEventType.Warning;
|
||||
test.Write();
|
||||
test.Warning();
|
||||
test.PendingVerifications.Add(() =>
|
||||
{
|
||||
test.Verify(eventType: TraceEventType.Warning, message: oldMessage, callstackMessage: null, shouldVerifyCallstack: false, expectLogMessage: false);
|
||||
@@ -453,8 +441,7 @@ namespace Microsoft.SqlTools.ServiceLayer.UnitTests.ServiceHost
|
||||
}
|
||||
// But logging of Error type succeeeds
|
||||
{
|
||||
test.EventType = TraceEventType.Error;
|
||||
test.Write();
|
||||
test.Error();
|
||||
test.PendingVerifications.Add(() =>
|
||||
{
|
||||
test.Verify(eventType: TraceEventType.Error, message: oldMessage, callstackMessage: null, shouldVerifyCallstack: false, expectLogMessage: true);
|
||||
@@ -469,8 +456,7 @@ namespace Microsoft.SqlTools.ServiceLayer.UnitTests.ServiceHost
|
||||
|
||||
// Now with TracingLevel at Warning, logging of Warning type does not get filtered out.
|
||||
{
|
||||
test.EventType = TraceEventType.Warning;
|
||||
test.Write();
|
||||
test.Warning();
|
||||
test.PendingVerifications.Add(() =>
|
||||
{
|
||||
test.Verify(eventType: TraceEventType.Warning, message: newMessage, callstackMessage: null, shouldVerifyCallstack: false, expectLogMessage: true);
|
||||
@@ -478,8 +464,7 @@ namespace Microsoft.SqlTools.ServiceLayer.UnitTests.ServiceHost
|
||||
}
|
||||
// and logging of Error type also succeeds
|
||||
{
|
||||
test.EventType = TraceEventType.Error;
|
||||
test.Write();
|
||||
test.Error();
|
||||
test.PendingVerifications.Add(() =>
|
||||
{
|
||||
test.Verify(eventType: TraceEventType.Error, message: newMessage, callstackMessage: null, shouldVerifyCallstack: false, expectLogMessage: true);
|
||||
|
||||
Reference in New Issue
Block a user