Version 0.3.0
Some checks failed
Run linters on applied template / Python 3.13 lint and build (push) Failing after 2m36s
Some checks failed
Run linters on applied template / Python 3.13 lint and build (push) Failing after 2m36s
Changes: - fix double exception message in main request_processing span - add OpenSearch to Jaeger and OpenTelemetry Logs - add optional OpenTelemetry Logs Exporter to structlog - update deploy README
This commit is contained in:
@@ -9,10 +9,9 @@ from typing import Any, Literal, TextIO, Type
|
||||
import yaml
|
||||
|
||||
from {{project_slug}}.db.config import DBConfig, MultipleDBsConfig
|
||||
from {{project_slug}}.utils.observability import LoggingConfig, FileLogger, ExporterConfig
|
||||
from {{project_slug}}.utils.secrets import SecretStr, representSecretStrYAML
|
||||
|
||||
from .utils.observability import LoggingLevel
|
||||
|
||||
|
||||
@dataclass
|
||||
class CORSConfig:
|
||||
@@ -30,22 +29,6 @@ class AppConfig:
|
||||
cors: CORSConfig
|
||||
|
||||
|
||||
@dataclass
|
||||
class FileLogger:
|
||||
filename: str
|
||||
level: LoggingLevel
|
||||
|
||||
|
||||
@dataclass
|
||||
class LoggingConfig:
|
||||
level: LoggingLevel
|
||||
files: list[FileLogger] = field(default_factory=list)
|
||||
|
||||
def __post_init__(self):
|
||||
if len(self.files) > 0 and isinstance(self.files[0], dict):
|
||||
self.files = [FileLogger(**f) for f in self.files]
|
||||
|
||||
|
||||
@dataclass
|
||||
class PrometheusConfig:
|
||||
host: str
|
||||
@@ -60,6 +43,7 @@ class JaegerConfig:
|
||||
|
||||
@dataclass
|
||||
class ObservabilityConfig:
|
||||
logging: LoggingConfig
|
||||
prometheus: PrometheusConfig | None = None
|
||||
jaeger: JaegerConfig | None = None
|
||||
|
||||
@@ -68,7 +52,6 @@ class ObservabilityConfig:
|
||||
class {{ProjectName}}Config:
|
||||
app: AppConfig
|
||||
db: MultipleDBsConfig
|
||||
logging: LoggingConfig
|
||||
observability: ObservabilityConfig
|
||||
|
||||
def to_order_dict(self) -> OrderedDict:
|
||||
@@ -134,8 +117,13 @@ class {{ProjectName}}Config:
|
||||
)
|
||||
],
|
||||
),
|
||||
logging=LoggingConfig(level="INFO", files=[FileLogger(filename="logs/info.log", level="INFO")]),
|
||||
observability=ObservabilityConfig(
|
||||
logging=LoggingConfig(
|
||||
level="INFO",
|
||||
root_logger_level="INFO",
|
||||
exporter=ExporterConfig(endpoint="http://127.0.0.1:4317", level="INFO", tls_insecure=True),
|
||||
files=[FileLogger(filename="logs/info.log", level="INFO")],
|
||||
),
|
||||
prometheus=PrometheusConfig(host="0.0.0.0", port=9090, urls_mapping={"/api/debug/.*": "/api/debug/*"}),
|
||||
jaeger=JaegerConfig(endpoint="http://127.0.0.1:4318/v1/traces"),
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user