77DEFAULT_FILTER_PATTERN = '?REPORT ?NR_LAMBDA_MONITORING ?"Task timed out" ?RequestId'
88
99
10+ def get_log_group_name (function_name ):
11+ """Builds a log group name path; handling ARNs if provided"""
12+ if ":" in function_name :
13+ parts = function_name .split (":" )
14+ if len (parts ) >= 7 :
15+ return "/aws/lambda/%s" % parts [6 ]
16+ return "/aws/lambda/%s" % function_name
17+
18+
1019def get_subscription_filters (session , function_name ):
1120 """Returns all the log subscription filters for the function"""
12- log_group_name = "/aws/lambda/%s" % function_name
21+ log_group_name = get_log_group_name ( function_name )
1322 try :
1423 res = session .client ("logs" ).describe_subscription_filters (
1524 logGroupName = log_group_name
@@ -35,7 +44,7 @@ def create_subscription_filter(
3544):
3645 try :
3746 session .client ("logs" ).put_subscription_filter (
38- logGroupName = "/aws/lambda/%s" % function_name ,
47+ logGroupName = get_log_group_name ( function_name ) ,
3948 filterName = "NewRelicLogStreaming" ,
4049 filterPattern = filter_pattern ,
4150 destinationArn = destination_arn ,
@@ -52,7 +61,7 @@ def create_subscription_filter(
5261def remove_subscription_filter (session , function_name ):
5362 try :
5463 session .client ("logs" ).delete_subscription_filter (
55- logGroupName = "/aws/lambda/%s" % function_name ,
64+ logGroupName = get_log_group_name ( function_name ) ,
5665 filterName = "NewRelicLogStreaming" ,
5766 )
5867 except botocore .exceptions .ClientError as e :
0 commit comments