- 
                Notifications
    You must be signed in to change notification settings 
- Fork 272
Open
Description
package main
import (
        "os"
        "time"
        "github.com/op/go-logging"
)
func main() {
        go func() {
                test("test1")
        }()
        test("test2")
        time.Sleep(time.Second)
}
func test(name string) {
        backend := logging.NewLogBackend(os.Stdout, "", 0)
        leveledBackend := logging.AddModuleLevel(backend)
        leveledBackend.SetLevel(logging.DEBUG, name)
        logging.SetBackend(leveledBackend)
        logger := logging.MustGetLogger(name)
        logger.Debug("debug")
}run go run -race main.go, DATA RACE detected:
# go run -race main.go 
debug
==================
WARNING: DATA RACE
Write by goroutine 6:
  github.com/op/go-logging.SetBackend()
      /root/godev/src/github.com/op/go-logging/backend.go:26 +0x24c
  main.test()
      /root/godev/src/logging/main.go:24 +0x522
  main.main.func1()
      /root/godev/src/logging/main.go:12 +0x39
Previous write by main goroutine:
  github.com/op/go-logging.SetBackend()
      /root/godev/src/github.com/op/go-logging/backend.go:26 +0x24c
  main.test()
      /root/godev/src/logging/main.go:24 +0x522
  main.main()
      /root/godev/src/logging/main.go:15 +0x51
Goroutine 6 (running) created at:
  main.main()
      /root/godev/src/logging/main.go:13 +0x38
==================
debug
Found 1 data race(s)
exit status 66
Metadata
Metadata
Assignees
Labels
No labels