def chrome_log(response):
    request_duration = (time.time() - g.start_time) * 1000
    queries_duration = g.get('queries_duration', 0.0)
    queries_count = g.get('queries_count', 0)

    group_name = '{} {} ({}, {:.2f}ms runtime, {} queries in {:.2f}ms)'.format(
        request.method, request.path, response.status_code, request_duration,
        queries_count, queries_duration)

    chromelogger.group_collapsed(group_name)

    endpoint = (request.endpoint or 'unknown').replace('.', '_')
    chromelogger.info('Endpoint: {}'.format(endpoint))
    chromelogger.info('Content Type: {}'.format(response.content_type))
    chromelogger.info('Content Length: {}'.format(response.content_length
                                                  or -1))

    log_queries()

    chromelogger.group_end(group_name)

    header = chromelogger.get_header()
    if header is not None:
        response.headers.add(*header)

    return response
Beispiel #2
0
 async def __call__(self, scope, receive, send):
     # headers = dict(scope["headers"])
     if scope["type"] in ("http"):
         header = console.get_header()
         # if header is not None:
         #     headers.update({header[0]: header[1]})
     await self.app(scope, receive, send)
 def log_chrome_console_messages(response):
     if app.config.get('API_LOG_EXCEPTIONS_TO_BROWSER_CONSOLE', False):
         import chromelogger
         header = chromelogger.get_header()
         if header is not None:
             response.headers.add(header[0], header[1])
     return response
Beispiel #4
0
def chrome_log(response):

    request_duration = (time.time() - g.start_time) * 1000

    # g程序上下文,存在于一次请求的处理的生命周期里
    # database的监听器,每次查询都会记录进g
    # 下次请求g,重置

    # D:\redash - master\redash\metrics\database.py

    #         g.setdefault('queries_count', 0)
    #         g.setdefault('queries_duration', 0)
    #         g.queries_count += 1
    #         g.queries_duration += duration
    queries_duration = g.get('queries_duration', 0.0)
    queries_count = g.get('queries_count', 0)

    #  记录整个请求的时间
    # get /resource  (200,  100.10ms runtime, 5 queries in 50ms)

    group_name = '{} {} ({}, {:.2f}ms runtime, {} queries in {:.2f}ms)'.format(
        request.method, request.path, response.status_code, request_duration,
        queries_count, queries_duration)
    # 开始
    console.group_collapsed(group_name)
    ######################################################################

    endpoint = (request.endpoint or 'unknown').replace('.', '_')
    console.info('Endpoint: {}'.format(endpoint))
    console.info('Content Type: {}'.format(response.content_type))
    console.info('Content Length: {}'.format(response.content_length or -1))

    # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    log_queries()

    console.group_end(group_name)

    # 结束
    ######################################################################

    ## 固定搭配???
    header = console.get_header()
    if header is not None:
        response.headers.add(*header)

    return response
Beispiel #5
0
def debug(error=None):
    if hasattr(error, 'traceback'):
        msg = error.traceback
        if not msg:
            # Bottle raised exception
            msg = error.body
    else:
        msg = error
    if console:
        header = console.get_header()
        if header:
            k,v = header
            response.headers[k] = v
    if error:    
        if request.is_xhr and console:
            console.log(msg)
            return { 'error': True }
        else:
            return '<pre>%s</pre>' %  html_escape(msg)
Beispiel #6
0
def chrome_log(response):
    request_duration = (time.time() - g.start_time) * 1000
    queries_duration = g.get('queries_duration', 0.0)
    queries_count = g.get('queries_count', 0)

    group_name = '{} {} ({}, {:.2f}ms runtime, {} queries in {:.2f}ms)'.format(
        request.method, request.path, response.status_code, request_duration, queries_count, queries_duration)

    chromelogger.group_collapsed(group_name)
    
    endpoint = (request.endpoint or 'unknown').replace('.', '_')
    chromelogger.info('Endpoint: {}'.format(endpoint))
    chromelogger.info('Content Type: {}'.format(response.content_type))
    chromelogger.info('Content Length: {}'.format(response.content_length or -1))

    log_queries()

    chromelogger.group_end(group_name)

    header = chromelogger.get_header()
    if header is not None:
        response.headers.add(*header)

    return response
Beispiel #7
0
def hello():
    console.log('Hello console!')
    console.get_header()
    return "Hello World!"
Beispiel #8
0
 def chromelogger(response):
     header = console.get_header()
     if header is not None:
         response.headers.add(*header)
     return response