import ( "github.com/juju/loggo" "github.com/juju/loggo/TestWriter" ) func main() { writer := &TestWriter{} logger := loggo.GetLogger("example") logger.SetWriter(loggo.LevelDebug, writer) logger.Debugf("debug message") messages := writer.Messages() // messages is a slice containing the message "debug message" }
import ( "testing" "github.com/stretchr/testify/assert" "github.com/juju/loggo" "github.com/juju/loggo/TestWriter" ) func TestLogger(t *testing.T) { writer := &TestWriter{} logger := loggo.GetLogger("example") logger.SetWriter(loggo.LevelDebug, writer) logger.Debugf("debug message") messages := writer.Messages() assert.Equal(t, "debug message", messages[0].Message) }Example 1 shows how to use the TestWriter object to buffer messages generated by the logger and how to access these messages after the logger has been used. Example 2 shows how to test a logger object using the TestWriter. The TestWriter is used to buffer messages generated during the test, and then a test assertion is made to ensure that the correct message was logged.