"""Log viewing API blueprint. Wraps raw log text in the standard JSON response contract. """ from flask import Blueprint from daemon.client import get # noqa: F401 (resolved via module globals at dispatch) from daemon.iface import ( GET_LOGS_APP, GET_LOGS_DNSMASQ, GET_LOGS_JOURNAL, GET_LOGS_NGINX_ACCESS, GET_LOGS_NGINX_ERROR, ) from webui.api.common import daemon_route bp = Blueprint("logs", __name__) @daemon_route(GET_LOGS_JOURNAL, bp) def journal(): """GET /api/logs/journal — Return systemd journal log lines.""" @daemon_route(GET_LOGS_NGINX_ACCESS, bp) def nginx_access(): """GET /api/logs/nginx/access — Return nginx access log lines.""" @daemon_route(GET_LOGS_NGINX_ERROR, bp) def nginx_error(): """GET /api/logs/nginx/error — Return nginx error log lines.""" @daemon_route(GET_LOGS_DNSMASQ, bp) def dnsmasq(): """GET /api/logs/dnsmasq — Return dnsmasq log lines.""" @daemon_route(GET_LOGS_APP, bp) def app_log(): """GET /api/logs/app — Return application log lines."""