func (log *Logger) SetTimingLevel(level iface.Level) {
	log.lock.Lock()
	defer log.lock.Unlock()
	log.config.TimingLevel = level
}
SetTimingLevel sets the timing level of the Logger.
package logger
import (
	"github.com/gxlog/gxlog/iface"
)
func (log *Logger) Config() Config {
	log.lock.Lock()
	defer log.lock.Unlock()
	return *log.config
}
func (log *Logger) SetConfig(config Config) {
	log.lock.Lock()
	defer log.lock.Unlock()
	config.setDefaults()
	log.config = &config
}
func (log *Logger) UpdateConfig(fn func(Config) Config) {
	log.lock.Lock()
	defer log.lock.Unlock()
	config := fn(*log.config)
	log.config = &config
}
func (log *Logger) Level() iface.Level {
	log.lock.Lock()
	defer log.lock.Unlock()
	return log.config.Level
}
func (log *Logger) SetLevel(level iface.Level) {
	log.lock.Lock()
	defer log.lock.Unlock()
	log.config.Level = level
}
func (log *Logger) TrackLevel() iface.Level {
	log.lock.Lock()
	defer log.lock.Unlock()
	return log.config.TrackLevel
}
func (log *Logger) SetTrackLevel(level iface.Level) {
	log.lock.Lock()
	defer log.lock.Unlock()
	log.config.TrackLevel = level
}
func (log *Logger) ExitLevel() iface.Level {
	log.lock.Lock()
	defer log.lock.Unlock()
	return log.config.ExitLevel
}
func (log *Logger) SetExitLevel(level iface.Level) {
	log.lock.Lock()
	defer log.lock.Unlock()
	log.config.ExitLevel = level
}
func (log *Logger) TimingLevel() iface.Level {
	log.lock.Lock()
	defer log.lock.Unlock()
	return log.config.TimingLevel
}