def Run(self, args): """This is what gets called when the user runs this command. Args: args: an argparse namespace. All the arguments that were provided to this command invocation. Returns: The list of log entries. """ printer = logs_util.LogPrinter() printer.RegisterFormatter(logs_util.FormatRequestLogEntry) printer.RegisterFormatter(logs_util.FormatNginxLogEntry) printer.RegisterFormatter(logs_util.FormatAppEntry) project = properties.VALUES.core.project.Get(required=True) filters = logs_util.GetFilters(project, args.logs, args.service, args.version, args.level) lines = [] # pylint: disable=g-builtin-op, For the .keys() method for entry in common.FetchLogs(log_filter=' AND '.join(filters), order_by='DESC', limit=args.limit): lines.append(printer.Format(entry)) for line in reversed(lines): log.out.Print(line)
def Run(self, args): printer = logs_util.LogPrinter() printer.RegisterFormatter(logs_util.FormatRequestLogEntry) printer.RegisterFormatter(logs_util.FormatAppEntry) project = properties.VALUES.core.project.Get(required=True) filters = logs_util.GetFilters(project, args.logs, args.service, args.version, args.level) log_fetcher = stream.LogFetcher(filters=filters, polling_interval=1) for log_entry in log_fetcher.YieldLogs(): log.out.Print(printer.Format(log_entry))
def Run(self, args): """This is what gets called when the user runs this command. Args: args: an argparse namespace. All the arguments that were provided to this command invocation. Returns: The list of log entries. """ # Logging API filters later to be AND-joined filters = ['resource.type="gae_app"'] # Argument handling if args.service: filters.append('resource.labels.module_id="{0}"'.format( args.service)) if args.version: filters.append('resource.labels.version_id="{0}"'.format( args.version)) if args.level != 'any': filters.append('severity>={0}'.format(args.level.upper())) printer = logs_util.LogPrinter() printer.RegisterFormatter(logs_util.FormatRequestLogEntry) printer.RegisterFormatter(logs_util.FormatAppEntry) lines = [] log_id = lambda log_short: 'appengine.googleapis.com/%s' % log_short log_ids = sorted([log_id(log_short) for log_short in args.logs]) # pylint: disable=g-builtin-op, For the .keys() method for entry in common.FetchLogs(log_filter=' AND '.join(filters), log_ids=sorted(log_ids), order_by='DESC', limit=args.limit): lines.append(printer.Format(entry)) for line in reversed(lines): log.out.Print(line)