コード例 #1
0
    def log(self) -> log_module.GoogleCloudLog:
        """Get a GoogleCloudLog object for the project.

    Returns:
      GoogleCloudLog: Object that represents Google Cloud Logging.
    """

        if self._log:
            return self._log
        self._log = log_module.GoogleCloudLog(self.project_id)
        return self._log
コード例 #2
0
def ListLogs(args: 'argparse.Namespace') -> None:
    """List GCP logs for a project.

  Args:
    args (argparse.Namespace): Arguments from ArgumentParser.
  """
    logs = gcp_log.GoogleCloudLog(args.project)
    results = logs.ListLogs()
    logger.info('Found {0:d} available log types:'.format(len(results)))
    for line in results:
        logger.info(line)
コード例 #3
0
def QueryLogs(args: 'argparse.Namespace') -> None:
    """Query GCP logs.

  Args:
    args (argparse.Namespace): Arguments from ArgumentParser.
  """
    logs = gcp_log.GoogleCloudLog(args.project)
    results = logs.ExecuteQuery(args.filter)
    print('Found {0:d} log entries:'.format(len(results)))
    for line in results:
        print(json.dumps(line))
コード例 #4
0
def QueryLogs(args: 'argparse.Namespace') -> None:
    """Query GCP logs.

  Args:
    args (argparse.Namespace): Arguments from ArgumentParser.

  Raises:
    ValueError: If the start or end date is not properly formatted.
  """
    logs = gcp_log.GoogleCloudLog(args.project)

    try:
        if args.start:
            datetime.strptime(args.start, '%Y-%m-%dT%H:%M:%SZ')
        if args.end:
            datetime.strptime(args.end, '%Y-%m-%dT%H:%M:%SZ')
    except ValueError as error:
        sys.exit(str(error))

    qfilter = ''

    if args.start:
        qfilter += 'timestamp>="{0:s}" '.format(args.start)
    if args.start and args.end:
        qfilter += 'AND '
    if args.end:
        qfilter += 'timestamp<="{0:s}" '.format(args.end)

    if args.filter and (args.start or args.end):
        qfilter += 'AND '
        qfilter += args.filter
    elif args.filter:
        qfilter += args.filter

    results = logs.ExecuteQuery(qfilter)
    logger.info('Found {0:d} log entries:'.format(len(results)))
    for line in results:
        logger.info(json.dumps(line))
コード例 #5
0
                                      'fake-zone', 'fake-disk')

FAKE_BOOT_DISK = compute.GoogleComputeDisk(FAKE_SOURCE_PROJECT.project_id,
                                           'fake-zone', 'fake-boot-disk')

FAKE_SNAPSHOT = compute.GoogleComputeSnapshot(FAKE_DISK, 'fake-snapshot')

FAKE_SNAPSHOT_LONG_NAME = compute.GoogleComputeSnapshot(
    FAKE_DISK,
    'this-is-a-kind-of-long-fake-snapshot-name-and-is-definitely-over-63-chars'
)

FAKE_DISK_COPY = compute.GoogleComputeDisk(FAKE_SOURCE_PROJECT.project_id,
                                           'fake-zone', 'fake-disk-copy')

FAKE_LOGS = gcp_log.GoogleCloudLog('fake-target-project')

FAKE_LOG_LIST = [
    'projects/fake-target-project/logs/GCEGuestAgent',
    'projects/fake-target-project/logs/OSConfigAgent'
]

FAKE_LOG_ENTRIES = [{
    'logName': 'test_log',
    'timestamp': '123456789',
    'textPayload': 'insert.compute.create'
}, {
    'logName': 'test_log',
    'timestamp': '123456789',
    'textPayload': 'insert.compute.create'
}]