fetchContainerLog static method

Future<void> fetchContainerLog(
  1. Client cloudApiClient, {
  2. required void writeln(
    1. String
    ),
  3. required String projectId,
  4. required DateTime? before,
  5. required DateTime? after,
  6. required int limit,
  7. required bool inUtc,
})

Implementation

static Future<void> fetchContainerLog(
  final Client cloudApiClient, {
  required final void Function(String) writeln,
  required final String projectId,
  required final DateTime? before,
  required final DateTime? after,
  required final int limit,
  required final bool inUtc,
}) async {
  final timezoneName =
      inUtc ? 'UTC' : 'local (${DateTime.now().timeZoneName})';
  writeln('Fetching logs from ${after?.toTzString(inUtc) ?? 'oldest'} '
      'to ${before?.toTzString(inUtc) ?? 'newest'}. Display time zone: $timezoneName.');

  final recordStream = cloudApiClient.logs.fetchRecords(
    cloudProjectId: projectId,
    beforeTime: before,
    afterTime: after,
    limit: limit,
  );
  await _outputLogStream(
    writeln,
    recordStream,
    limit: limit,
    inUtc: inUtc,
  );
}