You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

51 lines
1.4 KiB

  1. /*
  2. * node-rdkafka - Node.js wrapper for RdKafka C/C++ library
  3. * Copyright (c) 2016 Blizzard Entertainment
  4. *
  5. * This software may be modified and distributed under the terms
  6. * of the MIT license. See the LICENSE.txt file for details.
  7. */
  8. module.exports = eventListener;
  9. function eventListener(client) {
  10. if (!process.env.DEBUG) {
  11. return;
  12. }
  13. client
  14. .on('event.error', function (err) {
  15. console.error(err);
  16. })
  17. .on('event.log', function(event) {
  18. var info = {
  19. severity: event.severity,
  20. fac: event.fac,
  21. };
  22. if (event.severity >= 7) {
  23. console.error(info, event.message);
  24. } else if (event.severity === 6 || event.severity === 5) {
  25. console.error(info, event.message);
  26. } else if (event.severity === 4) {
  27. console.error(info, event.message);
  28. } else if (event.severity > 0) {
  29. console.error(info, event.message);
  30. } else {
  31. console.error(info, event.message);
  32. }
  33. })
  34. .on('event.stats', function(event) {
  35. console.log(event, event.message);
  36. })
  37. .on('event.throttle', function(event) {
  38. console.log(event, '%s#%d throttled.', event.brokerName, event.brokerId);
  39. // event.throttleTime;
  40. })
  41. .on('event.event', function(event) {
  42. console.log(event, event.message);
  43. })
  44. .on('ready', function(info) {
  45. console.log('%s connected to kafka server', info.name);
  46. });
  47. }