Merge lp:~thumper/juju-core/show-log into lp:~go-bot/juju-core/trunk

Proposed by Tim Penhey
Status: Merged
Approved by: John A Meinel
Approved revision: no longer in the source branch.
Merged at revision: 1792
Proposed branch: lp:~thumper/juju-core/show-log
Merge into: lp:~go-bot/juju-core/trunk
Diff against target: 206 lines (+69/-23)
3 files modified
cmd/juju/main_test.go (+3/-2)
cmd/logging.go (+29/-18)
cmd/logging_test.go (+37/-3)
To merge this branch: bzr merge lp:~thumper/juju-core/show-log
Reviewer Review Type Date Requested Status
Juju Engineering Pending
Review via email: mp+185193@code.launchpad.net

Commit message

Make show-log an explicit arg.

This is part of the prelude to making --verbose mean
something else.

Also now, you can specify a log file and ask for show-log
and the logging goes to both places.

There is now a deprecation warning written out if people use
--verbose.

https://codereview.appspot.com/13352052/

Description of the change

Make show-log an explicit arg.

This is part of the prelude to making --verbose mean
something else.

Also now, you can specify a log file and ask for show-log
and the logging goes to both places.

There is now a deprecation warning written out if people use
--verbose.

https://codereview.appspot.com/13352052/

To post a comment you must log in.
Revision history for this message
Tim Penhey (thumper) wrote :
Download full text (7.2 KiB)

Reviewers: mp+185193_code.launchpad.net,

Message:
Please take a look.

Description:
Make show-log an explicit arg.

This is part of the prelude to making --verbose mean
something else.

Also now, you can specify a log file and ask for show-log
and the logging goes to both places.

There is now a deprecation warning written out if people use
--verbose.

https://code.launchpad.net/~thumper/juju-core/show-log/+merge/185193

(do not edit description out of merge proposal)

Please review this at https://codereview.appspot.com/13352052/

Affected files (+71, -23 lines):
   A [revision details]
   M cmd/juju/main_test.go
   M cmd/logging.go
   M cmd/logging_test.go

Index: [revision details]
=== added file '[revision details]'
--- [revision details] 2012-01-01 00:00:00 +0000
+++ [revision details] 2012-01-01 00:00:00 +0000
@@ -0,0 +1,2 @@
+Old revision: tarmac-20130912013106-u5aifia59afghpiv
+New revision: <email address hidden>

Index: cmd/logging.go
=== modified file 'cmd/logging.go'
--- cmd/logging.go 2013-06-20 11:03:10 +0000
+++ cmd/logging.go 2013-09-12 03:48:50 +0000
@@ -4,7 +4,6 @@
  package cmd

  import (
- "io"
   "os"

   "launchpad.net/gnuflag"
@@ -17,6 +16,7 @@
   Path string
   Verbose bool
   Debug bool
+ ShowLog bool
   Config string
  }

@@ -28,38 +28,49 @@
   f.BoolVar(&l.Verbose, "verbose", false, "if set, log additional messages")
   f.BoolVar(&l.Debug, "debug", false, "if set, log debugging messages")
   f.StringVar(&l.Config, "log-config", "", "specify log levels for modules")
+ f.BoolVar(&l.ShowLog, "show-log", false, "if set, write the log file to
stderr")
  }

  // Start starts logging using the given Context.
