Commit 11e7c48e authored by Savorboard's avatar Savorboard

refactor log messages.

parent 01866e01
...@@ -24,7 +24,7 @@ namespace DotNetCore.CAP.Kafka ...@@ -24,7 +24,7 @@ namespace DotNetCore.CAP.Kafka
public event EventHandler<MessageContext> OnMessageReceived; public event EventHandler<MessageContext> OnMessageReceived;
public event EventHandler<string> OnError; public event EventHandler<LogMessageEventArgs> OnLog;
public void Subscribe(IEnumerable<string> topics) public void Subscribe(IEnumerable<string> topics)
{ {
...@@ -34,7 +34,6 @@ namespace DotNetCore.CAP.Kafka ...@@ -34,7 +34,6 @@ namespace DotNetCore.CAP.Kafka
if (_consumerClient == null) if (_consumerClient == null)
InitKafkaClient(); InitKafkaClient();
//_consumerClient.Assign(topics.Select(x=> new TopicPartition(x, 0)));
_consumerClient.Subscribe(topics); _consumerClient.Subscribe(topics);
} }
...@@ -76,12 +75,17 @@ namespace DotNetCore.CAP.Kafka ...@@ -76,12 +75,17 @@ namespace DotNetCore.CAP.Kafka
_consumerClient.OnError += ConsumerClient_OnError; _consumerClient.OnError += ConsumerClient_OnError;
} }
private void ConsumerClient_OnConsumeError(object sender, Message e) private void ConsumerClient_OnConsumeError(object sender, Message e)
{ {
var message = e.Deserialize<Null, string>(null, StringDeserializer); var message = e.Deserialize<Null, string>(null, StringDeserializer);
var logArgs = new LogMessageEventArgs
OnError?.Invoke(sender, $"An error occurred during consume the message; Topic:'{e.Topic}'," + {
$"Message:'{message.Value}', Reason:'{e.Error}'."); LogType = MqLogType.ConsumeError,
Reason = $"An error occurred during consume the message; Topic:'{e.Topic}'," +
$"Message:'{message.Value}', Reason:'{e.Error}'."
};
OnLog?.Invoke(sender, logArgs);
} }
private void ConsumerClient_OnMessage(object sender, Message<Null, string> e) private void ConsumerClient_OnMessage(object sender, Message<Null, string> e)
...@@ -98,7 +102,12 @@ namespace DotNetCore.CAP.Kafka ...@@ -98,7 +102,12 @@ namespace DotNetCore.CAP.Kafka
private void ConsumerClient_OnError(object sender, Error e) private void ConsumerClient_OnError(object sender, Error e)
{ {
OnError?.Invoke(sender, e.ToString()); var logArgs = new LogMessageEventArgs
{
LogType = MqLogType.ServerConnError,
Reason = e.ToString()
};
OnLog?.Invoke(sender, logArgs);
} }
#endregion private methods #endregion private methods
......
using System;
namespace DotNetCore.CAP
{
public enum MqLogType
{
//RabbitMQ
ConsumerCancelled,
ConsumerRegistered,
ConsumerUnregistered,
ConsumerShutdown,
//Kafka
ConsumeError,
ServerConnError
}
public class LogMessageEventArgs : EventArgs
{
public string Reason { get; set; }
public MqLogType LogType { get; set; }
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment