Changing up the flow of the logging system, starting to move the tests

into their own directory for organization.
This commit is contained in:
Snoosaphone 2019-12-28 19:51:10 -06:00
parent 81f03c7d07
commit d346733b9b
18 changed files with 35 additions and 65 deletions

View File

@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package logging
package logger
// defaultBackend is the backend used for all logging calls.
var defaultBackend LeveledBackend

View File

@ -2,14 +2,16 @@ package main
import (
"os"
"mimirtech.net/gitea/GoUtilities/logger"
)
var log = logging.MustGetLogger("example")
var log = logger.MustGetLogger("example")
// Example format string. Everything except the message has a custom color
// which is dependent on the log level. Many fields have a custom output
// formatting too, eg. the time returns the hour down to the milli second.
var format = logging.MustStringFormatter(
var format = logger.MustStringFormatter(
`%{color}%{time:15:04:05.000} %{shortfunc} ▶ %{level:.4s} %{id:03x}%{color:reset} %{message}`,
)
@ -18,25 +20,25 @@ var format = logging.MustStringFormatter(
type Password string
func (p Password) Redacted() interface{} {
return logging.Redact(string(p))
return logger.Redact(string(p))
}
func main() {
// For demo purposes, create two backend for os.Stderr.
backend1 := logging.NewLogBackend(os.Stderr, "", 0)
backend2 := logging.NewLogBackend(os.Stderr, "", 0)
backend1 := logger.NewLogBackend(os.Stderr, "", 0)
backend2 := logger.NewLogBackend(os.Stderr, "", 0)
// For messages written to backend2 we want to add some additional
// information to the output, including the used log level and the name of
// the function.
backend2Formatter := logging.NewBackendFormatter(backend2, format)
backend2Formatter := logger.NewBackendFormatter(backend2, format)
// Only errors and more severe messages should be sent to backend1
backend1Leveled := logging.AddModuleLevel(backend1)
backend1Leveled.SetLevel(logging.ERROR, "")
backend1Leveled := logger.AddModuleLevel(backend1)
backend1Leveled.SetLevel(logger.ERROR, "")
// Set the backends to be used.
logging.SetBackend(backend1Leveled, backend2Formatter)
logger.SetBackend(backend1Leveled, backend2Formatter)
log.Debugf("debug %s", Password("secret"))
log.Info("info")

View File

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package logging
package logger
import (
"bytes"
@ -191,8 +191,8 @@ type stringFormatter struct {
// future.
//
// Experimental:
// %{longpkg} Full package path, eg. github.com/go-logging
// %{shortpkg} Base package path, eg. go-logging
// %{longpkg} Full package path, eg. mimirtech.net/gitea/GoUtilities/logger
// %{shortpkg} Base package path, eg. logger
// %{longfunc} Full function name, eg. littleEndian.PutUint32
// %{shortfunc} Base function name, eg. PutUint32
// %{callpath} Call function path, eg. main.a.b.c

View File

@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package logging
package logger
import (
"errors"

View File

@ -1,10 +1,4 @@
// +build !windows
// Copyright 2013, Örjan Persson. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package logging
package logger
import (
"bytes"

View File

@ -5,7 +5,7 @@
// Package logging implements a logging infrastructure for Go. It supports
// different logging backends like syslog, file and memory. Multiple backends
// can be utilized with different log levels per backend and logger.
package logging
package logger
import (
"bytes"

View File

@ -1,10 +1,4 @@
// Copyright 2013, Örjan Persson. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// +build !appengine
package logging
package logger
import (
"sync"

View File

@ -1,8 +1,4 @@
// Copyright 2013, Örjan Persson. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package logging
package logger
// TODO remove Level stuff from the multi logger. Do one thing.

View File

@ -1,10 +1,4 @@
// Copyright 2013, Örjan Persson. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//+build !windows,!plan9
package logging
package logger
import "log/syslog"

View File

@ -1,10 +1,4 @@
// Copyright 2013, Örjan Persson. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//+build windows plan9
package logging
package logger
import (
"fmt"

View File

@ -1,4 +1,4 @@
package logging
package logger
import "os"

View File

@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package logging
package logger
import (
"bytes"
@ -109,14 +109,14 @@ func TestFormatFuncName(t *testing.T) {
"main",
"main",
"main"},
{"github.com/op/go-logging.func·001",
"github.com/op/go-logging",
"go-logging",
{"mimirtech.net/gitea/GoUtilities/logger.func·001",
"mimirtech.net/gitea/GoUtilities/logger",
"logger",
"func·001",
"func·001"},
{"github.com/op/go-logging.stringFormatter.Format",
"github.com/op/go-logging",
"go-logging",
{"mimirtech.net/gitea/GoUtilities/logger.stringFormatter.Format",
"mimirtech.net/gitea/GoUtilities/logger",
"logger",
"stringFormatter.Format",
"Format"},
}

View File

@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package logging
package logger
import "testing"

View File

@ -1,8 +1,4 @@
// Copyright 2013, Örjan Persson. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package logging
package logger
import (
"bytes"

View File

@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package logging
package logger
import "testing"

View File

@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package logging
package logger
import (
"strconv"

View File

@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package logging
package logger
import "testing"