Журналы из Flask в Python, использующие AppInsights, не отображаются при размещении в Azure Service Fabric - PullRequest
0 голосов
/ 23 сентября 2019

При локальном запуске приложения-колбы я могу использовать конечные точки, и эти сообщения журнала появляются в ресурсе Application Insights на моем портале Azure.

При запуске приложения-колбы в контейнере служебной фабрики я могу использоватьконечные точки с моего локального компьютера и получают рабочие ответы, информация о запросах действительно появляется в Application Insights, но сообщения журнала не отображаются.

Пример кода:


from flask import Flask, jsonify
from flasgger import Swagger
from applicationinsights.flask.ext import AppInsights
from config.AppConfig import configure_app

# create Flask app
app = Flask(__name__)

# configure app from settings
configure_app(app)

# initiate Application Insights - allowing requests, exceptions and logs to be examined in Azure Portal
appinsights = AppInsights(app)

Swagger(app)


# force flushing application insights handler after each request
@app.after_request
def after_request(response):
    appinsights.flush()
    return response


# api routes
@app.route('/diagnostics', methods=['GET'])
def get_diagnostics():
    """This is a diagnostics endpoint to test connectivity.
    ---
    operationId: get_diagnostics
    produces:
      - application/json
    responses:
      200:
        description: returns ok
        examples:
          {
              "status": "ok"
          }
    """

    app.logger.info('Diagnostics endpoint was used.')

    app.logger.debug('This is a debug log message')
    app.logger.info('This is an information log message')
    app.logger.warn('This is a warning log message')
    app.logger.error('This is an error message')
    app.logger.critical('This is a critical message')

    return jsonify({'status': "ok"}), 200


if __name__ == "__main__":

    host = app.config['SERVER_HOST']
    port = int(app.config['SERVER_PORT'])
    app.logger.info('DataScience starting on port %s ... ', port)
    app.run(host, port)

Ключ инструментария установлен вКонфигурация приложения и, как указано, запросы все еще отображаются на портале Azure при локальном запуске.

Есть предложения?Спасибо.

...