@@ -25,6 +25,20 @@ def __init__(self, service: Text, path=__file__):
2525 def init_libs (self ):
2626 return self .application
2727
28+ def init_tracer (self ):
29+ self .application .tracer = FlaskTracer (init_jaeger_tracer (), True , self .application )
30+
31+ def init_logger (self ):
32+ formatter = CustomJsonFormatter ('(timestamp) (level) (name) (module) (funcName) (lineno) (message)' )
33+ formatter .add_service_name (self .application .config ["APP_NAME" ])
34+ if getattr (self .application , "tracer" , False ):
35+ formatter .add_trace_span (self .application .tracer )
36+ log_handler = logging .StreamHandler ()
37+ log_handler .setFormatter (formatter )
38+ self .application .logger .addHandler (log_handler )
39+ self .application .logger .propagate = False
40+ self .application .logger .setLevel (logging .INFO )
41+
2842 def create_app (self ):
2943 """Initialize the Flask app, register blueprints and initialize
3044 all libraries like Swagger, database,
@@ -50,18 +64,10 @@ def create_app(self):
5064 self .init_libs ()
5165 self .add_error_handlers ()
5266
53- # Inject Modules
54- formatter = CustomJsonFormatter ('(timestamp) (level) (name) (module) (funcName) (lineno) (message)' )
5567 if not self .application .config ["TESTING" ]:
56- log_handler = logging . StreamHandler ()
68+ self . init_tracer ()
5769
58- self .application .tracer = FlaskTracer (init_jaeger_tracer (), True , self .application )
59- formatter .add_service_name (self .application .config ["APP_NAME" ])
60- formatter .add_trace_span (self .application .tracer )
61- log_handler .setFormatter (formatter )
62- self .application .logger .addHandler (log_handler )
63- self .application .logger .propagate = False
64- self .application .logger .setLevel (logging .INFO )
70+ self .init_logger ()
6571
6672 return self .application
6773
0 commit comments