Added Splunk Logging and GrayLog Logging
This commit is contained in:
@@ -13,6 +13,9 @@ using EonaCat.Logger.Extensions;
|
||||
|
||||
namespace EonaCat.Logger.Managers
|
||||
{
|
||||
// This file is part of the EonaCat project(s) which is released under the Apache License.
|
||||
// See the LICENSE file or go to https://EonaCat.com/License for full license details.
|
||||
|
||||
public partial class LogManager : ILogManager, IDisposable
|
||||
{
|
||||
private DateTime CurrentDateTme => Settings.UseLocalTime ? DateTime.Now : DateTime.UtcNow;
|
||||
@@ -98,7 +101,7 @@ namespace EonaCat.Logger.Managers
|
||||
Logger = LoggerFactory.CreateLogger(Settings.Id);
|
||||
}
|
||||
|
||||
private void InternalWriteAsync(DateTime dateTime, string message, ELogType logType = ELogType.INFO, bool? writeToConsole = null)
|
||||
private void InternalWriteAsync(DateTime dateTime, string message, ELogType logType = ELogType.INFO, bool? writeToConsole = null, bool? sendToSyslogServers = null, bool? sendToSplunkServers = null, string customSplunkSourceType = null, bool? sendToGrayLogServers = null, string grayLogFacility = null, string grayLogSource = null, string grayLogVersion = "1.1")
|
||||
{
|
||||
if (string.IsNullOrEmpty(message) || logType == ELogType.NONE || (int)logType >= (int)Settings.MaxLogType)
|
||||
return;
|
||||
@@ -113,7 +116,32 @@ namespace EonaCat.Logger.Managers
|
||||
|
||||
Task.Run(() => { LogHelper.SendToFile(Logger, Settings, logType, message); });
|
||||
|
||||
Task.Run(() => { LogHelper.SendToSysLogServers(Settings, messageWithHeader); });
|
||||
sendToSyslogServers ??= Settings.SendToSyslogServers;
|
||||
if (sendToSyslogServers.Value)
|
||||
{
|
||||
Task.Run(async () =>
|
||||
{
|
||||
await LogHelper.SendToSysLogServersAsync(Settings, messageWithHeader, true);
|
||||
});
|
||||
}
|
||||
|
||||
sendToSplunkServers ??= Settings.SendToSplunkServers;
|
||||
if (sendToSplunkServers.Value)
|
||||
{
|
||||
Task.Run(async () =>
|
||||
{
|
||||
await LogHelper.SendToSplunkServersAsync(Settings, customSplunkSourceType ?? logType.ToString(), messageWithHeader, true);
|
||||
});
|
||||
}
|
||||
|
||||
sendToGrayLogServers ??= Settings.SendToGrayLogServers;
|
||||
if (sendToGrayLogServers.Value)
|
||||
{
|
||||
Task.Run(async () =>
|
||||
{
|
||||
await LogHelper.SendToGrayLogServersAsync(Settings, messageWithHeader, logType, grayLogFacility, grayLogSource, true, grayLogVersion);
|
||||
});
|
||||
}
|
||||
|
||||
var logMessage = new EonaCatLogMessage
|
||||
{
|
||||
@@ -203,15 +231,15 @@ namespace EonaCat.Logger.Managers
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
||||
public void Write(Exception exception, string module = null, string method = null, bool criticalException = false, bool? writeToConsole = null)
|
||||
public void Write(Exception exception, string module = null, string method = null, bool criticalException = false, bool? writeToConsole = null, bool? sendToSysLogServers = null, bool? sendToSplunkServers = null, string? customSplunkSourceType = null, bool? sendToGrayLogServers = null, string grayLogFacility = null, string grayLogSource = null, string grayLogVersion = "1.1")
|
||||
{
|
||||
if (exception == null)
|
||||
return;
|
||||
|
||||
Write(exception.FormatExceptionToMessage(module, method), criticalException ? ELogType.CRITICAL : ELogType.ERROR, writeToConsole);
|
||||
Write(exception.FormatExceptionToMessage(module, method), criticalException ? ELogType.CRITICAL : ELogType.ERROR, writeToConsole, sendToSysLogServers, sendToSplunkServers, customSplunkSourceType, sendToGrayLogServers, grayLogFacility, grayLogSource, grayLogVersion);
|
||||
}
|
||||
|
||||
public void Write(string message, ELogType logType = ELogType.INFO, bool? writeToConsole = null)
|
||||
public void Write(string message, ELogType logType = ELogType.INFO, bool? writeToConsole = null, bool? sendToSysLogServers = null, bool? sendToSplunkServers = null, string? customSplunkSourceType = null, bool? sendToGrayLogServers = null, string grayLogFacility = null, string grayLogSource = null, string grayLogVersion = "1.1")
|
||||
{
|
||||
if (logType == ELogType.NONE)
|
||||
return;
|
||||
@@ -219,7 +247,7 @@ namespace EonaCat.Logger.Managers
|
||||
if (!IsRunning)
|
||||
StartNewLogAsync().ConfigureAwait(false);
|
||||
|
||||
InternalWriteAsync(CurrentDateTme, message, logType, writeToConsole);
|
||||
InternalWriteAsync(CurrentDateTme, message, logType, writeToConsole, sendToSysLogServers, sendToSplunkServers, customSplunkSourceType, sendToGrayLogServers, grayLogFacility, grayLogSource, grayLogVersion);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user