getLogGroupFields method

Future<GetLogGroupFieldsResponse> getLogGroupFields({
  1. required String logGroupName,
  2. int? time,
})

Returns a list of the fields that are included in log events in the specified log group, along with the percentage of log events that contain each field. The search is limited to a time period that you specify.

In the results, fields that start with @ are fields generated by CloudWatch Logs. For example, @timestamp is the timestamp of each log event. For more information about the fields that are generated by CloudWatch logs, see Supported Logs and Discovered Fields.

The response results are sorted by the frequency percentage, starting with the highest percentage.

May throw InvalidParameterException. May throw LimitExceededException. May throw ResourceNotFoundException. May throw ServiceUnavailableException.

Parameter logGroupName : The name of the log group to search.

Parameter time : The time to set as the center of the query. If you specify time, the 8 minutes before and 8 minutes after this time are searched. If you omit time, the past 15 minutes are queried.

The time value is specified as epoch time, the number of seconds since January 1, 1970, 00:00:00 UTC.

Implementation

Future<GetLogGroupFieldsResponse> getLogGroupFields({
  required String logGroupName,
  int? time,
}) async {
  ArgumentError.checkNotNull(logGroupName, 'logGroupName');
  _s.validateStringLength(
    'logGroupName',
    logGroupName,
    1,
    512,
    isRequired: true,
  );
  _s.validateNumRange(
    'time',
    time,
    0,
    1152921504606846976,
  );
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'Logs_20140328.GetLogGroupFields'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'logGroupName': logGroupName,
      if (time != null) 'time': time,
    },
  );

  return GetLogGroupFieldsResponse.fromJson(jsonResponse.body);
}