Merge lp:~axwalk/juju-core/lp1027876-uniter-use-loggo into lp:~go-bot/juju-core/trunk
- lp1027876-uniter-use-loggo
- Merge into trunk
Status: | Merged |
---|---|
Approved by: | Andrew Wilkins |
Approved revision: | no longer in the source branch. |
Merged at revision: | 1627 |
Proposed branch: | lp:~axwalk/juju-core/lp1027876-uniter-use-loggo |
Merge into: | lp:~go-bot/juju-core/trunk |
Diff against target: |
532 lines (+69/-63) 5 files modified
worker/uniter/context.go (+8/-9) worker/uniter/filter.go (+29/-25) worker/uniter/modes.go (+12/-13) worker/uniter/uniter.go (+17/-15) worker/uniter/uniter_test.go (+3/-1) |
To merge this branch: | bzr merge lp:~axwalk/juju-core/lp1027876-uniter-use-loggo |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Juju Engineering | Pending | ||
Review via email: mp+178484@code.launchpad.net |
Commit message
worker/uniter: use loggo
As requested in review of bug 1027876.
Description of the change
worker/uniter: use loggo
As requested in review of bug 1027876.
Dimiter Naydenov (dimitern) wrote : | # |
Andrew Wilkins (axwalk) wrote : | # |
Please take a look.
Andrew Wilkins (axwalk) wrote : | # |
https:/
File worker/
https:/
worker/
dying")
On 2013/08/05 08:10:25, dimitern wrote:
> No need for "worker/uniter/" prefix I think, because the logger
already has
> "juju.worker.
> 1) Create a different logger: filterLog =
> loggo.GetLogger
and below,
> with messages like "unit is dying" - no prefix;
> 2) Use the same logger, but leave only "filter: " as prefix, as in
"filter: unit
> is dying".
Done.
https:/
File worker/
https:/
worker/
loggo.GetLogger
On 2013/08/05 08:10:25, dimitern wrote:
> logger = .. please, as in other places of the code.
Done.
John A Meinel (jameinel) wrote : | # |
LGTM
https:/
File worker/
https:/
worker/
That is a nice catch as a side effect of this.
Preview Diff
1 | === modified file 'worker/uniter/context.go' |
2 | --- worker/uniter/context.go 2013-07-31 06:00:13 +0000 |
3 | +++ worker/uniter/context.go 2013-08-06 01:46:28 +0000 |
4 | @@ -8,7 +8,6 @@ |
5 | "fmt" |
6 | "io" |
7 | "launchpad.net/juju-core/charm" |
8 | - "launchpad.net/juju-core/log" |
9 | "launchpad.net/juju-core/state" |
10 | unitdebug "launchpad.net/juju-core/worker/uniter/debug" |
11 | "launchpad.net/juju-core/worker/uniter/jujuc" |
12 | @@ -153,7 +152,7 @@ |
13 | env := ctx.hookVars(charmDir, toolsDir, socketPath) |
14 | debugctx := unitdebug.NewHooksContext(ctx.unit.Name()) |
15 | if session, _ := debugctx.FindSession(); session != nil && session.MatchHook(hookName) { |
16 | - log.Infof("worker/uniter: executing %s via debug-hooks", hookName) |
17 | + logger.Infof("executing %s via debug-hooks", hookName) |
18 | err = session.RunHook(hookName, charmDir, env) |
19 | } else { |
20 | err = runCharmHook(hookName, charmDir, env) |
21 | @@ -166,7 +165,7 @@ |
22 | "could not write settings from %q to relation %d: %v", |
23 | hookName, id, e, |
24 | ) |
25 | - log.Errorf("worker/uniter: %v", e) |
26 | + logger.Errorf("%v", e) |
27 | if err == nil { |
28 | err = e |
29 | } |
30 | @@ -187,21 +186,21 @@ |
31 | } |
32 | ps.Stdout = outWriter |
33 | ps.Stderr = outWriter |
34 | - logger := &hookLogger{ |
35 | + hookLogger := &hookLogger{ |
36 | r: outReader, |
37 | done: make(chan struct{}), |
38 | } |
39 | - go logger.run() |
40 | + go hookLogger.run() |
41 | err = ps.Start() |
42 | outWriter.Close() |
43 | if err == nil { |
44 | err = ps.Wait() |
45 | } |
46 | - logger.stop() |
47 | + hookLogger.stop() |
48 | if ee, ok := err.(*exec.Error); ok && err != nil { |
49 | if os.IsNotExist(ee.Err) { |
50 | // Missing hook is perfectly valid, but worth mentioning. |
51 | - log.Infof("worker/uniter: skipped %q hook (not implemented)", hookName) |
52 | + logger.Infof("skipped %q hook (not implemented)", hookName) |
53 | return nil |
54 | } |
55 | } |
56 | @@ -223,7 +222,7 @@ |
57 | line, _, err := br.ReadLine() |
58 | if err != nil { |
59 | if err != io.EOF { |
60 | - log.Errorf("worker/uniter: cannot read hook output: %v", err) |
61 | + logger.Errorf("cannot read hook output: %v", err) |
62 | } |
63 | break |
64 | } |
65 | @@ -232,7 +231,7 @@ |
66 | l.mu.Unlock() |
67 | return |
68 | } |
69 | - log.Infof("worker/uniter: HOOK %s", line) |
70 | + logger.Infof("HOOK %s", line) |
71 | l.mu.Unlock() |
72 | } |
73 | } |
74 | |
75 | === modified file 'worker/uniter/filter.go' |
76 | --- worker/uniter/filter.go 2013-08-02 12:37:43 +0000 |
77 | +++ worker/uniter/filter.go 2013-08-06 01:46:28 +0000 |
78 | @@ -5,16 +5,20 @@ |
79 | |
80 | import ( |
81 | "fmt" |
82 | + "sort" |
83 | + |
84 | + "launchpad.net/loggo" |
85 | + |
86 | "launchpad.net/juju-core/charm" |
87 | "launchpad.net/juju-core/errors" |
88 | - "launchpad.net/juju-core/log" |
89 | "launchpad.net/juju-core/state" |
90 | "launchpad.net/juju-core/state/watcher" |
91 | "launchpad.net/juju-core/worker" |
92 | "launchpad.net/tomb" |
93 | - "sort" |
94 | ) |
95 | |
96 | +var filterLogger = loggo.GetLogger("juju.worker.uniter.filter") |
97 | + |
98 | // filter collects unit, service, and service config information from separate |
99 | // state watchers, and presents it as events on channels designed specifically |
100 | // for the convenience of the uniter. |
101 | @@ -108,7 +112,7 @@ |
102 | go func() { |
103 | defer f.tomb.Done() |
104 | err := f.loop(unitName) |
105 | - log.Errorf("worker/uniter/filter: %v", err) |
106 | + filterLogger.Errorf("%v", err) |
107 | f.tomb.Kill(err) |
108 | }() |
109 | return f, nil |
110 | @@ -217,7 +221,7 @@ |
111 | case <-f.tomb.Dying(): |
112 | return tomb.ErrDying |
113 | case <-f.didClearResolved: |
114 | - log.Debugf("resolved clear completed") |
115 | + filterLogger.Debugf("resolved clear completed") |
116 | return nil |
117 | } |
118 | } |
119 | @@ -282,7 +286,7 @@ |
120 | |
121 | // Handle watcher changes. |
122 | case _, ok = <-unitw.Changes(): |
123 | - log.Debugf("worker/uniter/filter: got unit change") |
124 | + filterLogger.Debugf("got unit change") |
125 | if !ok { |
126 | return watcher.MustErr(unitw) |
127 | } |
128 | @@ -290,7 +294,7 @@ |
129 | return err |
130 | } |
131 | case _, ok = <-servicew.Changes(): |
132 | - log.Debugf("worker/uniter/filter: got service change") |
133 | + filterLogger.Debugf("got service change") |
134 | if !ok { |
135 | return watcher.MustErr(servicew) |
136 | } |
137 | @@ -298,15 +302,15 @@ |
138 | return err |
139 | } |
140 | case _, ok = <-configChanges: |
141 | - log.Debugf("worker/uniter/filter: got config change") |
142 | + filterLogger.Debugf("got config change") |
143 | if !ok { |
144 | return watcher.MustErr(configw) |
145 | } |
146 | - log.Debugf("worker/uniter/filter: preparing new config event") |
147 | + filterLogger.Debugf("preparing new config event") |
148 | f.outConfig = f.outConfigOn |
149 | discardConfig = f.discardConfig |
150 | case keys, ok := <-relationsw.Changes(): |
151 | - log.Debugf("worker/uniter/filter: got relations change") |
152 | + filterLogger.Debugf("got relations change") |
153 | if !ok { |
154 | return watcher.MustErr(relationsw) |
155 | } |
156 | @@ -325,22 +329,22 @@ |
157 | |
158 | // Send events on active out chans. |
159 | case f.outUpgrade <- f.upgrade: |
160 | - log.Debugf("worker/uniter/filter: sent upgrade event") |
161 | + filterLogger.Debugf("sent upgrade event") |
162 | f.outUpgrade = nil |
163 | case f.outResolved <- f.resolved: |
164 | - log.Debugf("worker/uniter/filter: sent resolved event") |
165 | + filterLogger.Debugf("sent resolved event") |
166 | f.outResolved = nil |
167 | case f.outConfig <- nothing: |
168 | - log.Debugf("worker/uniter/filter: sent config event") |
169 | + filterLogger.Debugf("sent config event") |
170 | f.outConfig = nil |
171 | case f.outRelations <- f.relations: |
172 | - log.Debugf("worker/uniter/filter: sent relations event") |
173 | + filterLogger.Debugf("sent relations event") |
174 | f.outRelations = nil |
175 | f.relations = nil |
176 | |
177 | // Handle explicit requests. |
178 | case curl := <-f.setCharm: |
179 | - log.Debugf("worker/uniter/filter: changing charm to %q", curl) |
180 | + filterLogger.Debugf("changing charm to %q", curl) |
181 | // We need to restart the config watcher after setting the |
182 | // charm, because service config settings are distinct for |
183 | // different service charms. |
184 | @@ -350,7 +354,7 @@ |
185 | } |
186 | } |
187 | if err := f.unit.SetCharmURL(curl); err != nil { |
188 | - log.Debugf("worker/uniter/filter: failed setting charm url %q: %v", curl, err) |
189 | + filterLogger.Debugf("failed setting charm url %q: %v", curl, err) |
190 | return err |
191 | } |
192 | select { |
193 | @@ -375,18 +379,18 @@ |
194 | return err |
195 | } |
196 | case force := <-f.wantForcedUpgrade: |
197 | - log.Debugf("worker/uniter/filter: want forced upgrade %v", force) |
198 | + filterLogger.Debugf("want forced upgrade %v", force) |
199 | f.upgradeFrom.force = force |
200 | if err = f.upgradeChanged(); err != nil { |
201 | return err |
202 | } |
203 | case <-f.wantResolved: |
204 | - log.Debugf("worker/uniter/filter: want resolved event") |
205 | + filterLogger.Debugf("want resolved event") |
206 | if f.resolved != state.ResolvedNone { |
207 | f.outResolved = f.outResolvedOn |
208 | } |
209 | case <-f.clearResolved: |
210 | - log.Debugf("worker/uniter/filter: resolved event handled") |
211 | + filterLogger.Debugf("resolved event handled") |
212 | f.outResolved = nil |
213 | if err := f.unit.ClearResolved(); err != nil { |
214 | return err |
215 | @@ -400,7 +404,7 @@ |
216 | case f.didClearResolved <- nothing: |
217 | } |
218 | case <-discardConfig: |
219 | - log.Debugf("worker/uniter/filter: discarded config event") |
220 | + filterLogger.Debugf("discarded config event") |
221 | f.outConfig = nil |
222 | } |
223 | } |
224 | @@ -417,11 +421,11 @@ |
225 | if f.life != f.unit.Life() { |
226 | switch f.life = f.unit.Life(); f.life { |
227 | case state.Dying: |
228 | - log.Noticef("worker/uniter/filter: unit is dying") |
229 | + filterLogger.Infof("unit is dying") |
230 | close(f.outUnitDying) |
231 | f.outUpgrade = nil |
232 | case state.Dead: |
233 | - log.Noticef("worker/uniter/filter: unit is dead") |
234 | + filterLogger.Infof("unit is dead") |
235 | return worker.ErrTerminateAgent |
236 | } |
237 | } |
238 | @@ -460,18 +464,18 @@ |
239 | // delivered as upgrades. |
240 | func (f *filter) upgradeChanged() (err error) { |
241 | if f.life != state.Alive { |
242 | - log.Debugf("worker/uniter/filter: charm check skipped, unit is dying") |
243 | + filterLogger.Debugf("charm check skipped, unit is dying") |
244 | f.outUpgrade = nil |
245 | return nil |
246 | } |
247 | if f.upgradeFrom.url == nil { |
248 | - log.Debugf("worker/uniter/filter: charm check skipped, not yet installed.") |
249 | + filterLogger.Debugf("charm check skipped, not yet installed.") |
250 | f.outUpgrade = nil |
251 | return nil |
252 | } |
253 | if *f.upgradeAvailable.url != *f.upgradeFrom.url { |
254 | if f.upgradeAvailable.force || !f.upgradeFrom.force { |
255 | - log.Debugf("worker/uniter/filter: preparing new upgrade event") |
256 | + filterLogger.Debugf("preparing new upgrade event") |
257 | if f.upgrade == nil || *f.upgrade != *f.upgradeAvailable.url { |
258 | f.upgrade = f.upgradeAvailable.url |
259 | } |
260 | @@ -479,7 +483,7 @@ |
261 | return nil |
262 | } |
263 | } |
264 | - log.Debugf("worker/uniter/filter: no new charm event") |
265 | + filterLogger.Debugf("no new charm event") |
266 | f.outUpgrade = nil |
267 | return nil |
268 | } |
269 | |
270 | === modified file 'worker/uniter/modes.go' |
271 | --- worker/uniter/modes.go 2013-08-02 12:37:43 +0000 |
272 | +++ worker/uniter/modes.go 2013-08-06 01:46:28 +0000 |
273 | @@ -10,7 +10,6 @@ |
274 | "launchpad.net/juju-core/charm/hooks" |
275 | "launchpad.net/juju-core/environs" |
276 | "launchpad.net/juju-core/errors" |
277 | - "launchpad.net/juju-core/log" |
278 | "launchpad.net/juju-core/state" |
279 | "launchpad.net/juju-core/state/api/params" |
280 | "launchpad.net/juju-core/state/watcher" |
281 | @@ -27,7 +26,7 @@ |
282 | // ModeInit is the initial Uniter mode. |
283 | func ModeInit(u *Uniter) (next Mode, err error) { |
284 | defer modeContext("ModeInit", &err)() |
285 | - log.Infof("worker/uniter: updating unit addresses") |
286 | + logger.Infof("updating unit addresses") |
287 | cfg, err := u.st.EnvironConfig() |
288 | if err != nil { |
289 | return nil, err |
290 | @@ -46,7 +45,7 @@ |
291 | } else if err = u.unit.SetPublicAddress(public); err != nil { |
292 | return nil, err |
293 | } |
294 | - log.Infof("reconciling relation state") |
295 | + logger.Infof("reconciling relation state") |
296 | if err := u.restoreRelations(); err != nil { |
297 | return nil, err |
298 | } |
299 | @@ -59,10 +58,10 @@ |
300 | |
301 | // If we haven't yet loaded state, do so. |
302 | if u.s == nil { |
303 | - log.Infof("loading uniter state") |
304 | + logger.Infof("loading uniter state") |
305 | if u.s, err = u.sf.Read(); err == ErrNoStateFile { |
306 | // When no state exists, start from scratch. |
307 | - log.Infof("worker/uniter: charm is not deployed") |
308 | + logger.Infof("charm is not deployed") |
309 | curl, _ := u.service.CharmURL() |
310 | return ModeInstalling(curl), nil |
311 | } else if err != nil { |
312 | @@ -73,7 +72,7 @@ |
313 | // Filter out states not related to charm deployment. |
314 | switch u.s.Op { |
315 | case Continue: |
316 | - log.Infof("worker/uniter: continuing after %q hook", u.s.Hook.Kind) |
317 | + logger.Infof("continuing after %q hook", u.s.Hook.Kind) |
318 | switch u.s.Hook.Kind { |
319 | case hooks.Stop: |
320 | return ModeTerminating, nil |
321 | @@ -90,30 +89,30 @@ |
322 | return ModeAbide, nil |
323 | case RunHook: |
324 | if u.s.OpStep == Queued { |
325 | - log.Infof("worker/uniter: found queued %q hook", u.s.Hook.Kind) |
326 | + logger.Infof("found queued %q hook", u.s.Hook.Kind) |
327 | if err = u.runHook(*u.s.Hook); err != nil && err != errHookFailed { |
328 | return nil, err |
329 | } |
330 | return ModeContinue, nil |
331 | } |
332 | if u.s.OpStep == Done { |
333 | - log.Infof("worker/uniter: found uncommitted %q hook", u.s.Hook.Kind) |
334 | + logger.Infof("found uncommitted %q hook", u.s.Hook.Kind) |
335 | if err = u.commitHook(*u.s.Hook); err != nil { |
336 | return nil, err |
337 | } |
338 | return ModeContinue, nil |
339 | } |
340 | - log.Infof("worker/uniter: awaiting error resolution for %q hook", u.s.Hook.Kind) |
341 | + logger.Infof("awaiting error resolution for %q hook", u.s.Hook.Kind) |
342 | return ModeHookError, nil |
343 | } |
344 | |
345 | // Resume interrupted deployment operations. |
346 | curl := u.s.CharmURL |
347 | if u.s.Op == Install { |
348 | - log.Infof("worker/uniter: resuming charm install") |
349 | + logger.Infof("resuming charm install") |
350 | return ModeInstalling(curl), nil |
351 | } else if u.s.Op == Upgrade { |
352 | - log.Infof("worker/uniter: resuming charm upgrade") |
353 | + logger.Infof("resuming charm upgrade") |
354 | return ModeUpgrading(curl), nil |
355 | } |
356 | panic(fmt.Errorf("unhandled uniter operation %q", u.s.Op)) |
357 | @@ -402,9 +401,9 @@ |
358 | // modeContext returns a function that implements logging and common error |
359 | // manipulation for Mode funcs. |
360 | func modeContext(name string, err *error) func() { |
361 | - log.Infof("worker/uniter: %s starting", name) |
362 | + logger.Infof("%s starting", name) |
363 | return func() { |
364 | - log.Debugf("worker/uniter: %s exiting", name) |
365 | + logger.Debugf("%s exiting", name) |
366 | switch *err { |
367 | case nil, tomb.ErrDying, worker.ErrTerminateAgent: |
368 | default: |
369 | |
370 | === modified file 'worker/uniter/uniter.go' |
371 | --- worker/uniter/uniter.go 2013-08-02 12:37:43 +0000 |
372 | +++ worker/uniter/uniter.go 2013-08-06 01:46:28 +0000 |
373 | @@ -12,6 +12,7 @@ |
374 | "strings" |
375 | "time" |
376 | |
377 | + "launchpad.net/loggo" |
378 | "launchpad.net/tomb" |
379 | |
380 | "launchpad.net/juju-core/agent/tools" |
381 | @@ -19,7 +20,6 @@ |
382 | "launchpad.net/juju-core/charm/hooks" |
383 | "launchpad.net/juju-core/cmd" |
384 | "launchpad.net/juju-core/errors" |
385 | - "launchpad.net/juju-core/log" |
386 | "launchpad.net/juju-core/state" |
387 | "launchpad.net/juju-core/state/watcher" |
388 | "launchpad.net/juju-core/utils" |
389 | @@ -30,6 +30,8 @@ |
390 | "launchpad.net/juju-core/worker/uniter/relation" |
391 | ) |
392 | |
393 | +var logger = loggo.GetLogger("juju.worker.uniter") |
394 | + |
395 | // Uniter implements the capabilities of the unit agent. It is not intended to |
396 | // implement the actual *behaviour* of the unit agent; that responsibility is |
397 | // delegated to Mode values, which are expected to react to events and direct |
398 | @@ -78,7 +80,7 @@ |
399 | if err = u.init(name); err != nil { |
400 | return err |
401 | } |
402 | - log.Noticef("worker/uniter: unit %q started", u.unit) |
403 | + logger.Infof("unit %q started", u.unit) |
404 | |
405 | // Start filtering state change events for consumption by modes. |
406 | u.f, err = newFilter(u.st, name) |
407 | @@ -107,7 +109,7 @@ |
408 | mode, err = mode(u) |
409 | } |
410 | } |
411 | - log.Noticef("worker/uniter: unit %q shutting down: %s", u.unit, err) |
412 | + logger.Infof("unit %q shutting down: %s", u.unit, err) |
413 | return err |
414 | } |
415 | |
416 | @@ -225,7 +227,7 @@ |
417 | } |
418 | if u.s == nil || u.s.OpStep != Done { |
419 | // Get the new charm bundle before announcing intention to use it. |
420 | - log.Infof("worker/uniter: fetching charm %q", curl) |
421 | + logger.Infof("fetching charm %q", curl) |
422 | sch, err := u.st.Charm(curl) |
423 | if err != nil { |
424 | return err |
425 | @@ -248,7 +250,7 @@ |
426 | if err := u.unit.Refresh(); err != nil { |
427 | return err |
428 | } |
429 | - log.Infof("worker/uniter: deploying charm %q", curl) |
430 | + logger.Infof("deploying charm %q", curl) |
431 | if err = u.writeState(reason, Pending, hi, curl); err != nil { |
432 | return err |
433 | } |
434 | @@ -259,7 +261,7 @@ |
435 | return err |
436 | } |
437 | } |
438 | - log.Infof("worker/uniter: charm %q is deployed", curl) |
439 | + logger.Infof("charm %q is deployed", curl) |
440 | status := Queued |
441 | if hi != nil { |
442 | // If a hook operation was interrupted, restore it. |
443 | @@ -347,22 +349,22 @@ |
444 | if err := u.writeState(RunHook, Pending, &hi, nil); err != nil { |
445 | return err |
446 | } |
447 | - log.Infof("worker/uniter: running %q hook", hookName) |
448 | + logger.Infof("running %q hook", hookName) |
449 | if err := hctx.RunHook(hookName, u.charm.Path(), u.toolsDir, socketPath); err != nil { |
450 | - log.Errorf("worker/uniter: hook failed: %s", err) |
451 | + logger.Errorf("hook failed: %s", err) |
452 | return errHookFailed |
453 | } |
454 | if err := u.writeState(RunHook, Done, &hi, nil); err != nil { |
455 | return err |
456 | } |
457 | - log.Infof("worker/uniter: ran %q hook", hookName) |
458 | + logger.Infof("ran %q hook", hookName) |
459 | return u.commitHook(hi) |
460 | } |
461 | |
462 | // commitHook ensures that state is consistent with the supplied hook, and |
463 | // that the fact of the hook's completion is persisted. |
464 | func (u *Uniter) commitHook(hi hook.Info) error { |
465 | - log.Infof("worker/uniter: committing %q hook", hi.Kind) |
466 | + logger.Infof("committing %q hook", hi.Kind) |
467 | if hi.Kind.IsRelation() { |
468 | if err := u.relationers[hi.RelationId].CommitHook(hi); err != nil { |
469 | return err |
470 | @@ -380,7 +382,7 @@ |
471 | if err := u.writeState(Continue, Pending, &hi, nil); err != nil { |
472 | return err |
473 | } |
474 | - log.Infof("worker/uniter: committed %q hook", hi.Kind) |
475 | + logger.Infof("committed %q hook", hi.Kind) |
476 | return nil |
477 | } |
478 | |
479 | @@ -457,7 +459,7 @@ |
480 | if ep, err := rel.Endpoint(u.unit.ServiceName()); err != nil { |
481 | return nil, err |
482 | } else if !ep.ImplementedBy(ch) { |
483 | - log.Warningf("worker/uniter: skipping relation with unknown endpoint %q", ep) |
484 | + logger.Warningf("skipping relation with unknown endpoint %q", ep) |
485 | continue |
486 | } |
487 | dir, err := relation.ReadStateDir(u.relationsDir, id) |
488 | @@ -501,7 +503,7 @@ |
489 | // addRelation causes the unit agent to join the supplied relation, and to |
490 | // store persistent state in the supplied dir. |
491 | func (u *Uniter) addRelation(rel *state.Relation, dir *relation.StateDir) error { |
492 | - log.Infof("worker/uniter: joining relation %q", rel) |
493 | + logger.Infof("joining relation %q", rel) |
494 | ru, err := rel.Unit(u.unit) |
495 | if err != nil { |
496 | return err |
497 | @@ -518,12 +520,12 @@ |
498 | return watcher.MustErr(w) |
499 | } |
500 | if err := r.Join(); err == state.ErrCannotEnterScopeYet { |
501 | - log.Infof("worker/uniter: cannot enter scope for relation %q; waiting for subordinate to be removed", rel) |
502 | + logger.Infof("cannot enter scope for relation %q; waiting for subordinate to be removed", rel) |
503 | continue |
504 | } else if err != nil { |
505 | return err |
506 | } |
507 | - log.Infof("worker/uniter: joined relation %q", rel) |
508 | + logger.Infof("joined relation %q", rel) |
509 | u.relationers[rel.Id()] = r |
510 | return nil |
511 | } |
512 | |
513 | === modified file 'worker/uniter/uniter_test.go' |
514 | --- worker/uniter/uniter_test.go 2013-08-02 12:37:43 +0000 |
515 | +++ worker/uniter/uniter_test.go 2013-08-06 01:46:28 +0000 |
516 | @@ -77,6 +77,8 @@ |
517 | |
518 | func (s *UniterSuite) TearDownSuite(c *C) { |
519 | os.Setenv("LC_ALL", s.oldLcAll) |
520 | + s.HTTPSuite.TearDownSuite(c) |
521 | + s.JujuConnSuite.TearDownSuite(c) |
522 | } |
523 | |
524 | func (s *UniterSuite) SetUpTest(c *C) { |
525 | @@ -180,7 +182,7 @@ |
526 | ctx.uuid, |
527 | ) |
528 | // donePattern matches uniter logging that indicates a hook has run. |
529 | - donePattern := `^.* (INFO|ERROR) juju worker/uniter: (ran "[a-z0-9-]+" hook|hook failed)` |
530 | + donePattern := `^.* (INFO|ERROR) juju\.worker\.uniter (ran "[a-z0-9-]+" hook|hook failed)` |
531 | hookRegexp := regexp.MustCompile(hookPattern) |
532 | doneRegexp := regexp.MustCompile(donePattern) |
533 |
LGTM with a couple of suggestions below
https:/ /codereview. appspot. com/12452043/ diff/1/ worker/ uniter/ filter. go uniter/ filter. go (right):
File worker/
https:/ /codereview. appspot. com/12452043/ diff/1/ worker/ uniter/ filter. go#newcode419 uniter/ filter. go:419: log.Infof( "worker/ uniter/ filter: unit is
worker/
dying")
No need for "worker/uniter/" prefix I think, because the logger already uniter" prefix added automatically. So here, either: ("juju. worker. uniter. filter" ) and then use it in here and
has "juju.worker.
1) Create a different logger: filterLog =
loggo.GetLogger
below, with messages like "unit is dying" - no prefix;
2) Use the same logger, but leave only "filter: " as prefix, as in
"filter: unit is dying".
https:/ /codereview. appspot. com/12452043/ diff/1/ worker/ uniter/ uniter. go uniter/ uniter. go (right):
File worker/
https:/ /codereview. appspot. com/12452043/ diff/1/ worker/ uniter/ uniter. go#newcode33 uniter/ uniter. go:33: var log = ("juju. worker. uniter" )
worker/
loggo.GetLogger
logger = .. please, as in other places of the code.
https:/ /codereview. appspot. com/12452043/