Skip to content

Commit 0eae89f

Browse files
committed
Add CHARMHUB logger label.
Use it when creating a charmhub client to faciliate debugging. Ensure CHARMHUB logging label is used. Swap the logger pattern used in the charmhub package. Create a child logger and give a label inside of charmhub, to ensure that all loggers passed in get the benefit of the label. Callers of CharmHubConfig and CharmHubConfigFromURL should just pass their logger.
1 parent 33e0259 commit 0eae89f

File tree

10 files changed

+22
-22
lines changed

10 files changed

+22
-22
lines changed

apiserver/common/charmhub.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ func CharmhubClient(mg ModelGetter, httpClient charmhub.Transport, logger loggo.
3333
}
3434
url, _ := modelConfig.CharmHubURL()
3535

36-
config, err := charmhub.CharmHubConfigFromURL(url, logger.Child("charmhub"),
36+
config, err := charmhub.CharmHubConfigFromURL(url, logger,
3737
charmhub.WithMetadataHeaders(metadata),
3838
charmhub.WithHTTPTransport(func(charmhub.Logger) charmhub.Transport {
3939
return httpClient

apiserver/facades/client/application/application.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,6 @@ func newFacadeBase(ctx facade.Context) (*APIBase, error) {
277277
return nil, errors.Trace(err)
278278
}
279279

280-
clientLogger := logger.Child("client")
281280
options := []charmhub.Option{
282281
// TODO (stickupkid): Get the http transport from the facade context
283282
charmhub.WithHTTPTransport(charmhub.DefaultHTTPTransport),
@@ -286,9 +285,9 @@ func newFacadeBase(ctx facade.Context) (*APIBase, error) {
286285
var chCfg charmhub.Config
287286
chURL, ok := modelCfg.CharmHubURL()
288287
if ok {
289-
chCfg, err = charmhub.CharmHubConfigFromURL(chURL, clientLogger, options...)
288+
chCfg, err = charmhub.CharmHubConfigFromURL(chURL, logger, options...)
290289
} else {
291-
chCfg, err = charmhub.CharmHubConfig(clientLogger, options...)
290+
chCfg, err = charmhub.CharmHubConfig(logger, options...)
292291
}
293292
if err != nil {
294293
return nil, errors.Trace(err)

apiserver/facades/client/charmhub/charmhub.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ import (
1717
"github.com/juju/juju/apiserver/params"
1818
"github.com/juju/juju/charmhub"
1919
"github.com/juju/juju/charmhub/transport"
20-
corelogger "github.com/juju/juju/core/logger"
2120
"github.com/juju/juju/environs/config"
2221
)
2322

@@ -136,7 +135,7 @@ type charmHubClientFactory struct {
136135
}
137136

138137
func (f charmHubClientFactory) Client(url string) (Client, error) {
139-
cfg, err := charmhub.CharmHubConfigFromURL(url, logger.ChildWithLabels("client", corelogger.HTTP),
138+
cfg, err := charmhub.CharmHubConfigFromURL(url, logger,
140139
charmhub.WithHTTPTransport(f.httpTransport),
141140
)
142141
if err != nil {

apiserver/facades/client/charms/client.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -639,7 +639,6 @@ func (a *API) charmHubRepository() (corecharm.Repository, error) {
639639
return nil, errors.Trace(err)
640640
}
641641

642-
clientLogger := logger.Child("client")
643642
options := []charmhub.Option{
644643
charmhub.WithHTTPTransport(func(charmhub.Logger) charmhub.Transport {
645644
return a.httpClient
@@ -649,9 +648,9 @@ func (a *API) charmHubRepository() (corecharm.Repository, error) {
649648
var chCfg charmhub.Config
650649
chURL, ok := cfg.CharmHubURL()
651650
if ok {
652-
chCfg, err = charmhub.CharmHubConfigFromURL(chURL, clientLogger, options...)
651+
chCfg, err = charmhub.CharmHubConfigFromURL(chURL, logger, options...)
653652
} else {
654-
chCfg, err = charmhub.CharmHubConfig(clientLogger, options...)
653+
chCfg, err = charmhub.CharmHubConfig(logger, options...)
655654
}
656655
if err != nil {
657656
return nil, errors.Trace(err)

apiserver/facades/client/machinemanager/machinemanager.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,6 @@ func NewFacade(ctx facade.Context) (*MachineManagerAPI, error) {
102102
return nil, errors.Trace(err)
103103
}
104104

105-
clientLogger := logger.Child("client")
106105
options := []charmhub.Option{
107106
// TODO (stickupkid): Get the http transport from the facade context
108107
charmhub.WithHTTPTransport(charmhub.DefaultHTTPTransport),
@@ -111,9 +110,9 @@ func NewFacade(ctx facade.Context) (*MachineManagerAPI, error) {
111110
var chCfg charmhub.Config
112111
chURL, ok := modelCfg.CharmHubURL()
113112
if ok {
114-
chCfg, err = charmhub.CharmHubConfigFromURL(chURL, clientLogger, options...)
113+
chCfg, err = charmhub.CharmHubConfigFromURL(chURL, logger, options...)
115114
} else {
116-
chCfg, err = charmhub.CharmHubConfig(clientLogger, options...)
115+
chCfg, err = charmhub.CharmHubConfig(logger, options...)
117116
}
118117
if err != nil {
119118
return nil, errors.Trace(err)

apiserver/facades/client/resources/facade.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,6 @@ func NewFacadeV2(ctx facade.Context) (*API, error) {
8080
switch {
8181
case charm.CharmHub.Matches(schema):
8282

83-
clientLogger := logger.Child("client")
8483
options := []charmhub.Option{
8584
// TODO (stickupkid): Get the httpClient from the facade context
8685
charmhub.WithHTTPTransport(charmhub.DefaultHTTPTransport),
@@ -89,9 +88,9 @@ func NewFacadeV2(ctx facade.Context) (*API, error) {
8988
var chCfg charmhub.Config
9089
chURL, ok := modelCfg.CharmHubURL()
9190
if ok {
92-
chCfg, err = charmhub.CharmHubConfigFromURL(chURL, clientLogger, options...)
91+
chCfg, err = charmhub.CharmHubConfigFromURL(chURL, logger, options...)
9392
} else {
94-
chCfg, err = charmhub.CharmHubConfig(clientLogger, options...)
93+
chCfg, err = charmhub.CharmHubConfig(logger, options...)
9594
}
9695
if err != nil {
9796
return nil, errors.Trace(err)

charmhub/client.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -161,13 +161,14 @@ func CharmHubConfig(logger Logger, options ...Option) (Config, error) {
161161
headers.Add(MetadataHeader, k+"="+m[k])
162162
}
163163

164+
chLogger := logger.ChildWithLabels("client", corelogger.CHARMHUB)
164165
return Config{
165166
URL: *opts.url,
166167
Version: CharmHubServerVersion,
167168
Entity: CharmHubServerEntity,
168169
Headers: headers,
169-
Transport: opts.transportFunc(logger.ChildWithLabels("transport", corelogger.HTTP)),
170-
Logger: logger,
170+
Transport: opts.transportFunc(chLogger.ChildWithLabels("transport", corelogger.HTTP)),
171+
Logger: chLogger,
171172
}, nil
172173
}
173174

cmd/juju/charmhub/download.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -424,7 +424,7 @@ func (d downloadLogger) Debugf(msg string, args ...interface{}) {
424424

425425
func (d downloadLogger) Tracef(msg string, args ...interface{}) {}
426426

427-
func (d downloadLogger) ChildWithLabels(name string, labels ...string) loggo.Logger {
427+
func (d downloadLogger) ChildWithLabels(string, ...string) loggo.Logger {
428428
return loggo.Logger{}
429429
}
430430

core/logger/labels.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,8 @@ const (
1313
// METRICS defines a common label for dealing with metric output. This
1414
// should be used as a fallback for when prometheus isn't available.
1515
METRICS Label = "metrics"
16+
17+
// CHARMHUB defines a common label for dealing with the charmhub client
18+
// and callers.
19+
CHARMHUB Label = "charmhub"
1620
)

resource/resourceadapters/charmhub.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import (
1515
"github.com/juju/juju/charmhub"
1616
"github.com/juju/juju/charmhub/transport"
1717
"github.com/juju/juju/charmstore"
18+
corelogger "github.com/juju/juju/core/logger"
1819
"github.com/juju/juju/resource/repositories"
1920
)
2021

@@ -50,13 +51,12 @@ func newCharmHubClient(st chClientState) (ResourceClient, error) {
5051
return &CharmHubClient{}, errors.Trace(err)
5152
}
5253

53-
chLogger := logger.Child("charmhub")
5454
var chCfg charmhub.Config
5555
chURL, ok := modelCfg.CharmHubURL()
5656
if ok {
57-
chCfg, err = charmhub.CharmHubConfigFromURL(chURL, chLogger.Child("client"))
57+
chCfg, err = charmhub.CharmHubConfigFromURL(chURL, logger)
5858
} else {
59-
chCfg, err = charmhub.CharmHubConfig(chLogger.Child("client"))
59+
chCfg, err = charmhub.CharmHubConfig(logger)
6060
}
6161
if err != nil {
6262
return nil, errors.Trace(err)
@@ -65,7 +65,7 @@ func newCharmHubClient(st chClientState) (ResourceClient, error) {
6565
if err != nil {
6666
return nil, errors.Trace(err)
6767
}
68-
return &CharmHubClient{client: chClient, logger: chLogger}, nil
68+
return &CharmHubClient{client: chClient, logger: logger.ChildWithLabels("charmhub", corelogger.CHARMHUB)}, nil
6969
}
7070

7171
type CharmHubClient struct {

0 commit comments

Comments
 (0)