Module Expr Str Import alias Import alias ImportFrom alias alias ImportFrom alias FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr NameLoad Assign NameStore ListLoad For NameStore NameLoad body If BoolOpAnd CompareEq SubscriptLoad NameLoad Index Num Str CompareEq SubscriptLoad NameLoad Index Num Str body Continue orelse If BoolOpAnd Call AttributeLoad SubscriptLoad NameLoad Index Num attr Str CompareIn SubscriptLoad NameLoad Index Num Set Str Str body Continue orelse If BoolOpAnd Call AttributeLoad SubscriptLoad NameLoad Index Num attr Str CompareEq SubscriptLoad NameLoad Index Num Str body Continue Expr Call AttributeLoad NameLoad attr NameLoad Assign NameStore ListLoad Str Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr NameLoad NameLoad Return NameLoad decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args NameParam NameParam defaults body Return Call AttributeLoad Str attr Call NameLoad NameLoad decorator_list decorator_list FunctionDef arguments args NameParam defaults body Expr Str If BoolOpOr CompareIn Str NameLoad CompareIn Str NameLoad body Assign NameStore BinOpAdd SubscriptLoad Call AttributeLoad NameLoad attr Str Num Index Num Str Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call NameLoad NameLoad If CompareIn Str NameLoad body Assign NameStore SubscriptLoad NameLoad Index Str If Call AttributeLoad NameLoad attr Str body Assign SubscriptStore NameLoad Index Str Str Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr If BoolOpOr CompareEq NameLoad Num BoolOpAnd CompareLt NameLoad Num Call NameLoad NameLoad NameLoad body Assign NameStore AttributeLoad NameLoad attr orelse If CompareLt NameLoad Num body Assign NameStore AttributeLoad NameLoad attr orelse If CompareLt NameLoad Num body Assign NameStore AttributeLoad NameLoad attr orelse Assign NameStore AttributeLoad NameLoad attr Assign NameStore Call NameLoad AttributeLoad NameLoad attr Assign NameStore Call NameLoad AttributeLoad NameLoad attr Assign NameStore BinOpMult Num Call AttributeLoad AttributeLoad NameLoad attr attr Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore Call NameLoad keyword NameLoad keyword AttributeLoad NameLoad attr keyword AttributeLoad NameLoad attr keyword NameLoad keyword NameLoad keyword IfExp NameLoad AttributeLoad NameLoad attr Str Assign NameStore Str If BoolOpAnd CompareGtE NameLoad Num CompareNotEq NameLoad Num body Expr Call NameLoad Call AttributeLoad NameLoad attr NameLoad keyword Num Expr Call NameLoad Call AttributeLoad NameLoad attr NameLoad decorator_list
N/A N/A logging utilities N/A json N/A traceback tornado.log LogFormatter access_log tornado.web StaticFileHandler coroutine_traceback N/A N/A typ value tb N/A N/A N/A Scrub coroutine frames from a traceback
    
    Coroutine tracebacks have a bunch of identical uninformative frames at each yield point.
    This removes those extra frames, so tracebacks should be easier to read.
    This might be a horrible idea.
    
    Returns a list of strings (like traceback.format_tb)
     N/A all_frames N/A N/A traceback extract_tb tb N/A useful_frames N/A N/A frame all_frames N/A N/A N/A N/A N/A frame N/A 0 <string> N/A N/A frame N/A 2 raise_exc_info N/A N/A N/A N/A N/A N/A N/A N/A frame N/A 0 endswith tornado/gen.py N/A N/A frame N/A 2 N/A run wrapper N/A N/A N/A N/A N/A N/A N/A N/A frame N/A 0 endswith tornado/concurrent.py N/A N/A frame N/A 2 result N/A N/A N/A N/A N/A useful_frames append frame N/A tb_list N/A Traceback (most recent call last):
 N/A N/A N/A tb_list extend N/A N/A traceback format_list useful_frames N/A N/A N/A tb_list extend N/A N/A traceback format_exception_only typ value N/A tb_list N/A CoroutineLogFormatter N/A LogFormatter N/A N/A Log formatter that scrubs coroutine frames formatException N/A N/A self exc_info N/A N/A N/A N/A N/A join N/A coroutine_traceback exc_info N/A N/A _scrub_uri N/A N/A uri N/A N/A N/A scrub auth info from uri N/A N/A N/A /api/authorizations/cookie/ uri N/A /api/authorizations/token/ uri N/A N/A uri N/A N/A N/A N/A uri rsplit / 1 N/A 0 /[secret] N/A uri N/A _scrub_headers N/A N/A headers N/A N/A N/A scrub auth info from headers N/A headers N/A dict headers N/A N/A Authorization headers N/A N/A auth N/A headers N/A Authorization N/A N/A N/A auth startswith token  N/A N/A N/A headers N/A Authorization token [secret] N/A headers N/A log_request N/A N/A handler N/A N/A N/A log a bit more information about each request than tornado's default
    
    - move static file get success to debug-level (reduces noise)
    - get proxied IP instead of proxy IP
    - log referer for redirect and failed requests
    - log user-agent for failed requests
     N/A status N/A N/A handler get_status N/A request N/A handler request N/A N/A N/A status 304 N/A N/A status 300 N/A isinstance handler StaticFileHandler N/A N/A log_method N/A access_log debug N/A N/A N/A status 400 N/A N/A log_method N/A access_log info N/A N/A N/A status 500 N/A N/A log_method N/A access_log warning N/A N/A log_method N/A access_log error N/A uri N/A _scrub_uri N/A request uri N/A headers N/A _scrub_headers N/A request headers N/A request_time N/A 1000.0 N/A N/A N/A handler request request_time N/A user N/A N/A handler get_current_user N/A ns N/A dict status status method N/A request method ip N/A request remote_ip uri uri request_time request_time user N/A user N/A user name N/A msg {status} {method} {uri} ({user}@{ip}) {request_time:.2f}ms N/A N/A N/A status 500 N/A status 502 N/A N/A N/A log_method N/A N/A json dumps headers indent 2 N/A N/A log_method N/A N/A msg format ns N/A