ProjectLighthouse/ProjectLighthouse/Logging/Loggers/InfluxLogger.cs
2022-05-01 17:37:58 -04:00

23 lines
No EOL
762 B
C#

using InfluxDB.Client;
using InfluxDB.Client.Writes;
using LBPUnion.ProjectLighthouse.Helpers;
using LBPUnion.ProjectLighthouse.Types.Settings;
namespace LBPUnion.ProjectLighthouse.Logging.Loggers;
public class InfluxLogger : ILogger
{
public void Log(LogLine line)
{
string channel = string.IsNullOrEmpty(line.Area) ? "" : $"[{line.Area}] ";
string level = $"{$"{channel} {line}".TrimEnd()}";
string content = line.Message;
using WriteApi writeApi = InfluxHelper.Client.GetWriteApi();
PointData point = PointData.Measurement("lighthouseLog").Field("level", level).Field("content", content);
writeApi.WritePoint(point, ServerSettings.Instance.InfluxBucket, ServerSettings.Instance.InfluxOrg);
}
}