diff --git a/src/Tgstation.Server.Host/Controllers/BridgeController.cs b/src/Tgstation.Server.Host/Controllers/BridgeController.cs
index 4b1a1fac3e..f7711a7833 100644
--- a/src/Tgstation.Server.Host/Controllers/BridgeController.cs
+++ b/src/Tgstation.Server.Host/Controllers/BridgeController.cs
@@ -36,7 +36,12 @@ namespace Tgstation.Server.Host.Controllers
///
/// If the content of bridge requests and responses should be logged.
///
- internal static bool LogContent { get; set; }
+ static bool LogContent => logContentDisableCounter == 0;
+
+ ///
+ /// Counter which, if not zero, indicates content logging should be disabled.
+ ///
+ static uint logContentDisableCounter;
///
/// Static counter for the number of requests processed.
@@ -54,12 +59,14 @@ namespace Tgstation.Server.Host.Controllers
readonly ILogger logger;
///
- /// Initializes static members of the class.
+ /// Temporarily disable content logging. Must be followed up with a call to .
///
- static BridgeController()
- {
- LogContent = true;
- }
+ internal static void TemporarilyDisableContentLogging() => Interlocked.Increment(ref logContentDisableCounter);
+
+ ///
+ /// Reenable content logging. Must be preceeded with a call to .
+ ///
+ internal static void ReenableContentLogging() => Interlocked.Decrement(ref logContentDisableCounter);
///
/// Initializes a new instance of the class.
diff --git a/tests/Tgstation.Server.Tests/Live/Instance/WatchdogTest.cs b/tests/Tgstation.Server.Tests/Live/Instance/WatchdogTest.cs
index ceb8e80fe7..4d5e1685a5 100644
--- a/tests/Tgstation.Server.Tests/Live/Instance/WatchdogTest.cs
+++ b/tests/Tgstation.Server.Tests/Live/Instance/WatchdogTest.cs
@@ -893,7 +893,7 @@ namespace Tgstation.Server.Tests.Live.Instance
{
// first check the bridge limits
var bridgeTestsTcs = new TaskCompletionSource();
- BridgeController.LogContent = false;
+ BridgeController.TemporarilyDisableContentLogging();
using (var loggerFactory = LoggerFactory.Create(builder =>
{
builder.AddConsole();
@@ -914,7 +914,7 @@ namespace Tgstation.Server.Tests.Live.Instance
await bridgeTestsTcs.Task.WaitAsync(cancellationToken);
}
- BridgeController.LogContent = true;
+ BridgeController.ReenableContentLogging();
// Time for DD to revert the bridge access identifier change
await Task.Delay(TimeSpan.FromSeconds(1), cancellationToken);