1
0
mirror of https://github.com/golang/go synced 2024-09-24 05:20:13 -06:00

log: expose std via new Default function

To allow passing around the package level *Logger, it is now exposed to
callers of the Default function. We considered exposing std, however at
this time there is no need to allow callers to replace std only pass and
call methods directly.

Fixes #39057

Change-Id: I710b16a3aa5e4e878870561dbf59560f98d8d09a
Reviewed-on: https://go-review.googlesource.com/c/go/+/264460
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Trust: Alberto Donizetti <alb.donizetti@gmail.com>
This commit is contained in:
Colin Arnott 2020-10-22 22:16:01 +00:00 committed by Ian Lance Taylor
parent a972e8ccb9
commit 9db7db54b0
2 changed files with 9 additions and 0 deletions

View File

@ -75,6 +75,9 @@ func (l *Logger) SetOutput(w io.Writer) {
var std = New(os.Stderr, "", LstdFlags)
// Default returns the *Logger used by the package-level output functions.
func Default() *Logger { return std }
// Cheap integer to fixed-width decimal ASCII. Give a negative width to avoid zero-padding.
func itoa(buf *[]byte, i int, wid int) {
// Assemble decimal in reverse order.

View File

@ -74,6 +74,12 @@ func testPrint(t *testing.T, flag int, prefix string, pattern string, useFormat
SetOutput(os.Stderr)
}
func TestDefault(t *testing.T) {
if got := Default(); got != std {
t.Errorf("Default [%p] should be std [%p]", got, std)
}
}
func TestAll(t *testing.T) {
for _, testcase := range tests {
testPrint(t, testcase.flag, testcase.prefix, testcase.pattern, false)