Add parameter to enable db logging, disabled by default
This commit is contained in:
parent
26da438efe
commit
2c6b61b7e6
5 changed files with 23 additions and 8 deletions
|
@ -16,7 +16,7 @@ namespace Geekbot.net.Database
|
|||
{
|
||||
_runParameters = runParameters;
|
||||
_logger = logger;
|
||||
NpgsqlLogManager.Provider = new NpgsqlLoggingProviderAdapter(_logger);
|
||||
NpgsqlLogManager.Provider = new NpgsqlLoggingProviderAdapter(logger, runParameters);
|
||||
}
|
||||
|
||||
public DatabaseContext Initialize()
|
||||
|
@ -45,8 +45,12 @@ namespace Geekbot.net.Database
|
|||
_logger.Error(LogSource.Geekbot, "Could not Connect to datbase", e);
|
||||
Environment.Exit(GeekbotExitCode.DatabaseConnectionFailed.GetHashCode());
|
||||
}
|
||||
|
||||
_logger.Information(LogSource.Database, $"Connected with {database.Database.ProviderName}");
|
||||
|
||||
if (_runParameters.DbLogging)
|
||||
{
|
||||
_logger.Information(LogSource.Database, $"Connected with {database.Database.ProviderName}");
|
||||
}
|
||||
|
||||
return database;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue