opentracing logs

This commit is contained in:
Steve Waterworth
2019-01-25 17:32:35 +00:00
parent 6bf96e9b15
commit fffa081d8e

View File

@@ -5,6 +5,7 @@ import logging
import uuid import uuid
import json import json
import requests import requests
import traceback
import opentracing as ot import opentracing as ot
import opentracing.ext.tags as tags import opentracing.ext.tags as tags
from flask import Flask from flask import Flask
@@ -18,6 +19,19 @@ CART = os.getenv('CART_HOST', 'cart')
USER = os.getenv('USER_HOST', 'user') USER = os.getenv('USER_HOST', 'user')
PAYMENT_GATEWAY = os.getenv('PAYMENT_GATEWAY', 'https://paypal.com/') PAYMENT_GATEWAY = os.getenv('PAYMENT_GATEWAY', 'https://paypal.com/')
@app.errorhandler(Exception)
def exception_handler(err):
# python instrumentation currently does not pick up error message
logkv = {'message': str(err)}
tblines = traceback.format_exc().splitlines()
count = 1
for line in tblines:
logkv['stack{}'.format(count)] = line
count += 1
ot.tracer.active_span.log_kv(logkv)
app.logger.error(str(err))
return str(err), 500
@app.route('/health', methods=['GET']) @app.route('/health', methods=['GET'])
def health(): def health():
return 'OK' return 'OK'
@@ -40,12 +54,14 @@ def pay(id):
anonymous_user = False anonymous_user = False
# check that the cart is valid # check that the cart is valid
# this will blow up if the cart is not valid
has_shipping = False has_shipping = False
for item in cart.get('items'): for item in cart.get('items'):
if item.get('sku') == 'SHIP': if item.get('sku') == 'SHIP':
has_shipping = True has_shipping = True
if int(cart.get('total')) == 0 or has_shipping == False: if not cart.get('total') or int(cart.get('total')) == 0 or has_shipping == False:
app.logger.warn('cart not valid')
return 'cart not valid', 400 return 'cart not valid', 400
# dummy call to payment gateway, hope they dont object # dummy call to payment gateway, hope they dont object