public void LogContextProperties() { var connectionString = ""; var queueName = ""; var settings = new NodiniteLogEventSettings() { LogAgentValueId = 503, EndPointDirection = 0, EndPointTypeId = 0, EndPointUri = "Nodinite.Serilog.ServiceBusSink.Tests.Serilog", EndPointName = "Nodinite.Serilog.ServiceBusSink.Tests", ProcessingUser = "******", ProcessName = "Nodinite.Serilog.ServiceBusSink.Tests", ProcessingMachineName = "NODINITE-DEV", ProcessingModuleName = "DOTNETCORE.TESTS", ProcessingModuleType = "DOTNETCORE.TESTPROJECT" }; ILogger log = new LoggerConfiguration() .WriteTo.NodiniteServiceBusSink(connectionString, queueName, settings) .CreateLogger() .ForContext("ApplicationInterchangeId", $"CustomId-{Guid.NewGuid().ToString()}") .ForContext("CustomerId", 12) .ForContext("Body", JsonConvert.SerializeObject(new { Id = 1 })) .ForContext("OriginalMessageType", "TestMessage#1.0"); log.Information($"Customer '12' imported"); }
public NodiniteServiceBusSink(string connectionString, string queueName, NodiniteLogEventSettings settings, IFormatProvider formatProvider) { _connectionString = connectionString; _queueName = queueName; _settings = settings; _formatProvider = formatProvider; _localInterchangeId = Guid.NewGuid(); // validate settings if (!_settings.LogAgentValueId.HasValue) { throw new ArgumentNullException("LogAgentValueId must not be null"); } }
public static LoggerConfiguration NodiniteServiceBusSink( this LoggerSinkConfiguration loggerConfiguration, string ConnectionString, string QueueName, NodiniteLogEventSettings Settings, IFormatProvider formatProvider = null, LogEventLevel restrictedToMinimumLevel = LevelAlias.Minimum) { if (loggerConfiguration == null) { throw new ArgumentNullException("loggerConfiguration"); } return(loggerConfiguration.Sink(new NodiniteServiceBusSink(ConnectionString, QueueName, Settings, formatProvider), restrictedToMinimumLevel)); }
public static async Task <IActionResult> Run( [HttpTrigger(AuthorizationLevel.Function, "get", "post", Route = null)] HttpRequest req, Microsoft.Extensions.Logging.ILogger log) { var nodiniteApiUrl = "https://{yourNodiniteInstance}/LogApi/api/"; var settings = new NodiniteLogEventSettings() { LogAgentValueId = 503, EndPointDirection = 0, EndPointTypeId = 0, EndPointUri = "Nodinite.Serilog.ApiSink.AzureFunction.Serilog", EndPointName = "Nodinite.Serilog.ApiSink.AzureFunction", OriginalMessageTypeName = "Serilog.LogEvent", ProcessingUser = "******", ProcessName = "Azure.FunctionApp.MyFunctionProj.MyHttpTrigger", ProcessingMachineName = "Azure", ProcessingModuleName = "Azure.FunctionApp.MyFunctionProj", ProcessingModuleType = "Azure.FunctionApp" }; string orderId = req.Query["orderId"]; string correlationId = req.Query["correlationId"]; Serilog.ILogger nodiniteLogger = new LoggerConfiguration() .WriteTo.NodiniteApiSink(nodiniteApiUrl, settings) .CreateLogger() .ForContext("CorrelationdId", correlationId) .ForContext("OrderId", orderId); string msg = $"Order #{orderId} processed."; nodiniteLogger.Information(msg); log.LogInformation(msg); string requestBody = await new StreamReader(req.Body).ReadToEndAsync(); dynamic data = JsonConvert.DeserializeObject(requestBody); return((ActionResult) new OkObjectResult(msg)); }
public void InitiateLogger_MissingLogAgentValue() { var connectionString = ""; var queueName = ""; var settings = new NodiniteLogEventSettings() { EndPointDirection = 0, EndPointTypeId = 0, EndPointUri = "Nodinite.Serilog.Sink.Tests.Serilog", EndPointName = "Nodinite.Serilog.Sink.Tests", OriginalMessageTypeName = "Serilog.LogEvent", ProcessingUser = "******", ProcessName = "Nodinite.Serilog.Sink.Tests", ProcessingMachineName = "NODINITE-DEV", ProcessingModuleName = "DOTNETCORE.TESTS", ProcessingModuleType = "DOTNETCORE.TESTPROJECT" }; Logger log = new LoggerConfiguration() .WriteTo.NodiniteServiceBusSink(connectionString, queueName, settings) .CreateLogger(); }