Skip to content

Logs

Utilities for working with Amazon CloudWatch Logs.


build_log_stream_url

build_log_stream_url(
    log_group_name, log_stream_name, region=None
)

Build a CloudWatch Logs console URL for a log stream.

Parameters:

Name Type Description Default
log_group_name str

The name of the CloudWatch log group.

required
log_stream_name str

The name of the log stream within the group.

required
region Optional[str]

AWS region. Defaults to None (uses default region).

None

Returns:

Type Description
str

The CloudWatch console URL for viewing the log stream.

Source code in src/aibs_informatics_aws_utils/logs.py
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
def build_log_stream_url(
    log_group_name: str,
    log_stream_name: str,
    region: Optional[str] = None,
) -> str:
    """Build a CloudWatch Logs console URL for a log stream.

    Args:
        log_group_name (str): The name of the CloudWatch log group.
        log_stream_name (str): The name of the log stream within the group.
        region (Optional[str]): AWS region. Defaults to None (uses default region).

    Returns:
        The CloudWatch console URL for viewing the log stream.
    """

    def _special_escape(string: str) -> str:
        return urllib.parse.quote(string, safe="").replace("%", "$25")

    region = get_region(region)
    log_group_name = _special_escape(log_group_name)
    log_stream_name = _special_escape(log_stream_name)

    log_url_prefix = f"https://{region}.console.aws.amazon.com/cloudwatch/home?region={region}#logsV2:log-groups/log-group/"
    return f"{log_url_prefix}{log_group_name}/log-events/{log_stream_name}"