orangeqs.juice.schemas.logging#

Schemas for Logging Configuration.

Module Contents#

Classes#

LogEvent

Log Event Point.

ServiceLoggingConfig

Logging Configuration of a single Service.

ServiceLoggingConfigs

Centralized logging configuration for all Juice services.

API#

class orangeqs.juice.schemas.logging.LogEvent(/, **data: Any)#

Bases: orangeqs.juice.database.Point

Log Event Point.

measurement: ClassVar[str]#

‘logs’

Measurement name for log events.

service: Annotated[str, tag]#

None

OrangeQS Juice Service which generated the log message .

level: Annotated[int, tag]#

None

Level of the log message.

serialized_record: str#

None

The serialized python log record.

class orangeqs.juice.schemas.logging.ServiceLoggingConfig(/, **data: Any)#

Bases: orangeqs.juice.settings.BaseConfigurable

Logging Configuration of a single Service.

log_level_influxdb: int#

None

Log level of the InfluxDB logger of the service.

log_level_stdout: int#

None

Log level of the stdout logger of the service.

class orangeqs.juice.schemas.logging.ServiceLoggingConfigs(/, **data: Any)#

Bases: orangeqs.juice.settings.Configurable

Centralized logging configuration for all Juice services.

By default, all services inherit the same logging settings, which can be customized for individual services as needed. Each service logs to both InfluxDB2 and stdout, with handlers set to capture messages at INFO level and above by default.

You can review logs via the dashboard or by using Client.display_service_logs

WARNING: A service must be restarted for changes to its logging configuration to take effect.

filename: ClassVar[str]#

‘service-logging’

bucket_name: str#

‘service_logs’

Name of the InfluxDB bucket to log to.

services: collections.defaultdict[str, Annotated[orangeqs.juice.schemas.logging.ServiceLoggingConfig, Field(default_factory=ServiceLoggingConfig)]]#

‘Field(…)’

Logging configuration for each service.