public QueryDumpMiddleware( RequestDelegate next, IJsonLogger logger) { _next = next; Log = new ClassJsonLogger <QueryDumpMiddleware>(logger); }
/// <summary> /// Initializes a new instance of the <see cref="AsyncResponseHandler{TResponseKey}"/> class. /// </summary> /// <param name="keyExtractor">The "key extractor" delegate.</param> /// <param name="logger">The logger.</param> /// <param name="useRequestBodyBuffering">Enables request body buffering (required for key extraction from the body).</param> /// <param name="handlerRegistrationTimeOut">Maximum allowed time to register receive delegate.</param> public AsyncResponseHandler( Func <HttpContext, TResponseKey> keyExtractor, IJsonLogger logger, bool useRequestBodyBuffering = true, TimeSpan handlerRegistrationTimeOut = default(TimeSpan)) { if (keyExtractor == null) { throw new ArgumentNullException(nameof(keyExtractor)); } if (logger == null) { throw new ArgumentNullException(nameof(logger)); } if (handlerRegistrationTimeOut < TimeSpan.Zero) { throw new ArgumentOutOfRangeException( nameof(handlerRegistrationTimeOut), "Trap registration timeout should be positive."); } _keyExtractor = keyExtractor; Log = new ClassJsonLogger <AsyncResponseHandler <TResponseKey> >(logger); _useRequestBodyBuffering = useRequestBodyBuffering; if (handlerRegistrationTimeOut == default(TimeSpan)) { handlerRegistrationTimeOut = TimeSpan.FromSeconds(10); } _handlerRegistrationTimeOut = handlerRegistrationTimeOut; }
private ClusterNode( IIxHost indirectXHost, IWebHostBuilder webHostBuilder, IConfigurationRoot configRoot, IJsonLogger logger) { Log = new ClassJsonLogger <ClusterNode>(logger); _executeCts = new CancellationTokenSource(); _executeCancellationToken = _executeCts.Token; _indirectXHost = indirectXHost; _configRoot = configRoot; Log.Info(_ => _("Starting Asp.Net core...")); _webHost = webHostBuilder .UseStartup <ClusterNodeStartup>() .Build(); _webHost.Start(); _hostLifetimeService = _webHost.Services.GetRequiredService <IApplicationLifetime>(); Key = new ClusterNodeKey(_configRoot.GetValue(ClusterNodeIdKey, "single-node")); var addressesFeature = _webHost.ServerFeatures.Get <IServerAddressesFeature>(); foreach (string addressesFeatureAddress in addressesFeature.Addresses) { Log.Info( addressesFeatureAddress, (_, addr) => _($"NodeId = '{Key.Code}' listening on: {addr}").Data(new { ListenAddress = addr })); } Console.CancelKeyPress += (sender, e) => { if (!_executeCancellationToken.IsCancellationRequested) { Log.Trace(_ => _("Termination raised by system.")); _executeCts.Cancel(); } e.Cancel = true; }; }
// [Require(typeof(IClusterNode))] private LoggerWebApp( IIxResolver resolver, IWebHostBuilder webHostBuilder, IJsonLogger logger, ILogReader logReader, LoggerWebAppConfig config) { Log = new ClassJsonLogger <LoggerWebApp>(logger); Log.Info(_ => _("Starting Asp.Net core...")); _webHost = webHostBuilder // Should be removed after adoption IndirectX to Asp.Net core. .ConfigureServices( x => x .AddHttpRequestScopeService() .AddScopedHttpContextAccessor() .AddSingleton(new Tuple <IJsonLogger, IIxResolver>(Log, resolver)) .AddSingleton <ILogReader>(logReader) .AddSingleton(config)) .UseStartup <LoggerWebAppStartup>() .ConfigureJsonFormatters(JsonDefaults.RestRpcSerializerSource.Settings) .Build(); _webHost.Start(); var addressesFeature = _webHost.ServerFeatures.Get <IServerAddressesFeature>(); var addresses = new HashSetEx <string>(); foreach (string addressesFeatureAddress in addressesFeature.Addresses) { addresses.Add(addressesFeatureAddress); Log.Info( addressesFeatureAddress, (_, addr) => _($"Now listening on: {addr}").Data(new { ListenAddress = addr })); } HostingUrls = addresses; }
public DumpHandler(HttpMessageHandler inner, IJsonLogger logger) : base(inner) { Log = new ClassJsonLogger <DumpHandler>(logger); }
/// <summary> /// Initializes a new instance of the <see cref="PersistenceBase{TPersistence,TUnitOfWork}"/> class. /// </summary> /// <param name="logger">Logger for persistence.</param> /// <remarks> /// Do not forget to call Initialize method as last operation in the constructor. /// </remarks> protected PersistenceBase(IJsonLogger logger) { // Do nothing. Log = new ClassJsonLogger <TPersistence>(logger); }