remove Logging.csproj
This commit is contained in:
parent
95048e42d6
commit
bce8d9486d
|
@ -1,24 +0,0 @@
|
||||||
using System.Text;
|
|
||||||
using InnovEnergy.Lib.Utils;
|
|
||||||
|
|
||||||
namespace InnovEnergy.Logging;
|
|
||||||
|
|
||||||
public static class Extensions
|
|
||||||
{
|
|
||||||
private const Char NewLine = '\n';
|
|
||||||
|
|
||||||
public static Byte[] Serialize(this Exception e)
|
|
||||||
{
|
|
||||||
return Encoding.UTF8.GetBytes(e.Message + NewLine + e);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static (String title, String message) Deserialize(this IReadOnlyList<Byte> data)
|
|
||||||
{
|
|
||||||
var strData = data
|
|
||||||
.ToArray()
|
|
||||||
.Apply(Encoding.UTF8.GetString);
|
|
||||||
|
|
||||||
return (strData.UntilFirst(NewLine), strData.AfterFirst(NewLine));
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,39 +0,0 @@
|
||||||
using System.Net;
|
|
||||||
using System.Net.Sockets;
|
|
||||||
using InnovEnergy.Lib.Utils;
|
|
||||||
using InnovEnergy.Lib.Utils.Net;
|
|
||||||
|
|
||||||
namespace InnovEnergy.Logging;
|
|
||||||
|
|
||||||
public class Logger
|
|
||||||
{
|
|
||||||
private UdpClient UpdSocket { get; set; }
|
|
||||||
private IPEndPoint EndPoint { get; }
|
|
||||||
|
|
||||||
public Logger(IPEndPoint endPoint)
|
|
||||||
{
|
|
||||||
EndPoint = endPoint;
|
|
||||||
ResetUdpClient();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void ResetUdpClient()
|
|
||||||
{
|
|
||||||
UpdSocket?.Dispose();
|
|
||||||
UpdSocket = new UdpClient();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void Log<E>(E exception) where E : Exception
|
|
||||||
{
|
|
||||||
exception.Serialize()
|
|
||||||
.TryApply(SendDatagram)
|
|
||||||
.Catch(ErrorToStdOut);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static Int32 ErrorToStdOut(Exception e)
|
|
||||||
{
|
|
||||||
Console.WriteLine(e.ToString());
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
private Int32 SendDatagram(Byte[] bytes) => UpdSocket.SendDatagram(bytes, EndPoint);
|
|
||||||
}
|
|
|
@ -1,13 +0,0 @@
|
||||||
<Project Sdk="Microsoft.NET.Sdk">
|
|
||||||
|
|
||||||
<Import Project="../InnovEnergy.app.props" />
|
|
||||||
|
|
||||||
<PropertyGroup>
|
|
||||||
<RootNamespace>InnovEnergy.Logging</RootNamespace>
|
|
||||||
</PropertyGroup>
|
|
||||||
|
|
||||||
<ItemGroup>
|
|
||||||
<ProjectReference Include="../../lib/Utils/Utils.csproj" />
|
|
||||||
</ItemGroup>
|
|
||||||
|
|
||||||
</Project>
|
|
|
@ -1,108 +0,0 @@
|
||||||
using System.Net.Sockets;
|
|
||||||
using static InnovEnergy.Logging.Settings;
|
|
||||||
|
|
||||||
namespace InnovEnergy.Logging;
|
|
||||||
|
|
||||||
public static class Server
|
|
||||||
{
|
|
||||||
|
|
||||||
// TODO: notify about n skipped identical messages in last period
|
|
||||||
|
|
||||||
|
|
||||||
private static UdpClient _incomingSocket = new UdpClient(IncomingEndPoint); // TODO: directly use socket
|
|
||||||
|
|
||||||
public static void Main()
|
|
||||||
{
|
|
||||||
// Init();
|
|
||||||
//
|
|
||||||
// ImmediateScheduler.Instance
|
|
||||||
// .Repeat(ReceiveErrorMessage)
|
|
||||||
// .Do(LogReceived)
|
|
||||||
// .ThrottleDistinct(m => m.title, EmailSubjectThrottle)
|
|
||||||
// .Try(CreateMimeMessage)
|
|
||||||
// .ThenTry(SendMail)
|
|
||||||
// .Match(LogSent, LogError)
|
|
||||||
// .IgnoreErrors()
|
|
||||||
// .Subscribe();
|
|
||||||
//
|
|
||||||
// Console.WriteLine("Logging Server exited abnormally!");
|
|
||||||
}
|
|
||||||
|
|
||||||
// private static void Init()
|
|
||||||
// {
|
|
||||||
// "Logging Server started".Underline().Write();
|
|
||||||
//
|
|
||||||
// "Listening on " .Write(); IncomingEndPoint.WriteLine(Cyan);
|
|
||||||
// "Sending errors to " .Write(); Recipient.WriteLine(Cyan);
|
|
||||||
// "Throttling period is ".Write(); (EmailSubjectThrottle.TotalHours + "h").WriteLine(Cyan);
|
|
||||||
//
|
|
||||||
// TestMailServerConnection();
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// private static void TestMailServerConnection()
|
|
||||||
// {
|
|
||||||
// "Testing connection to mail server ".Write();
|
|
||||||
// SmtpServer.Host.Write(Cyan); ":".Write(Cyan); SmtpServer.Port.Write(Cyan);
|
|
||||||
// " ... ".Write();
|
|
||||||
//
|
|
||||||
// var errorMsg = Try(() => SendMail(null))
|
|
||||||
// .Catch(e => e.Message);
|
|
||||||
//
|
|
||||||
// if (errorMsg != null)
|
|
||||||
// {
|
|
||||||
// "FAILURE".WriteLine(Red);
|
|
||||||
// errorMsg.WriteLine(Red);
|
|
||||||
// "Logging Server stopped".WriteLine();
|
|
||||||
// Environment.Exit(2);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// "success".WriteLine(Green);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// private static void LogReceived((String title, String message) m) => Console.WriteLine("RECEIVED: " + m.title);
|
|
||||||
// private static void LogError(Exception ex) => Console.WriteLine("ERROR : " + ex);
|
|
||||||
// private static void LogSent(String msg) => Console.WriteLine("SENT : " + msg);
|
|
||||||
//
|
|
||||||
// private static MimeMessage CreateMimeMessage((String title, String message) m)
|
|
||||||
// {
|
|
||||||
// return new MimeMessage
|
|
||||||
// {
|
|
||||||
// Subject = m.title,
|
|
||||||
// Sender = SenderAddress,
|
|
||||||
// To = {RecipientAddress},
|
|
||||||
// Body = new TextPart(TextFormat.Plain) { Text = m.message }
|
|
||||||
// };
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// private static (String title, String message) ReceiveErrorMessage()
|
|
||||||
// {
|
|
||||||
// return Try(ReadDatagram) .OnError("META: Failed to read from socket")
|
|
||||||
// .ThenTry(Extensions.Deserialize) .OnError("META: Failed parse error datagram")
|
|
||||||
// .Catch(ResetSocket);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// private static IReadOnlyList<Byte> ReadDatagram() => _incomingSocket.ReadDatagram().Payload;
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// private static String SendMail(MimeMessage message)
|
|
||||||
// {
|
|
||||||
// using var smtp = new SmtpClient();
|
|
||||||
//
|
|
||||||
// smtp.Connect(SmtpServer.Host, SmtpServer.Port, false);
|
|
||||||
// smtp.Authenticate(SmtpUser, SmtpPassword);
|
|
||||||
//
|
|
||||||
// if (message != null) smtp.Send(message);
|
|
||||||
//
|
|
||||||
// smtp.Disconnect(true);
|
|
||||||
//
|
|
||||||
// return message?.Subject;
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// private static (String, String) ResetSocket(Exception e)
|
|
||||||
// {
|
|
||||||
// _incomingSocket.Dispose();
|
|
||||||
// _incomingSocket = new UdpClient(IncomingEndPoint);
|
|
||||||
//
|
|
||||||
// return (e.Message, e.ToString());
|
|
||||||
// }
|
|
||||||
}
|
|
|
@ -1,16 +0,0 @@
|
||||||
using System.Net;
|
|
||||||
|
|
||||||
namespace InnovEnergy.Logging;
|
|
||||||
|
|
||||||
internal static class Settings
|
|
||||||
{
|
|
||||||
public static readonly IPEndPoint IncomingEndPoint = IPEndPoint.Parse("127.0.0.1:6030");
|
|
||||||
public static readonly DnsEndPoint SmtpServer = new DnsEndPoint("smtp.friends.com", 587) ;
|
|
||||||
|
|
||||||
public static readonly String Sender = "log@innov.energy";
|
|
||||||
public static readonly String Recipient = Sender;
|
|
||||||
public static readonly String SmtpUser = Sender;
|
|
||||||
public static readonly String SmtpPassword = "xxxx";
|
|
||||||
|
|
||||||
public static readonly TimeSpan EmailSubjectThrottle = TimeSpan.FromDays(1);
|
|
||||||
}
|
|
Loading…
Reference in New Issue