diff --git a/Geekbot.net/Geekbot.net.csproj b/Geekbot.net/Geekbot.net.csproj
index c91512f..d943a8e 100755
--- a/Geekbot.net/Geekbot.net.csproj
+++ b/Geekbot.net/Geekbot.net.csproj
@@ -24,17 +24,15 @@
+
+
-
-
-
-
-
1.2.6
+
diff --git a/Geekbot.net/Lib/GeekbotLogger.cs b/Geekbot.net/Lib/GeekbotLogger.cs
index ec88290..c4a792b 100644
--- a/Geekbot.net/Lib/GeekbotLogger.cs
+++ b/Geekbot.net/Lib/GeekbotLogger.cs
@@ -1,19 +1,18 @@
using System;
using Newtonsoft.Json;
-using Serilog;
namespace Geekbot.net.Lib
{
public class GeekbotLogger : IGeekbotLogger
{
private readonly bool _sumologicActive;
- private readonly ILogger _serilog;
+ private readonly NLog.Logger _logger;
private readonly JsonSerializerSettings _serializerSettings;
public GeekbotLogger(bool sumologicActive)
{
_sumologicActive = sumologicActive;
- _serilog = LoggerFactory.CreateLogger(sumologicActive);
+ _logger = LoggerFactory.CreateNLog(sumologicActive);
_serializerSettings = new JsonSerializerSettings
{
ReferenceLoopHandling = ReferenceLoopHandling.Serialize,
@@ -24,29 +23,22 @@ namespace Geekbot.net.Lib
public void Debug(string source, string message, object extra = null)
{
- _serilog.Debug(CreateLogString("Debug", source, message, null, extra));
+ _logger.Debug(CreateLogString("Debug", source, message, null, extra));
}
public void Information(string source, string message, object extra = null)
{
- _serilog.Information(CreateLogString("Information", source, message, null, extra));
+ _logger.Info(CreateLogString("Information", source, message, null, extra));
}
public void Warning(string source, string message, Exception stackTrace = null, object extra = null)
{
- _serilog.Warning(CreateLogString("Warning", source, message, stackTrace, extra));
+ _logger.Warn(CreateLogString("Warning", source, message, stackTrace, extra));
}
public void Error(string source, string message, Exception stackTrace, object extra = null)
{
- _serilog.Error(CreateLogString("Error", source, message, stackTrace, extra));
- }
-
- private void HandleLogObject(string type, string source, string message, Exception stackTrace = null, object extra = null)
- {
- var logJson = CreateLogString(type, source, message, stackTrace, extra);
- // fuck serilog
- _serilog.Information(logJson, stackTrace + "}");
+ _logger.Error(stackTrace, CreateLogString("Error", source, message, stackTrace, extra));
}
private string CreateLogString(string type, string source, string message, Exception stackTrace = null, object extra = null)
diff --git a/Geekbot.net/Lib/LoggerFactory.cs b/Geekbot.net/Lib/LoggerFactory.cs
index 24df1ab..8631c11 100644
--- a/Geekbot.net/Lib/LoggerFactory.cs
+++ b/Geekbot.net/Lib/LoggerFactory.cs
@@ -1,27 +1,70 @@
using System;
-using Serilog;
-using Serilog.Sinks.SumoLogic;
+using System.Text;
+using NLog;
+using NLog.Config;
+using NLog.Targets;
+using SumoLogic.Logging.NLog;
namespace Geekbot.net.Lib
{
public class LoggerFactory
{
- public static ILogger CreateLogger(bool sumologicActive)
+ public static Logger CreateNLog(bool sumologicActive)
{
- var loggerCreation = new LoggerConfiguration();
- var template = "{Message}{NewLine}";
+ var config = new LoggingConfiguration();
+
if (sumologicActive)
{
Console.WriteLine("Logging Geekbot Logs to Sumologic");
- loggerCreation.WriteTo.SumoLogic(Environment.GetEnvironmentVariable("GEEKBOT_SUMO"),
- outputTemplate: template);
+ config.LoggingRules.Add(
+ new LoggingRule("*", LogLevel.Info, LogLevel.Fatal,
+ new BufferedSumoLogicTarget()
+ {
+ Url = Environment.GetEnvironmentVariable("GEEKBOT_SUMO"),
+ SourceName = "GeekbotLogger",
+ Layout = "${message}",
+ UseConsoleLog = false,
+ MaxQueueSizeBytes = 500000,
+ FlushingAccuracy = 250,
+ MaxFlushInterval = 10000,
+ OptimizeBufferReuse = true,
+ MessagesPerRequest = 10,
+ RetryInterval = 5000,
+ Name = "Geekbot"
+ })
+ );
}
else
{
- loggerCreation.WriteTo.LiterateConsole(outputTemplate: template);
- loggerCreation.WriteTo.RollingFile("Logs/geekbot-{Date}.txt", shared: true, outputTemplate: template);
+ config.LoggingRules.Add(
+ new LoggingRule("*", LogLevel.Trace, LogLevel.Fatal,
+ new ColoredConsoleTarget
+ {
+ Name = "Console",
+ Encoding = Encoding.Unicode,
+ Layout = "[${longdate} ${level:format=FirstCharacter}] ${message} ${exception:format=toString}"
+ })
+ );
+
+ config.LoggingRules.Add(
+ new LoggingRule("*", LogLevel.Trace, LogLevel.Fatal,
+ new FileTarget
+ {
+ Name = "File",
+ Layout = "[${longdate} ${level}] ${message}",
+ Encoding = Encoding.Unicode,
+ LineEnding = LineEndingMode.Default,
+ MaxArchiveFiles = 30,
+ ArchiveNumbering = ArchiveNumberingMode.Date,
+ ArchiveEvery = FileArchivePeriod.Day,
+ ArchiveFileName = "./Logs/Archive/{#####}.log",
+ FileName = "./Logs/Geekbot.log"
+ })
+ );
}
- return loggerCreation.CreateLogger();
+
+ var loggerConfig = new LogFactory { Configuration = config };
+ return loggerConfig.GetCurrentClassLogger();
}
}
}
\ No newline at end of file