Use logger config

This commit is contained in:
Nicolas Mowen 2025-06-13 07:24:59 -06:00
parent 900ecb2a15
commit 3492dce8cc
8 changed files with 20 additions and 7 deletions

View File

@ -386,6 +386,7 @@ class FrigateApp:
self.detection_queue, self.detection_queue,
list(self.config.cameras.keys()), list(self.config.cameras.keys()),
detector_config, detector_config,
self.config,
) )
def start_ptz_autotracker(self) -> None: def start_ptz_autotracker(self) -> None:

View File

@ -35,7 +35,7 @@ class EmbeddingProcess(FrigateProcess):
self.metrics = metrics self.metrics = metrics
def run(self) -> None: def run(self) -> None:
self.pre_run_setup() self.pre_run_setup(self.config.logger)
maintainer = EmbeddingMaintainer( maintainer = EmbeddingMaintainer(
self.config, self.config,
self.metrics, self.metrics,

View File

@ -105,7 +105,7 @@ class AudioProcessor(util.Process):
self.transcription_model_runner = None self.transcription_model_runner = None
def run(self) -> None: def run(self) -> None:
self.pre_run_setup() self.pre_run_setup(self.config.logger)
audio_threads: list[AudioEventMaintainer] = [] audio_threads: list[AudioEventMaintainer] = []
threading.current_thread().name = "process:audio_manager" threading.current_thread().name = "process:audio_manager"

View File

@ -12,6 +12,7 @@ from frigate.comms.object_detector_signaler import (
ObjectDetectorPublisher, ObjectDetectorPublisher,
ObjectDetectorSubscriber, ObjectDetectorSubscriber,
) )
from frigate.config import FrigateConfig
from frigate.detectors import create_detector from frigate.detectors import create_detector
from frigate.detectors.detector_config import ( from frigate.detectors.detector_config import (
BaseDetectorConfig, BaseDetectorConfig,
@ -92,6 +93,7 @@ class DetectorRunner(util.Process):
cameras: list[str], cameras: list[str],
avg_speed: Value, avg_speed: Value,
start_time: Value, start_time: Value,
config: FrigateConfig,
detector_config: BaseDetectorConfig, detector_config: BaseDetectorConfig,
) -> None: ) -> None:
super().__init__(name=name, daemon=True) super().__init__(name=name, daemon=True)
@ -99,6 +101,7 @@ class DetectorRunner(util.Process):
self.cameras = cameras self.cameras = cameras
self.avg_speed = avg_speed self.avg_speed = avg_speed
self.start_time = start_time self.start_time = start_time
self.config = config
self.detector_config = detector_config self.detector_config = detector_config
self.outputs: dict = {} self.outputs: dict = {}
@ -108,7 +111,7 @@ class DetectorRunner(util.Process):
self.outputs[name] = {"shm": out_shm, "np": out_np} self.outputs[name] = {"shm": out_shm, "np": out_np}
def run(self) -> None: def run(self) -> None:
self.pre_run_setup() self.pre_run_setup(self.config.logger)
frame_manager = SharedMemoryFrameManager() frame_manager = SharedMemoryFrameManager()
object_detector = LocalObjectDetector(detector_config=self.detector_config) object_detector = LocalObjectDetector(detector_config=self.detector_config)
@ -161,6 +164,7 @@ class ObjectDetectProcess:
name: str, name: str,
detection_queue: Queue, detection_queue: Queue,
cameras: list[str], cameras: list[str],
config: FrigateConfig,
detector_config: BaseDetectorConfig, detector_config: BaseDetectorConfig,
): ):
self.name = name self.name = name
@ -169,6 +173,7 @@ class ObjectDetectProcess:
self.avg_inference_speed = Value("d", 0.01) self.avg_inference_speed = Value("d", 0.01)
self.detection_start = Value("d", 0.0) self.detection_start = Value("d", 0.0)
self.detect_process: util.Process | None = None self.detect_process: util.Process | None = None
self.config = config
self.detector_config = detector_config self.detector_config = detector_config
self.start_or_restart() self.start_or_restart()
@ -195,6 +200,7 @@ class ObjectDetectProcess:
self.cameras, self.cameras,
self.avg_inference_speed, self.avg_inference_speed,
self.detection_start, self.detection_start,
self.config,
self.detector_config, self.detector_config,
) )
self.detect_process.start() self.detect_process.start()

View File

@ -77,7 +77,7 @@ class OutputProcess(util.Process):
self.config = config self.config = config
def run(self) -> None: def run(self) -> None:
self.pre_run_setup() self.pre_run_setup(self.config.logger)
frame_manager = SharedMemoryFrameManager() frame_manager = SharedMemoryFrameManager()

View File

@ -18,7 +18,7 @@ class RecordProcess(FrigateProcess):
self.config = config self.config = config
def run(self) -> None: def run(self) -> None:
self.pre_run_setup() self.pre_run_setup(self.config.logger)
db = SqliteQueueDatabase( db = SqliteQueueDatabase(
self.config.database.path, self.config.database.path,
pragmas={ pragmas={

View File

@ -15,7 +15,7 @@ class ReviewProcess(util.Process):
self.config = config self.config = config
def run(self) -> None: def run(self) -> None:
self.pre_run_setup() self.pre_run_setup(self.config.logger)
maintainer = ReviewSegmentMaintainer( maintainer = ReviewSegmentMaintainer(
self.config, self.config,
self.stop_event, self.stop_event,

View File

@ -8,6 +8,7 @@ from logging.handlers import QueueHandler
from typing import Callable, Optional from typing import Callable, Optional
import frigate.log import frigate.log
from frigate.config.logger import LoggerConfig
class BaseProcess(mp.Process): class BaseProcess(mp.Process):
@ -50,7 +51,7 @@ class Process(BaseProcess):
def before_start(self) -> None: def before_start(self) -> None:
self.__log_queue = frigate.log.log_listener.queue self.__log_queue = frigate.log.log_listener.queue
def pre_run_setup(self) -> None: def pre_run_setup(self, logConfig: LoggerConfig | None = None) -> None:
faulthandler.enable() faulthandler.enable()
def receiveSignal(signalNumber, frame): def receiveSignal(signalNumber, frame):
@ -68,3 +69,8 @@ class Process(BaseProcess):
self.logger = logging.getLogger(self.name) self.logger = logging.getLogger(self.name)
logging.basicConfig(handlers=[], force=True) logging.basicConfig(handlers=[], force=True)
logging.getLogger().addHandler(QueueHandler(self.__log_queue)) logging.getLogger().addHandler(QueueHandler(self.__log_queue))
if logConfig:
frigate.log.apply_log_levels(
logConfig.default.value.upper(), logConfig.logs
)