code: def test_log_library_context(
      propagate_logs, caplog, logger_name, package_name
  ):
      """Test that the log configuration injects the correct context into log messages."""
      logger = logging.getLogger(logger_name)
      logger.critical("Test!")
  
      assert (
          caplog.records[-1].package == package_name
      ), "Missing ray package name in log record."
  
imports: import io
  import os
  import re
  import subprocess
  import sys
  import tempfile
  import time
  import logging
  from collections import Counter, defaultdict
  from contextlib import redirect_stderr, redirect_stdout
  from pathlib import Path
  from unittest.mock import Mock, MagicMock
  import pytest
  import ray
  from ray._private import ray_constants
  from ray._private.log_monitor import LOG_NAME_UPDATE_INTERVAL_S, RAY_LOG_MONITOR_MANY_FILES_THRESHOLD, LogFileInfo, LogMonitor, is_proc_alive
  from ray._private.test_utils import get_log_batch, get_log_message, get_log_data, init_log_pubsub, run_string_as_driver, wait_for_condition
  from ray.cross_language import java_actor_class
  from ray.autoscaler._private.cli_logger import cli_logger
label_desc: Use image node_id 22 for calling a global function with example usage: test_log_library_context(propagate_logs, caplog, logger_name, package_name) without return types