@@ -78,7 +78,6 @@ def tracer_injection(_: WrappedLogger, __: str, event_dict: EventDict) -> EventD
7878 structlog .stdlib .add_logger_name ,
7979 tracer_injection ,
8080 structlog .stdlib .PositionalArgumentsFormatter (),
81- structlog .processors .TimeStamper (fmt = "%Y-%m-%d %H:%M:%S" ),
8281 structlog .processors .StackInfoRenderer (),
8382 structlog .processors .format_exc_info ,
8483 structlog .processors .UnicodeDecoder (),
@@ -149,6 +148,9 @@ class LoggingConfig(BaseInstrumentConfig):
149148 )
150149 logging_exclude_endpoints : list [str ] = pydantic .Field (default_factory = lambda : ["/health/" , "/metrics" ])
151150 logging_turn_off_middleware : bool = False
151+ logging_timestamper_extra_params : dict [str , typing .Any ] = pydantic .Field (
152+ default_factory = lambda : {"fmt" : "%Y-%m-%d %H:%M:%S" }
153+ )
152154
153155 @pydantic .model_validator (mode = "after" )
154156 def remove_trailing_slashes_from_logging_exclude_endpoints (self ) -> typing_extensions .Self :
@@ -172,6 +174,10 @@ def _unset_handlers(self) -> None:
172174 for unset_handlers_logger in self .instrument_config .logging_unset_handlers :
173175 logging .getLogger (unset_handlers_logger ).handlers = []
174176
177+ @property
178+ def _timestamper_processor (self ) -> structlog .processors .TimeStamper :
179+ return structlog .processors .TimeStamper (** self .instrument_config .logging_timestamper_extra_params )
180+
175181 def _configure_structlog_loggers (self ) -> None :
176182 if self .instrument_config .service_debug :
177183 structlog .configure (
@@ -186,6 +192,7 @@ def _configure_structlog_loggers(self) -> None:
186192 processors = [
187193 structlog .stdlib .filter_by_level ,
188194 * STRUCTLOG_PRE_CHAIN_PROCESSORS ,
195+ self ._timestamper_processor ,
189196 * self .instrument_config .logging_extra_processors ,
190197 STRUCTLOG_FORMATTER_PROCESSOR ,
191198 ],
@@ -213,7 +220,7 @@ def _configure_foreign_loggers(self) -> None:
213220 )
214221 if self .instrument_config .service_debug
215222 else structlog .stdlib .ProcessorFormatter (
216- foreign_pre_chain = STRUCTLOG_PRE_CHAIN_PROCESSORS ,
223+ foreign_pre_chain = [ * STRUCTLOG_PRE_CHAIN_PROCESSORS , self . _timestamper_processor ] ,
217224 processors = [
218225 structlog .stdlib .ProcessorFormatter .remove_processors_meta ,
219226 STRUCTLOG_FORMATTER_PROCESSOR ,
0 commit comments