Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import json
- import os
- from os import getenv as os_getenv
- import zmq
- import logging
- import re
- from datetime import datetime
- context = zmq.Context()
- # Socket to receive messages on
- receiver = context.socket(zmq.PULL)
- receiver.bind(os_getenv("SINK_BIND_ADDRESS", "tcp://*:5558")) # prepare connection
- LOGGER = logging.getLogger("sink_file_logger") # create logger
- LOG_FILE = os_getenv("ZMQ_SINK_LOG_FILE", "./zmqlog.log") # get log file path
- LOG_LEVEL = os_getenv("ZMQ_SINK_LOG_LEVEL", "INFO") # get logging level
- LOGGER.setLevel(LOG_LEVEL) # set the levevel
- handler = logging.FileHandler(LOG_FILE) # create new file logger
- handler.setLevel(LOG_LEVEL)
- LOGGER.addHandler(handler)
- LOGGER.propagate = False
- print("Sink started")
- while True: # start main loop
- record = receiver.recv().decode('ascii') # wait for the message
- try:
- log = json.loads(record) # try to parse it
- if log['message']['class'] == 'request':
- LOGGER.info(record) # and store to file
- except json.JSONDecodeError:
- print("Problem while decoding input:")
- print(record)
Add Comment
Please, Sign In to add comment