private void ProducerLoggingProcessor() { while (producerLogsQueue.Count > 0) { var producerLog = producerLogsQueue.Dequeue(); ProducerWriter.WriteInProducerLogFile(producerLog.Tenant, producerLog.Product, producerLog.Component, producerLog.Topic, producerLog.ProducerName, producerLog.Log); } IsProducerLoggingWorking = false; }
public bool TryCreateProducerDirectory(string tenant, string product, string component, string topic, Producer producer) { try { if (Directory.Exists(ProducerLocations.GetProducerDirectory(tenant, product, component, topic, producer.Name)) != true) { Directory.CreateDirectory(ProducerLocations.GetProducerDirectory(tenant, product, component, topic, producer.Name)); Directory.CreateDirectory(ProducerLocations.GetProducerLogsDirectory(tenant, product, component, topic, producer.Name)); producerLogsQueue.Enqueue(new ProducerLog() { Tenant = tenant, Product = product, Component = component, Topic = topic, ProducerName = producer.Name, Log = $"{DateTime.Now:HH:mm:ss}|PRODUCER#|{producer.Name}|{producer.Id}|CREATED" }); ProducerWriter.WriteProducerConfigFile(tenant, product, component, topic, producer); logger.LogInformation($"Producer '{producer.Name}' at {tenant}/{product}/{component}/{topic} is created"); }