Skip to content

Commit 58f8f9e

Browse files
committed
Make TestLogger thread-safe
1 parent be82303 commit 58f8f9e

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

test/YesSql.Tests/TestLogger.cs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ namespace YesSql.Tests
66
{
77
public class TestLogger : ILogger
88
{
9+
private object _lockObj = new object();
10+
911
private readonly StringBuilder _builder;
1012

1113
public TestLogger(StringBuilder builder = null)
@@ -30,7 +32,10 @@ public bool IsLevelEnabled(LogLevel logLevel)
3032

3133
public void Log(LogLevel logLevel, string log)
3234
{
33-
_builder.AppendLine(logLevel.ToString().ToUpper() + ": " + log);
35+
lock (_lockObj)
36+
{
37+
_builder.AppendLine(logLevel.ToString().ToUpper() + ": " + log);
38+
}
3439
}
3540

3641
public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func<TState, Exception, string> formatter)
@@ -40,7 +45,10 @@ public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Except
4045

4146
public override string ToString()
4247
{
43-
return _builder.ToString();
48+
lock (_lockObj)
49+
{
50+
return _builder.ToString();
51+
}
4452
}
4553
}
4654

0 commit comments

Comments
 (0)