docs: def process_log_event(event, context):
      """Format log events and relay via sns/email"""
      init()
      serialized = event['awslogs'].pop('data')
      data = json.loads(zlib.decompress(
          base64.b64decode(serialized), 16 + zlib.MAX_WBITS))
  
      # Fetch additional logs for context (20s window)
      timestamps = [e['timestamp'] for e in data['logEvents']]
      start = min(timestamps) - 1000 * 15
      end = max(timestamps) + 1000 * 5
  
      events = logs.get_log_events(
          logGroupName=data['logGroup'],
          logStreamName=data['logStream'],
          startTime=start,
          endTime=end,
          startFromHead=True)['events']
  
      message = [
          "An error was detected",
          "",
          "Log Group: %s" % data['logGroup'],
          "Log Stream: %s" % data['logStream'],
          "Log Owner: %s" % data['owner'],
          "",
          "Log Contents",
          ""]
  
      # We may get things delivered from log sub that are not in log events
      for evt in data['logEvents']:
          if evt not in events:
              events.append(evt)
  
      for evt in events:
          message.append(message_event(evt))
          message.append("")
  
      params = dict(
          TopicArn=config['topic'],
          Subject=config['subject'],
          Message='\n'.join(message))
  
      sns.publish(**params)