diff --git a/Geekbot.net.sln.DotSettings b/Geekbot.net.sln.DotSettings
index 7fa04b3..6d439b8 100644
--- a/Geekbot.net.sln.DotSettings
+++ b/Geekbot.net.sln.DotSettings
@@ -5,6 +5,7 @@
True
True
True
+ True
True
True
True
diff --git a/Geekbot.net/Database/DatabaseInitializer.cs b/Geekbot.net/Database/DatabaseInitializer.cs
index 7eff2c6..6adff44 100644
--- a/Geekbot.net/Database/DatabaseInitializer.cs
+++ b/Geekbot.net/Database/DatabaseInitializer.cs
@@ -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;
}
}
diff --git a/Geekbot.net/Database/LoggingAdapter/NpgsqlLoggingAdapter.cs b/Geekbot.net/Database/LoggingAdapter/NpgsqlLoggingAdapter.cs
index 80d60b3..e8850cd 100644
--- a/Geekbot.net/Database/LoggingAdapter/NpgsqlLoggingAdapter.cs
+++ b/Geekbot.net/Database/LoggingAdapter/NpgsqlLoggingAdapter.cs
@@ -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)
diff --git a/Geekbot.net/Database/LoggingAdapter/NpgsqlLoggingProviderAdapter.cs b/Geekbot.net/Database/LoggingAdapter/NpgsqlLoggingProviderAdapter.cs
index 0888111..efe82a3 100644
--- a/Geekbot.net/Database/LoggingAdapter/NpgsqlLoggingProviderAdapter.cs
+++ b/Geekbot.net/Database/LoggingAdapter/NpgsqlLoggingProviderAdapter.cs
@@ -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);
}
}
}
\ No newline at end of file
diff --git a/Geekbot.net/Lib/RunParameters.cs b/Geekbot.net/Lib/RunParameters.cs
index 7f2dd3d..444a60f 100644
--- a/Geekbot.net/Lib/RunParameters.cs
+++ b/Geekbot.net/Lib/RunParameters.cs
@@ -45,6 +45,10 @@ namespace Geekbot.net.Lib
[Option("db-password", Default = "", HelpText = "Set a posgresql password")]
public string DbPassword { get; set; }
+
+ // Logging
+ [Option("db-logging", Default = false, HelpText = "Enable database logging")]
+ public bool DbLogging { get; set; }
/************************************
* Redis *