@@ -263,6 +263,14 @@ def _structlog_default_keys_processor(logger_class, log_method, event):
263263 return event
264264
265265
266+ def _structlog_minimal_processor (logger_class , log_method , event ):
267+ for key in ("host" , "id" , "type" ):
268+ if key in event :
269+ event .pop (key )
270+
271+ return event
272+
273+
266274@keeprunning ()
267275def dump_metrics (log , interval ):
268276 global METRICS_STATE
@@ -358,7 +366,9 @@ def define_log_processors():
358366 ]
359367
360368
361- def _configure_logger (fmt , quiet , level , fpath , processors , metric_grouping_interval ):
369+ def _configure_logger (
370+ fmt , quiet , level , fpath , processors , metric_grouping_interval , minimal
371+ ):
362372 """
363373 configures a logger when required write to stderr or a file
364374 """
@@ -376,6 +386,9 @@ def _configure_logger(fmt, quiet, level, fpath, processors, metric_grouping_inte
376386 if metric_grouping_interval :
377387 _processors .append (metrics_grouping_processor )
378388
389+ if minimal :
390+ _processors .append (_structlog_minimal_processor )
391+
379392 streams = []
380393
381394 if fpath :
@@ -418,6 +431,7 @@ def init_logger(
418431 fpath = None ,
419432 processors = None ,
420433 metric_grouping_interval = None ,
434+ minimal = False ,
421435):
422436 """
423437 fmt=pretty/json controls only stderr; file always gets json.
@@ -434,7 +448,9 @@ def init_logger(
434448 if not fmt and not quiet :
435449 fmt = "pretty" if sys .stderr .isatty () else "json"
436450
437- _configure_logger (fmt , quiet , level , fpath , processors , metric_grouping_interval )
451+ _configure_logger (
452+ fmt , quiet , level , fpath , processors , metric_grouping_interval , minimal
453+ )
438454
439455 log = structlog .get_logger ()
440456 log ._force_flush_q = queue .Queue (maxsize = FORCE_FLUSH_Q_SIZE )
0 commit comments