A Python library for parsing rabbitmq messages from text file
Learn more https://mohewedy.medium.com/parse-rabbitmq-messages-2b2dec09280e
pip install --upgrade --force-reinstall git+https://github.com/mhewedy/rmq-msg-parser
If your environment doesn't have pip, or you cannot install it, then follow the following steps:
- create two directories, one for code and other for data
mkdir data rmqparser
- copy the code
from rmqparser/messages.py into
rmqparser/messages.py
then paste the code from the link above
vim rmqparser/messages.py
- copy the messages into data/my_rabbitmq_messages.txt (
see data/my_rabbitmq_messages.txt
for a reference )
then paste the messages into the opened vim file
vim data/my_rabbitmq_messages.txt
- copy the code from main.py into main.py
then paste the code from the link above
vim main.py
- run the main.py file
python main.py
- list all messages:
from rmqparser import messages
print('list all messages:')
msgs = messages.get_messages(r'data/my_rabbitmq_messages.txt')
for msg in msgs:
print(f"message id: {msg.id}, payload: {msg.payload}")
- filter by messages that has header contains "error":
from rmqparser import messages
print('\nfilter by messages that has header contains "error":')
msgs = messages.get_messages(r'data/my_rabbitmq_messages.txt', header_key_pattern='error')
for msg in msgs:
print(f"message id: {msg.id}, payload: {msg.payload}, filtered_headers: {msg.filtered_headers}")
- group messages that has header contains "exception":
from rmqparser import messages
print('\ngroup messages that has header contains "exception":')
grouped_messages = messages.group_by_filtered_headers(r'data/my_rabbitmq_messages.txt', header_key_pattern='exception')
for key, value in grouped_messages.items():
print("Header:", key)
for msg in value:
print(f"message id: {msg.id}, payload: {msg.payload}, filtered_headers: {msg.filtered_headers}")