Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(607)

Unified Diff: logdog/client/cli/subcommandLatest.go

Issue 2715413002: LogDog: CLI can use stream URLs, fix auth. (Closed)
Patch Set: Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « logdog/client/cli/subcommandCat.go ('k') | logdog/client/cli/subcommandList.go » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: logdog/client/cli/subcommandLatest.go
diff --git a/logdog/client/cli/subcommandLatest.go b/logdog/client/cli/subcommandLatest.go
index bafa210871ea69e3993494e4d3665dd0f55bd186..1df91984d6ac457feee97b13a2d5e157219d51fd 100644
--- a/logdog/client/cli/subcommandLatest.go
+++ b/logdog/client/cli/subcommandLatest.go
@@ -9,6 +9,7 @@ import (
"os"
"github.com/luci/luci-go/common/clock"
+ "github.com/luci/luci-go/common/errors"
log "github.com/luci/luci-go/common/logging"
"github.com/luci/luci-go/logdog/api/logpb"
"github.com/luci/luci-go/logdog/client/coordinator"
@@ -50,31 +51,42 @@ func (cmd *latestCommandRun) Run(scApp subcommands.Application, args []string, _
return 1
}
- project, path, _, err := a.splitPath(args[0])
- if err != nil {
- log.WithError(err).Errorf(a, "Invalid path specifier.")
- return 1
+ var addr *types.StreamAddr
+ var err error
+ if addr, err = types.ParseURL(args[0]); err != nil {
+ // Not a log stream address.
+ project, path, _, err := a.splitPath(args[0])
+ if err != nil {
+ log.WithError(err).Errorf(a, "Invalid path specifier.")
+ return 1
+ }
+
+ addr = &types.StreamAddr{Project: project, Path: types.StreamPath(path)}
+ if err := addr.Path.Validate(); err != nil {
+ log.Fields{
+ log.ErrorKey: err,
+ "project": addr.Project,
+ "path": addr.Path,
+ }.Errorf(a, "Invalid command-line stream path.")
+ return 1
+ }
}
- sp := streamPath{project, types.StreamPath(path)}
- if err := sp.path.Validate(); err != nil {
- log.Fields{
- log.ErrorKey: err,
- "project": sp.project,
- "path": sp.path,
- }.Errorf(a, "Invalid command-line stream path.")
+ coord, err := a.coordinatorClient(addr.Host)
+ if err != nil {
+ errors.Log(a, errors.Annotate(err).Reason("failed to create Coordinator client").Err())
return 1
}
- stream := a.coord.Stream(sp.project, sp.path)
+ stream := coord.Stream(addr.Project, addr.Path)
tctx, _ := a.timeoutCtx(a)
le, st, err := cmd.getTailEntry(tctx, stream)
if err != nil {
log.Fields{
log.ErrorKey: err,
- "project": sp.project,
- "path": sp.path,
+ "project": addr.Project,
+ "path": addr.Path,
}.Errorf(a, "Failed to load latest record.")
if err == context.DeadlineExceeded {
« no previous file with comments | « logdog/client/cli/subcommandCat.go ('k') | logdog/client/cli/subcommandList.go » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698