Guest User

Untitled

a guest
May 20th, 2018
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 KB | None | 0 0
  1. import json
  2. import os
  3. from os import getenv as os_getenv
  4. import zmq
  5. import logging
  6. import re
  7. from datetime import datetime
  8.  
  9. context = zmq.Context()
  10.  
  11. # Socket to receive messages on
  12. receiver = context.socket(zmq.PULL)
  13. receiver.bind(os_getenv("SINK_BIND_ADDRESS", "tcp://*:5558")) # prepare connection
  14.  
  15. LOGGER = logging.getLogger("sink_file_logger") # create logger
  16. LOG_FILE = os_getenv("ZMQ_SINK_LOG_FILE", "./zmqlog.log") # get log file path
  17. LOG_LEVEL = os_getenv("ZMQ_SINK_LOG_LEVEL", "INFO") # get logging level
  18.  
  19. LOGGER.setLevel(LOG_LEVEL) # set the levevel
  20.  
  21. handler = logging.FileHandler(LOG_FILE) # create new file logger
  22. handler.setLevel(LOG_LEVEL)
  23. LOGGER.addHandler(handler)
  24.  
  25. LOGGER.propagate = False
  26.  
  27. print("Sink started")
  28.  
  29. while True: # start main loop
  30. record = receiver.recv().decode('ascii') # wait for the message
  31. try:
  32. log = json.loads(record) # try to parse it
  33. if log['message']['class'] == 'request':
  34. LOGGER.info(record) # and store to file
  35. except json.JSONDecodeError:
  36. print("Problem while decoding input:")
  37. print(record)
Add Comment
Please, Sign In to add comment