-func (l *Log) Start(ctx *Context) (err error) {
- var target io.Writer
+func (l *Log) Start(ctx *Context) error {
   if l.Path != "" {
    path := ctx.AbsPath(l.Path)
- target, err = os.OpenFile(path, os.O_WRONLY|os.O_APPEND|os.O_CREATE,
0644)
+ target, err := os.OpenFile(path, os.O_WRONLY|os.O_APPEND|os.O_CREATE,
0644)
    if err != nil {
     return err
    }
- } else if l.Verbose || l.Debug {
- target = ctx.Stderr
- }
-
- if target != nil {
    writer := loggo.NewSimpleWriter(target, &loggo.DefaultFormatter{})
- _, err = loggo.ReplaceDefaultWriter(writer)
+ err = loggo.RegisterWriter("logfile", writer, loggo.TRACE)
+ if err != nil {
+ return err
+ }
+ }
+ level := loggo.WARNING
+ if l.Verbose {
+ ctx.Stdout.Write([]byte("verbose is deprecated with the current meaning,
use show-log\n"))
+ l.ShowLog = true
+ }
+ if l.ShowLog {
+ level = loggo.INFO
+ }
+ if l.Debug {
+ l.ShowLog = true
+ level = loggo.DEBUG
+ }
+
+ if l.ShowLog {
+ // We replace the default writer to use ctx.Stderr rather than os.Stderr.
+ writer := loggo.NewSimpleWriter(ctx.Stderr, &loggo.DefaultFormatter{})
+ _, err := loggo.ReplaceDefaultWriter(writer)
    if err != nil {
     return err
    }
   } else {
    loggo.RemoveWriter("default")
   }
- if l.Verbose || l.Debug {
- level := loggo.INFO
- if l.Debug {
- level = loggo.DEBUG
- }
- // Set the level on the root logger.
- loggo.GetLogger("").SetLogLevel(level)
- }
+ // Set the level on the root logger.
+ loggo.GetLogger(""...

Read more...

Revision history for this message
Ian Booth (wallyworld) wrote :
Revision history for this message
Ian Booth (wallyworld) wrote :
Revision history for this message
Go Bot (go-bot) wrote :
Download full text (164.9 KiB)

The attempt to merge lp:~thumper/juju-core/show-log into lp:juju-core failed. Below is the output from the failed tests.

ok launchpad.net/juju-core/agent 0.755s
ok launchpad.net/juju-core/agent/tools 0.249s
ok launchpad.net/juju-core/bzr 6.747s
ok launchpad.net/juju-core/cert 2.357s
ok launchpad.net/juju-core/charm 0.537s
? launchpad.net/juju-core/charm/hooks [no test files]
ok launchpad.net/juju-core/cloudinit 0.020s
ok launchpad.net/juju-core/cmd 0.272s
? launchpad.net/juju-core/cmd/builddb [no test files]
? launchpad.net/juju-core/cmd/charmd [no test files]
? launchpad.net/juju-core/cmd/charmload [no test files]

----------------------------------------------------------------------
PANIC: addmachine.go:0: AddMachineSuite.SetUpTest

[LOG] 37.26979 INFO juju mongod: error command line: unknown option sslOnNormalPorts
[LOG] 37.26983 INFO juju mongod: use --help for help
... Panic: no reachable servers (PC=0x414321)

/usr/lib/go/src/pkg/runtime/panic.c:229
  in panic
/home/tarmac/trees/src/launchpad.net/juju-core/testing/mgo.go:198
  in MgoDial
/home/tarmac/trees/src/launchpad.net/juju-core/testing/mgo.go:205
  in MgoSuite.SetUpTest
/home/tarmac/trees/src/launchpad.net/juju-core/juju/testing/conn.go:138
  in JujuConnSuite.SetUpTest
/home/tarmac/trees/src/launchpad.net/juju-core/juju/testing/repo.go:25
  in RepoSuite.SetUpTest

----------------------------------------------------------------------
PANIC: addmachine.go:0: AddMachineSuite.TearDownTest

... Panic: runtime error: invalid memory address or nil pointer dereference (PC=0x414321)

/usr/lib/go/src/pkg/runtime/panic.c:229
  in panic
/usr/lib/go/src/pkg/runtime/panic.c:487
  in panicstring
/usr/lib/go/src/pkg/runtime/os_linux.c:236
  in sigpanic
/home/tarmac/trees/src/launchpad.net/juju-core/state/state.go:1044
  in State.SetAdminMongoPassword
/home/tarmac/trees/src/launchpad.net/juju-core/juju/testing/conn.go:264
  in JujuConnSuite.tearDownConn
/home/tarmac/trees/src/launchpad.net/juju-core/juju/testing/conn.go:144
  in JujuConnSuite.TearDownTest
/home/tarmac/trees/src/launchpad.net/juju-core/juju/testing/repo.go:44
  in RepoSuite.TearDownTest

----------------------------------------------------------------------
PANIC: addmachine_test.go:82: AddMachineSuite.TestAddContainerToExistingMachine

... Panic: Fixture has panicked (see related PANIC)

----------------------------------------------------------------------
PANIC: addmachine.go:0: AddRelationSuite.SetUpTest

... Panic: no reachable servers (PC=0x414321)

/usr/lib/go/src/pkg/runtime/panic.c:229
  in panic
/home/tarmac/trees/src/launchpad.net/juju-core/testing/mgo.go:198
  in MgoDial
/home/tarmac/trees/src/launchpad.net/juju-core/testing/mgo.go:205
  in MgoSuite.SetUpTest
/home/tarmac/trees/src/launchpad.net/juju-core/juju/testing/conn.go:138
  in JujuConnSuite.SetUpTest
/home/tarmac/trees/src/launchpad.net/juju-core/juju/testing/repo.go:25
  in RepoSuite.SetUpTest

----------------------------------------------------------------------
PANIC: addmachine.go:0: AddRelationSuite.TearDownTest

... Panic: runtime error: invalid memory address or nil pointer dereference (PC=0x414321)

/usr/lib/go/src/pkg/runti...

Revision history for this message
Go Bot (go-bot) wrote :
Download full text (164.9 KiB)

The attempt to merge lp:~thumper/juju-core/show-log into lp:juju-core failed. Below is the output from the failed tests.

ok launchpad.net/juju-core/agent 0.768s
ok launchpad.net/juju-core/agent/tools 0.254s
ok launchpad.net/juju-core/bzr 6.776s
ok launchpad.net/juju-core/cert 2.097s
ok launchpad.net/juju-core/charm 0.570s
? launchpad.net/juju-core/charm/hooks [no test files]
ok launchpad.net/juju-core/cloudinit 0.020s
ok launchpad.net/juju-core/cmd 0.260s
? launchpad.net/juju-core/cmd/builddb [no test files]
? launchpad.net/juju-core/cmd/charmd [no test files]
? launchpad.net/juju-core/cmd/charmload [no test files]

----------------------------------------------------------------------
PANIC: addmachine.go:0: AddMachineSuite.SetUpTest

... Panic: no reachable servers (PC=0x414321)

/usr/lib/go/src/pkg/runtime/panic.c:229
  in panic
/home/tarmac/trees/src/launchpad.net/juju-core/testing/mgo.go:198
  in MgoDial
/home/tarmac/trees/src/launchpad.net/juju-core/testing/mgo.go:205
  in MgoSuite.SetUpTest
/home/tarmac/trees/src/launchpad.net/juju-core/juju/testing/conn.go:138
  in JujuConnSuite.SetUpTest
/home/tarmac/trees/src/launchpad.net/juju-core/juju/testing/repo.go:25
  in RepoSuite.SetUpTest

----------------------------------------------------------------------
PANIC: addmachine.go:0: AddMachineSuite.TearDownTest

... Panic: runtime error: invalid memory address or nil pointer dereference (PC=0x414321)

/usr/lib/go/src/pkg/runtime/panic.c:229
  in panic
/usr/lib/go/src/pkg/runtime/panic.c:487
  in panicstring
/usr/lib/go/src/pkg/runtime/os_linux.c:236
  in sigpanic
/home/tarmac/trees/src/launchpad.net/juju-core/state/state.go:1044
  in State.SetAdminMongoPassword
/home/tarmac/trees/src/launchpad.net/juju-core/juju/testing/conn.go:264
  in JujuConnSuite.tearDownConn
/home/tarmac/trees/src/launchpad.net/juju-core/juju/testing/conn.go:144
  in JujuConnSuite.TearDownTest
/home/tarmac/trees/src/launchpad.net/juju-core/juju/testing/repo.go:44
  in RepoSuite.TearDownTest

----------------------------------------------------------------------
PANIC: addmachine_test.go:82: AddMachineSuite.TestAddContainerToExistingMachine

... Panic: Fixture has panicked (see related PANIC)

----------------------------------------------------------------------
PANIC: addmachine.go:0: AddRelationSuite.SetUpTest

... Panic: no reachable servers (PC=0x414321)

/usr/lib/go/src/pkg/runtime/panic.c:229
  in panic
/home/tarmac/trees/src/launchpad.net/juju-core/testing/mgo.go:198
  in MgoDial
/home/tarmac/trees/src/launchpad.net/juju-core/testing/mgo.go:205
  in MgoSuite.SetUpTest
/home/tarmac/trees/src/launchpad.net/juju-core/juju/testing/conn.go:138
  in JujuConnSuite.SetUpTest
/home/tarmac/trees/src/launchpad.net/juju-core/juju/testing/repo.go:25
  in RepoSuite.SetUpTest

----------------------------------------------------------------------
PANIC: addmachine.go:0: AddRelationSuite.TearDownTest

... Panic: runtime error: invalid memory address or nil pointer dereference (PC=0x414321)

/usr/lib/go/src/pkg/runtime/panic.c:229
  in panic
/usr/lib/go/src/pkg/runtime/panic.c:487
  in panicstring
/usr/lib/go/src/pkg/runtime/os_linux.c:236
  in sigpani...

Revision history for this message
Go Bot (go-bot) wrote :
Download full text (164.5 KiB)

The attempt to merge lp:~thumper/juju-core/show-log into lp:juju-core failed. Below is the output from the failed tests.

ok launchpad.net/juju-core/agent 0.748s
ok launchpad.net/juju-core/agent/tools 0.259s
ok launchpad.net/juju-core/bzr 6.771s
ok launchpad.net/juju-core/cert 2.964s
ok launchpad.net/juju-core/charm 0.552s
? launchpad.net/juju-core/charm/hooks [no test files]
ok launchpad.net/juju-core/cloudinit 0.025s
ok launchpad.net/juju-core/cmd 0.265s
? launchpad.net/juju-core/cmd/builddb [no test files]
? launchpad.net/juju-core/cmd/charmd [no test files]
? launchpad.net/juju-core/cmd/charmload [no test files]

----------------------------------------------------------------------
PANIC: addmachine.go:0: AddMachineSuite.SetUpTest

[LOG] 61.02621 INFO juju mongod: error command line: unknown option sslOnNormalPorts
[LOG] 61.02625 INFO juju mongod: use --help for help
... Panic: no reachable servers (PC=0x414321)

/usr/lib/go/src/pkg/runtime/panic.c:229
  in panic
/home/tarmac/trees/src/launchpad.net/juju-core/testing/mgo.go:198
  in MgoDial
/home/tarmac/trees/src/launchpad.net/juju-core/testing/mgo.go:205
  in MgoSuite.SetUpTest
/home/tarmac/trees/src/launchpad.net/juju-core/juju/testing/conn.go:138
  in JujuConnSuite.SetUpTest
/home/tarmac/trees/src/launchpad.net/juju-core/juju/testing/repo.go:25
  in RepoSuite.SetUpTest

----------------------------------------------------------------------
PANIC: addmachine.go:0: AddMachineSuite.TearDownTest

... Panic: runtime error: invalid memory address or nil pointer dereference (PC=0x414321)

/usr/lib/go/src/pkg/runtime/panic.c:229
  in panic
/usr/lib/go/src/pkg/runtime/panic.c:487
  in panicstring
/usr/lib/go/src/pkg/runtime/os_linux.c:236
  in sigpanic
/home/tarmac/trees/src/launchpad.net/juju-core/state/state.go:1044
  in State.SetAdminMongoPassword
/home/tarmac/trees/src/launchpad.net/juju-core/juju/testing/conn.go:264
  in JujuConnSuite.tearDownConn
/home/tarmac/trees/src/launchpad.net/juju-core/juju/testing/conn.go:144
  in JujuConnSuite.TearDownTest
/home/tarmac/trees/src/launchpad.net/juju-core/juju/testing/repo.go:44
  in RepoSuite.TearDownTest

----------------------------------------------------------------------
PANIC: addmachine_test.go:82: AddMachineSuite.TestAddContainerToExistingMachine

... Panic: Fixture has panicked (see related PANIC)

----------------------------------------------------------------------
PANIC: addmachine.go:0: AddRelationSuite.SetUpTest

... Panic: no reachable servers (PC=0x414321)

/usr/lib/go/src/pkg/runtime/panic.c:229
  in panic
/home/tarmac/trees/src/launchpad.net/juju-core/testing/mgo.go:198
  in MgoDial
/home/tarmac/trees/src/launchpad.net/juju-core/testing/mgo.go:205
  in MgoSuite.SetUpTest
/home/tarmac/trees/src/launchpad.net/juju-core/juju/testing/conn.go:138
  in JujuConnSuite.SetUpTest
/home/tarmac/trees/src/launchpad.net/juju-core/juju/testing/repo.go:25
  in RepoSuite.SetUpTest

----------------------------------------------------------------------
PANIC: addmachine.go:0: AddRelationSuite.TearDownTest

... Panic: runtime error: invalid memory address or nil pointer dereference (PC=0x414321)

/usr/lib/go/src/pkg/runti...

Revision history for this message
John A Meinel (jameinel) wrote :

I should have fixed the problem on the bot, I'll follow up if it keeps failing.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'cmd/juju/main_test.go'
--- cmd/juju/main_test.go 2013-08-21 18:38:22 +0000
+++ cmd/juju/main_test.go 2013-09-12 04:14:12 +0000
@@ -192,7 +192,7 @@
192 // Check global args work when specified before command192 // Check global args work when specified before command
193 msg := breakJuju(c, "Bootstrap")193 msg := breakJuju(c, "Bootstrap")
194 logpath := filepath.Join(c.MkDir(), "log")194 logpath := filepath.Join(c.MkDir(), "log")
195 out := badrun(c, 1, "--log-file", logpath, "--verbose", "--debug", "bootstrap")195 out := badrun(c, 1, "--log-file", logpath, "bootstrap")
196 c.Assert(out, gc.Equals, "error: "+msg+"\n")196 c.Assert(out, gc.Equals, "error: "+msg+"\n")
197 content, err := ioutil.ReadFile(logpath)197 content, err := ioutil.ReadFile(logpath)
198 c.Assert(err, gc.IsNil)198 c.Assert(err, gc.IsNil)
@@ -205,7 +205,7 @@
205 // Check global args work when specified after command205 // Check global args work when specified after command
206 msg := breakJuju(c, "Bootstrap")206 msg := breakJuju(c, "Bootstrap")
207 logpath := filepath.Join(c.MkDir(), "log")207 logpath := filepath.Join(c.MkDir(), "log")
208 out := badrun(c, 1, "bootstrap", "--log-file", logpath, "--verbose", "--debug")208 out := badrun(c, 1, "bootstrap", "--log-file", logpath)
209 c.Assert(out, gc.Equals, "error: "+msg+"\n")209 c.Assert(out, gc.Equals, "error: "+msg+"\n")
210 content, err := ioutil.ReadFile(logpath)210 content, err := ioutil.ReadFile(logpath)
211 c.Assert(err, gc.IsNil)211 c.Assert(err, gc.IsNil)
@@ -313,6 +313,7 @@
313 "-h, --help .*",313 "-h, --help .*",
314 "--log-config .*",314 "--log-config .*",
315 "--log-file .*",315 "--log-file .*",
316 "--show-log .*",
316 "-v, --verbose .*",317 "-v, --verbose .*",
317}318}
318319
319320
=== modified file 'cmd/logging.go'
--- cmd/logging.go 2013-06-20 11:03:10 +0000
+++ cmd/logging.go 2013-09-12 04:14:12 +0000
@@ -4,7 +4,6 @@
4package cmd4package cmd
55
6import (6import (
7 "io"
8 "os"7 "os"
98
10 "launchpad.net/gnuflag"9 "launchpad.net/gnuflag"
@@ -17,6 +16,7 @@
17 Path string16 Path string
18 Verbose bool17 Verbose bool
19 Debug bool18 Debug bool
19 ShowLog bool
20 Config string20 Config string
21}21}
2222
@@ -28,38 +28,49 @@
28 f.BoolVar(&l.Verbose, "verbose", false, "if set, log additional messages")28 f.BoolVar(&l.Verbose, "verbose", false, "if set, log additional messages")
29 f.BoolVar(&l.Debug, "debug", false, "if set, log debugging messages")29 f.BoolVar(&l.Debug, "debug", false, "if set, log debugging messages")
30 f.StringVar(&l.Config, "log-config", "", "specify log levels for modules")30 f.StringVar(&l.Config, "log-config", "", "specify log levels for modules")
31 f.BoolVar(&l.ShowLog, "show-log", false, "if set, write the log file to stderr")
31}32}
3233
33// Start starts logging using the given Context.34// Start starts logging using the given Context.
34func (l *Log) Start(ctx *Context) (err error) {35func (l *Log) Start(ctx *Context) error {
35 var target io.Writer
36 if l.Path != "" {36 if l.Path != "" {
37 path := ctx.AbsPath(l.Path)37 path := ctx.AbsPath(l.Path)
38 target, err = os.OpenFile(path, os.O_WRONLY|os.O_APPEND|os.O_CREATE, 0644)38 target, err := os.OpenFile(path, os.O_WRONLY|os.O_APPEND|os.O_CREATE, 0644)
39 if err != nil {39 if err != nil {
40 return err40 return err
41 }41 }
42 } else if l.Verbose || l.Debug {
43 target = ctx.Stderr
44 }
45
46 if target != nil {
47 writer := loggo.NewSimpleWriter(target, &loggo.DefaultFormatter{})42 writer := loggo.NewSimpleWriter(target, &loggo.DefaultFormatter{})
48 _, err = loggo.ReplaceDefaultWriter(writer)43 err = loggo.RegisterWriter("logfile", writer, loggo.TRACE)
44 if err != nil {
45 return err
46 }
47 }
48 level := loggo.WARNING
49 if l.Verbose {
50 ctx.Stdout.Write([]byte("verbose is deprecated with the current meaning, use show-log\n"))
51 l.ShowLog = true
52 }
53 if l.ShowLog {
54 level = loggo.INFO
55 }
56 if l.Debug {
57 l.ShowLog = true
58 level = loggo.DEBUG
59 }
60
61 if l.ShowLog {
62 // We replace the default writer to use ctx.Stderr rather than os.Stderr.
63 writer := loggo.NewSimpleWriter(ctx.Stderr, &loggo.DefaultFormatter{})
64 _, err := loggo.ReplaceDefaultWriter(writer)
49 if err != nil {65 if err != nil {
50 return err66 return err
51 }67 }
52 } else {68 } else {
53 loggo.RemoveWriter("default")69 loggo.RemoveWriter("default")
54 }70 }
55 if l.Verbose || l.Debug {71 // Set the level on the root logger.
56 level := loggo.INFO72 loggo.GetLogger("").SetLogLevel(level)
57 if l.Debug {73 // Override the logging config with specified logging config.
58 level = loggo.DEBUG
59 }
60 // Set the level on the root logger.
61 loggo.GetLogger("").SetLogLevel(level)
62 }
63 loggo.ConfigureLoggers(l.Config)74 loggo.ConfigureLoggers(l.Config)
64 return nil75 return nil
65}76}
6677
=== modified file 'cmd/logging_test.go'
--- cmd/logging_test.go 2013-08-19 11:17:19 +0000
+++ cmd/logging_test.go 2013-09-12 04:14:12 +0000
@@ -20,6 +20,11 @@
2020
21var _ = gc.Suite(&LogSuite{})21var _ = gc.Suite(&LogSuite{})
2222
23func (s *LogSuite) TearDownTest(c *gc.C) {
24 loggo.ResetLoggers()
25 loggo.ResetWriters()
26}
27
23func (s *LogSuite) TestAddFlags(c *gc.C) {28func (s *LogSuite) TestAddFlags(c *gc.C) {
24 l := &cmd.Log{}29 l := &cmd.Log{}
25 f := testing.NewFlagSet()30 f := testing.NewFlagSet()
@@ -48,6 +53,8 @@
48 c.Assert(err, gc.IsNil)53 c.Assert(err, gc.IsNil)
4954
50 c.Assert(loggo.GetLogger("").LogLevel(), gc.Equals, loggo.INFO)55 c.Assert(loggo.GetLogger("").LogLevel(), gc.Equals, loggo.INFO)
56 c.Assert(testing.Stderr(ctx), gc.Equals, "")
57 c.Assert(testing.Stdout(ctx), gc.Equals, "verbose is deprecated with the current meaning, use show-log\n")
51}58}
5259
53func (s *LogSuite) TestDebugSetsLogLevel(c *gc.C) {60func (s *LogSuite) TestDebugSetsLogLevel(c *gc.C) {
@@ -57,6 +64,19 @@
57 c.Assert(err, gc.IsNil)64 c.Assert(err, gc.IsNil)
5865
59 c.Assert(loggo.GetLogger("").LogLevel(), gc.Equals, loggo.DEBUG)66 c.Assert(loggo.GetLogger("").LogLevel(), gc.Equals, loggo.DEBUG)
67 c.Assert(testing.Stderr(ctx), gc.Equals, "")
68 c.Assert(testing.Stdout(ctx), gc.Equals, "")
69}
70
71func (s *LogSuite) TestShowLogSetsLogLevel(c *gc.C) {
72 l := &cmd.Log{ShowLog: true}
73 ctx := testing.Context(c)
74 err := l.Start(ctx)
75 c.Assert(err, gc.IsNil)
76
77 c.Assert(loggo.GetLogger("").LogLevel(), gc.Equals, loggo.INFO)
78 c.Assert(testing.Stderr(ctx), gc.Equals, "")
79 c.Assert(testing.Stdout(ctx), gc.Equals, "")
60}80}
6181
62func (s *LogSuite) TestStderr(c *gc.C) {82func (s *LogSuite) TestStderr(c *gc.C) {
@@ -65,7 +85,7 @@
65 err := l.Start(ctx)85 err := l.Start(ctx)
66 c.Assert(err, gc.IsNil)86 c.Assert(err, gc.IsNil)
67 log.Infof("hello")87 log.Infof("hello")
68 c.Assert(bufferString(ctx.Stderr), gc.Matches, `^.* INFO .* hello\n`)88 c.Assert(testing.Stderr(ctx), gc.Matches, `^.* INFO .* hello\n`)
69}89}
7090
71func (s *LogSuite) TestRelPathLog(c *gc.C) {91func (s *LogSuite) TestRelPathLog(c *gc.C) {
@@ -74,10 +94,11 @@
74 err := l.Start(ctx)94 err := l.Start(ctx)
75 c.Assert(err, gc.IsNil)95 c.Assert(err, gc.IsNil)
76 log.Infof("hello")96 log.Infof("hello")
77 c.Assert(bufferString(ctx.Stderr), gc.Equals, "")
78 content, err := ioutil.ReadFile(filepath.Join(ctx.Dir, "foo.log"))97 content, err := ioutil.ReadFile(filepath.Join(ctx.Dir, "foo.log"))
79 c.Assert(err, gc.IsNil)98 c.Assert(err, gc.IsNil)
80 c.Assert(string(content), gc.Matches, `^.* INFO .* hello\n`)99 c.Assert(string(content), gc.Matches, `^.* INFO .* hello\n`)
100 c.Assert(testing.Stderr(ctx), gc.Equals, "")
101 c.Assert(testing.Stdout(ctx), gc.Equals, "")
81}102}
82103
83func (s *LogSuite) TestAbsPathLog(c *gc.C) {104func (s *LogSuite) TestAbsPathLog(c *gc.C) {
@@ -87,8 +108,21 @@
87 err := l.Start(ctx)108 err := l.Start(ctx)
88 c.Assert(err, gc.IsNil)109 c.Assert(err, gc.IsNil)
89 log.Infof("hello")110 log.Infof("hello")
90 c.Assert(bufferString(ctx.Stderr), gc.Equals, "")111 c.Assert(testing.Stderr(ctx), gc.Equals, "")
91 content, err := ioutil.ReadFile(path)112 content, err := ioutil.ReadFile(path)
92 c.Assert(err, gc.IsNil)113 c.Assert(err, gc.IsNil)
93 c.Assert(string(content), gc.Matches, `^.* INFO .* hello\n`)114 c.Assert(string(content), gc.Matches, `^.* INFO .* hello\n`)
94}115}
116
117func (s *LogSuite) TestLoggingToFileAndStderr(c *gc.C) {
118 l := &cmd.Log{Path: "foo.log", Config: "<root>=INFO", ShowLog: true}
119 ctx := testing.Context(c)
120 err := l.Start(ctx)
121 c.Assert(err, gc.IsNil)
122 log.Infof("hello")
123 content, err := ioutil.ReadFile(filepath.Join(ctx.Dir, "foo.log"))
124 c.Assert(err, gc.IsNil)
125 c.Assert(string(content), gc.Matches, `^.* INFO .* hello\n`)
126 c.Assert(testing.Stderr(ctx), gc.Matches, `^.* INFO .* hello\n`)
127 c.Assert(testing.Stdout(ctx), gc.Equals, "")
128}

Subscribers

People subscribed via source and target branches

to status/vote changes: