Code: Select all
RpcNcCreator
Code: Select all
namespace PPS.Kommunikation.Rpc
public class RpcNcCreator : ARpcServer
{
///
/// Liefert ein fertig konfiguriertes -Objekt.
///
/// Log-Objekt.
/// Options-Objekt.
public RpcNcCreator(ILogger loggerSingleton, IOptions iOptions)
: base(loggerSingleton)
{
Debug.Assert(iOptions != null);
Debug.Assert(iOptions.Value != null);
this.AnfrageExchange = iOptions.Value.AnfrageExchange;
}
//here are methodes that call eg.
private void DocumentStatus()
=> logger.LogInformation("...");
}
< /code>
Bibliothekscode: < /p>
namespace SpeedMaster.Tools.Kommunikation.RPC.Server;
public abstract class ARpcServer : ARpcServer, IDisposable
{
public ARpcServer(ILogger loggerSingleton)
{
_logger = loggerSingleton;
}
//Here in the BaseClass also are logs made eg.
private Task SendeStatusAnfrage(bool nurWennArbeitDaIst)
{
this._logger.LogInformation("Sende Status-Anfrage an alle Clients.");
}
< /code>
AppSettings.json
Code: Select all
//Sample from the
"Serilog": {
"Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.Seq", "SpeedMaster.Tools", "PPS" ],
"MinimumLevel": {
"Default": "Information",
"Override": {
"Microsoft": "Error",
"Microsoft.AspNetCore": "Warning",
"System.Net.Http.HttpClient": "Warning",
"SpeedMaster.Tools.Kommunikation.RPC.Server.Internal.ClientStatusChecker": "Warning"
}
},
"WriteTo": [
{
"Name": "Seq",
"Args": {
"restrictedToMinimumLevel": "Information",
"serverUrl": "https://at02-logsammler.speed.intern:45341",
"apiKey": null
}
},
{
"Name": "Console",
"Args": {
"theme": "PPS.Models.SerilogThemes.SpeedMasterThemes::Speedy, PPS",
"outputTemplate": "[{Timestamp:yyyy-MM-dd HH:mm:ss} {Level:u3}] ({SourceContext:l}) {Message:lj}{NewLine}{Exception}"
}
}
]
},
< /code>
[img]https://i.sstatic.net/o7p8phA4.png[/img]
[b]Update[/b] for Panagiotis Kanavos
Ich verlängere den Code mit dem Konstruktor, was für eine College -Erklärung für mich der Logger von rpcnccreator der Basis . Der RPCNCCreator verwendet einen primären Konstruktor, bei dem es nicht empfohlen wird, ein ' _ ' als Präfix für den Variablennamen zu verwenden.