def create_centralized_logging()

in generate/resources/_logging.py [0:0]


def create_centralized_logging(self, logconfig):
    """creates centralized logging"""
    logsink = logconfig["logsink"]
    log_destination_type = (set(logconfig.keys()) - {"logsink"}).pop()
    log_destination = logconfig[log_destination_type]

    logsink["parent_resource_id"] = self.tf_ref(
        logsink["parent_resource_type"],
        logsink.get("parent_resource_id", ""),
    )
    # log_sink_writer_identity not actually used, added because required field
    log_destination["log_sink_writer_identity"] = (
        "serviceAccount:cloud-logs@system.gserviceaccount.com"
    )
    sink_name = logsink["log_sink_name"]
    sink_id = f"logsink-{sink_name}"
    log_destination["project_id"] = self.tf_ref(
        "project", log_destination["project_id"]
    )

    created_log_destination = log_destination_fn[log_destination_type](
        self,
        f"{log_destination_type}-{sink_name}",
        **log_destination,
    )
    created_log_destination.add_override(
        "log_sink_writer_identity", f"${{module.{sink_id}.writer_identity}}"
    )

    LogExport(
        self,
        sink_id,
        destination_uri=created_log_destination.destination_uri_output,
        **logsink,
    )