Files
EonaCat.Logger/EonaCat.Logger/Splunk/SplunkServer.cs
2023-10-17 22:42:54 +02:00

80 lines
2.2 KiB
C#

using System;
namespace EonaCat.Logger.SplunkServer
{
// 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.
/// <summary>
/// Splunk Server.
/// </summary>
public class SplunkServer
{
/// <summary>
/// SplunkHecUrl
/// </summary>
public string SplunkHecUrl
{
get
{
return _splunkHecUrl;
}
set
{
if (!string.IsNullOrWhiteSpace(_splunkHecUrl) && !_splunkHecUrl.ToLower().Contains("http"))
{
value = $"http://{value}";
}
_splunkHecUrl = value;
}
}
public bool IsHttpsHecUrl => HasHecUrl && _splunkHecUrl.ToLower().StartsWith("https");
/// <summary>
/// SplunkHecToken
/// </summary>
public string SplunkHecToken
{
get
{
return _splunkHecToken;
}
set
{
_splunkHecToken = value;
}
}
internal readonly object SendLock = new object();
private string _splunkHecUrl = "https://127.0.0.1:8088";
private string _splunkHecToken = "splunk-hec-token";
private string _hostName;
public bool HasHecToken => !string.IsNullOrWhiteSpace(SplunkHecToken) && SplunkHecToken != "splunk-hec-token";
public bool HasHecUrl => !string.IsNullOrWhiteSpace(SplunkHecUrl);
public bool IsLocalHost => HasHecUrl && (SplunkHecUrl.ToLower().Contains("127.0.0.1") || SplunkHecUrl.ToLower().Contains("localhost"));
/// <summary>
/// Instantiate the object.
/// </summary>
public SplunkServer()
{
}
/// <summary>
/// Instantiate the object.
/// </summary>
/// <param name="splunkHecUrl">splunkHecUrl.</param>
/// <param name="splunkHecToken">splunkHecToken.</param>
public SplunkServer(string splunkHecUrl, string splunkHecToken)
{
SplunkHecUrl = splunkHecUrl;
SplunkHecToken = splunkHecToken;
}
}
}