func SetLogger(logger log_Logger) {
	if raceDetector {
		globalMutex.Lock()
		defer globalMutex.Unlock()
	}
	globalLogger = logger
}
func SetLogger(logger log_Logger) {
	if raceDetector {
		globalMutex.Lock()
		defer globalMutex.Unlock()
	}
	globalLogger = logger
}
func SetLogger ( logger log_Logger ) { if raceDetector { globalMutex . Lock ( ) defer globalMutex . Unlock ( ) } globalLogger = logger }
// RACE WARNING: There are known data races when logging, which are manually
// silenced when the race detector is in use. These data races won't be
// observed in typical use, because logging is supposed to be set up once when
// the application starts. Having raceDetector as a constant, the compiler
// should elide the locks altogether in actual use.
// Specify the *log.Logger object where log messages should be sent to.
RACE WARNING : There are known data races when logging which are manually silenced when the race detector is in use . These data races won t be observed in typical use because logging is supposed to be set up once when the application starts . Having raceDetector as a constant the compiler should elide the locks altogether in actual use . Specify the * log . Logger object where log messages should be sent to .