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
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)
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))
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))
'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' }]