Add parameter to enable db logging, disabled by default

This commit is contained in:
Runebaas 2019-01-27 22:08:49 +01:00
parent 26da438efe
commit 2c6b61b7e6
No known key found for this signature in database
GPG key ID: 2677AF508D0300D6
5 changed files with 23 additions and 8 deletions

View file

@ -1,4 +1,5 @@
using System;
using Geekbot.net.Lib;
using Geekbot.net.Lib.Logger;
using Npgsql.Logging;
using LogLevel = NLog.LogLevel;
@ -9,17 +10,19 @@ namespace Geekbot.net.Database.LoggingAdapter
{
private readonly string _name;
private readonly IGeekbotLogger _geekbotLogger;
private readonly RunParameters _runParameters;
public NpgsqlLoggingAdapter(string name, IGeekbotLogger geekbotLogger)
public NpgsqlLoggingAdapter(string name, IGeekbotLogger geekbotLogger, RunParameters runParameters)
{
_name = name.Substring(7);
_geekbotLogger = geekbotLogger;
_runParameters = runParameters;
geekbotLogger.Trace(LogSource.Database, $"Loaded Npgsql logging adapter: {name}");
}
public override bool IsEnabled(NpgsqlLogLevel level)
{
return !_geekbotLogger.LogAsJson() && _geekbotLogger.GetNLogger().IsEnabled(ToGeekbotLogLevel(level));
return (_runParameters.DbLogging && _geekbotLogger.GetNLogger().IsEnabled(ToGeekbotLogLevel(level)));
}
public override void Log(NpgsqlLogLevel level, int connectorId, string msg, Exception exception = null)

View file

@ -1,4 +1,5 @@
using Geekbot.net.Lib.Logger;
using Geekbot.net.Lib;
using Geekbot.net.Lib.Logger;
using Npgsql.Logging;
namespace Geekbot.net.Database.LoggingAdapter
@ -6,15 +7,17 @@ namespace Geekbot.net.Database.LoggingAdapter
public class NpgsqlLoggingProviderAdapter : INpgsqlLoggingProvider
{
private readonly GeekbotLogger _geekbotLogger;
private readonly RunParameters _runParameters;
public NpgsqlLoggingProviderAdapter(GeekbotLogger geekbotLogger)
public NpgsqlLoggingProviderAdapter(GeekbotLogger geekbotLogger, RunParameters runParameters)
{
_geekbotLogger = geekbotLogger;
_runParameters = runParameters;
}
public NpgsqlLogger CreateLogger(string name)
{
return new NpgsqlLoggingAdapter(name, _geekbotLogger);
return new NpgsqlLoggingAdapter(name, _geekbotLogger, _runParameters);
}
}
}