Есть ли способ распечатать эти журналы optl в файлы?Python

Программы на Python
Ответить
Anonymous
 Есть ли способ распечатать эти журналы optl в файлы?

Сообщение Anonymous »

В упомянутом коде я пытаюсь периодически сохранять эти журналы в txt-файлы.
Я ссылался и проверял документы, но не смог их найти. Эти журналы необходимо сохранять каждые 30 минут. Добавление файлов для flask api и структуры проекта
Main.py

Код: Выделить всё

import logging
from logging.handlers import TimedRotatingFileHandler
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.metrics import MeterProvider
from opentelemetry.sdk.trace.export import BatchSpanProcessor
from opentelemetry.sdk.metrics.export import ConsoleMetricExporter
from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import OTLPSpanExporter
from opentelemetry.sdk.logs import LoggerProvider, LoggingHandler
from opentelemetry.sdk.resources import SERVICE_NAME, Resource
from opentelemetry.instrumentation.flask import FlaskInstrumentor
from app import create_app
from app.api import api

app = create_app('config/config.yaml')

FlaskInstrumentor().instrument_app(app)

resource = Resource(attributes={SERVICE_NAME: "sample-flask-app"})

tracer_provider = TracerProvider(resource=resource)
span_processor = BatchSpanProcessor(OTLPSpanExporter())
tracer_provider.add_span_processor(span_processor)

metrics_provider = MeterProvider(resource=resource)
metrics_provider.add_metric_reader(ConsoleMetricExporter())

logging_provider = LoggerProvider(resource=resource)
logging.getLogger().addHandler(LoggingHandler(logging_provider))

logging.basicConfig(level=logging.INFO)
logger = logging.getLogger("application_logger")
trace_handler = TimedRotatingFileHandler(
app.config['logging']['traces_log_dir'] + "/traces.log", when="m", interval=app.config['logging']['log_file_interval']
)
metric_handler = TimedRotatingFileHandler(
app.config['logging']['metrics_log_dir'] + "/metrics.log", when="m", interval=app.config['logging']['log_file_interval']
)
app_handler = TimedRotatingFileHandler(
app.config['logging']['application_log_dir'] + "/app.log", when="m", interval=app.config['logging']['log_file_interval']
)

trace_handler.setLevel(logging.DEBUG)
metric_handler.setLevel(logging.DEBUG)
app_handler.setLevel(logging.INFO)

logging.getLogger("opentelemetry").addHandler(trace_handler)
logger.addHandler(app_handler)

app.register_blueprint(api, url_prefix="/api")

if __name__ == '__main__':
app.run(
host=app.config['app']['host'],
port=app.config['app']['port'],
debug=app.config['app']['debug']
)
App/api.py

Код: Выделить всё

from flask import Blueprint, jsonify, request
import time

api = Blueprint('api', __name__)

@api.route('/status', methods=['GET'])
def status():
return jsonify({"status": "OK", "timestamp": time.time()}), 200

@api.route('/process', methods=['POST'])
def process():
data = request.json
result = {"received_data": data, "timestamp": time.time()}
return jsonify(result), 201
App/init.py

Код: Выделить всё

from flask import Flask
from yaml import safe_load

def create_app(config_path):
app = Flask(__name__)
with open(config_path, 'r') as file:
config = safe_load(file)
app.config.update(config)
return app
Требования
Flask
PyYAML
opentelemetry-api
opentelemetry-sdk
opentelemetry-instrumentation -колба

Подробнее здесь: https://stackoverflow.com/questions/792 ... s-to-files
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»