Как я могу регистрировать все команды AMQP, которые проходят через брокера RabbitMQ, включая служебные команды, такие как basic.ack
, confirm.select
и т. Д.?Как записывать команды AMQP в RabbitMQ?
ответ
Стандартная клиентская библиотека Java com.rabbitmq:amqp-client:3.5.4
содержит Tracer
инструмент, который работает как автономный прокси между клиентом и брокером. Он регистрирует все команды AMQP, которые проходят через него до System.out
.
Это описано здесь: http://www.rabbitmq.com/java-tools.html
Вот пример его вывода:
1441190584927: <Tracer-0> ch#1 -> {#method<channel.open>(out-of-band=), null, ""}
1441190584968: <Tracer-0> ch#1 <- {#method<channel.open-ok>(channel-id=), null, ""}
1441190585008: <Tracer-0> ch#1 -> {#method<confirm.select>(nowait=false), null, ""}
1441190585047: <Tracer-0> ch#1 <- {#method<confirm.select-ok>(), null, ""}
1441190585090: <Tracer-0> ch#1 -> {#method<basic.publish>(ticket=0, exchange=node.confirm.publish, routing-key=, mandatory=false, immediate=false), #contentHeader<basic>(content-type=string/utf8, content-encoding=null, headers=null, delivery-mode=2, priority=null, correlation-id=null, reply-to=null, expiration=null, message-id=null, timestamp=null, type=null, user-id=null, app-id=null, cluster-id=null), "some message"}
1441190585128: <Tracer-0> ch#1 <- {#method<channel.close>(reply-code=404, reply-text=NOT_FOUND - no exchange 'node.confirm.publish' in vhost '/', class-id=60, method-id=40), null, ""}
вам необходимо изменить конфигурацию rabbimq. см. this page for configuration settings.
конкретно, вы хотите установить что-то вроде «информации» или «отладки» для любого интересующих вас:
[
{log_levels, [
{channel, debug},
{connection, debug}
]}
].
С этой страницы, искать log_levels
и вы найдете эту конфигурацию информация:
Управление зернистостью лесозаготовок. Значение представляет собой список категорий событий журнала и пар журналов.
Уровень может быть одним из «ни одного» (события не регистрируются), «ошибка» (регистрируются только ошибки), «предупреждение» (регистрируются только ошибки и предупреждения), «информация» (ошибки, предупреждения и информационные сообщения регистрируются) или «отладка» (ошибки, предупреждения, информационные сообщения и сообщения отладки регистрируются).
В настоящее время определены четыре категории. Другие, в настоящее время не классифицированные, события всегда регистрируются.
В категории:
- канал - для всех событий, связанных с AMQP каналов
- соединения - для всех событий, связанных с сетевыми соединениями
- федерации - для всех событий, относящихся к федерации
- зеркального отображения - по всем событиям, касающимся зеркальных очередей
По умолчанию: [{connection, info} ]
- 1. JMS и AMQP - RabbitMQ
- 2. AMQP/RabbitMQ - Как избежать гонки условия
- 3. amqp rabbitmq scope scope
- 4. RabbitMQ несоответствие протокола AMQP
- 5. Группы сообщений в RabbitMQ/AMQP
- 6. Проблема с RabbitMQ в AMQP
- 7. Как установить политику переопределения в RabbitMQ/AMQP
- 8. AMQP через WebSocket с RabbitMQ
- 9. AMQP/RabbitMQ - обрабатывать сообщения последовательно
- 10. spring-amqp vs rabbitmq version
- 11. Зачем использовать AMQP/ZeroMQ/RabbitMQ
- 12. Как удалить сообщения из очереди AMQP (RabbitMQ)?
- 13. RabbitMQ ConnectionFactory - неправильная схема в AMQP URI:
- 14. AMQP/RabbitMQ отправитель в AVR (Arduino)
- 15. node-celery vs node-amqp для RabbitMQ
- 16. RabbitMQ PHP driver (AMQP): обработка заблокированных подключений
- 17. django-сельдерей без сервера amqp (rabbitmq)
- 18. Поддерживает ли Spring AMQP федерацию rabbitmq?
- 19. rabbitmq amqp - прослушивание сообщений от потребителей
- 20. Spring AMQP/RabbitMQ и Hibernate Transaction Mananger
- 21. rabbitmq (AMQP): удалить все сообщения из очереди
- 22. Spring AMQP RabbitMQ, реализующий приоритетную очередь
- 23. amqp не может получить доступ к rabbitmq
- 24. Rabbitmq 3.5.6 не может установить порт AMQP
- 25. Как отключить tempQueues в реализации Async AMQP-RabbitMQ в Mule?
- 26. Дросселирование потребителя AMQP с использованием RabbitMQ
- 27. Версия AMQP для более раннего экземпляра RabbitMQ
- 28. RabbitMQ высокой доступности с Spring AMQP
- 29. Rabbitmq - php amqp broken broken pipe error
- 30. Ошибка необработанного канала RabbitMQ/AMQP - NOT_FOUND
Я пытался поставить '{log_levels, [{подключение, отладка}, {канал отладки}]}' в my rabbitmq.config, но я не вижу, чтобы команды AMQP регистрировались. Я проверил, что мой файл конфигурации используется, установив уровень журнала на «none» и наблюдая, что ничего не регистрируется. Что мне не хватает? – wheleph