using NLog;
using NLog.Config;
using NLog.Targets;
using System;
using static SteamWare.Logger.Constants;
namespace SteamWare.Logger
{
///
/// Classe helper x LOG basata su NLog
///
public static class Logging
{
///
/// S
///
public static NLog.Logger Instance { get; private set; }
static Logging()
{
#if DEBUG
// Setup the logging view for Sentinel - http://sentinel.codeplex.com
var sentinalTarget = new NLogViewerTarget()
{
Name = "sentinal",
Address = "udp://127.0.0.1:9999",
IncludeNLogData = false
};
var sentinalRule = new LoggingRule("*", LogLevel.Trace, sentinalTarget);
LogManager.Configuration.AddTarget("sentinal", sentinalTarget);
LogManager.Configuration.LoggingRules.Add(sentinalRule);
#endif
LogManager.ReconfigExistingLoggers();
Instance = LogManager.GetCurrentClassLogger();
}
private static NLog.Logger Log = LogManager.GetCurrentClassLogger();
public static void LogException(Exception ex, ERROR_LEVEL errorLevel)
{
LogMessage(ex.Message, errorLevel);
}
public static void LogMessage(string message, ERROR_LEVEL errorLevel)
{
switch (errorLevel)
{
case ERROR_LEVEL.INFO:
{
Log.Info(message);
}
break;
case ERROR_LEVEL.WARNING:
{
Log.Warn(message);
}
break;
case ERROR_LEVEL.ERROR:
{
Log.Error(message);
}
break;
case ERROR_LEVEL.FATAL:
{
Log.Fatal(message);
}
break;
}
}
public static void LogInfo(string message)
{
Log.Info(message);
}
public static void LogWarning(string message)
{
Log.Warn(message);
}
public static void LogError(string message)
{
Log.Error(message);
}
public static void LogFatal(string message)
{
Log.Fatal(message);
}
}
}