@@ -0,0 +1,84 @@
|
||||
"""Журнал событий сети/mDNS в админке (тот же JSONL, component=network)."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import logging
|
||||
from typing import Any, Dict, Optional
|
||||
|
||||
from app.services.admin_peripheral_monitor import append_peripheral_event
|
||||
|
||||
_LOG = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def log_network_event(
|
||||
app,
|
||||
*,
|
||||
code: str,
|
||||
message: str,
|
||||
level: str = "info",
|
||||
details: Optional[Dict[str, Any]] = None,
|
||||
force: bool = False,
|
||||
) -> None:
|
||||
append_peripheral_event(
|
||||
app,
|
||||
component="network",
|
||||
code=code,
|
||||
level=level,
|
||||
message=message,
|
||||
details=details,
|
||||
force=force,
|
||||
)
|
||||
_LOG.info("network/%s: %s", code, message)
|
||||
|
||||
|
||||
def log_network_settings_saved(app, *, updates: dict, user_login: str) -> None:
|
||||
parts = []
|
||||
if "local_hostname" in updates:
|
||||
parts.append(f"hostname={updates['local_hostname']}")
|
||||
if "public_base_url" in updates:
|
||||
parts.append(f"url={updates['public_base_url'] or '(auto)'}")
|
||||
if "mdns_enabled" in updates:
|
||||
parts.append(f"mdns={'on' if updates['mdns_enabled'] else 'off'}")
|
||||
log_network_event(
|
||||
app,
|
||||
code="network_settings_saved",
|
||||
level="ok",
|
||||
message=f"Настройки сети сохранены ({', '.join(parts) or '—'})",
|
||||
details={"user": user_login, **updates},
|
||||
force=True,
|
||||
)
|
||||
|
||||
|
||||
def log_mdns_started(app, *, hostname: str, lan_ip: str, port: int) -> None:
|
||||
log_network_event(
|
||||
app,
|
||||
code="mdns_started",
|
||||
level="ok",
|
||||
message=f"mDNS: {hostname} → {lan_ip}:{port}",
|
||||
details={"hostname": hostname, "lan_ip": lan_ip, "port": port},
|
||||
force=True,
|
||||
)
|
||||
|
||||
|
||||
def log_mdns_stopped(app, *, reason: str = "") -> None:
|
||||
msg = "mDNS остановлен"
|
||||
if reason:
|
||||
msg = f"{msg}: {reason}"
|
||||
log_network_event(
|
||||
app,
|
||||
code="mdns_stopped",
|
||||
level="info",
|
||||
message=msg,
|
||||
details={"reason": reason} if reason else None,
|
||||
force=True,
|
||||
)
|
||||
|
||||
|
||||
def log_mdns_error(app, *, message: str) -> None:
|
||||
log_network_event(
|
||||
app,
|
||||
code="mdns_error",
|
||||
level="err",
|
||||
message=message,
|
||||
force=False,
|
||||
)
|
||||
Reference in New Issue
Block a user