code: func (logger *Logger) AddHook(hook lg.Hook) {
  	mux := &sync.Mutex{}
  
  	unsafeStd := (*unsafe.Pointer)(unsafe.Pointer(&logger.std))
  	stdVal := (*lg.Logger)(atomic.LoadPointer(unsafeStd))
  	old := logger.std
  	mux.Lock()
  	stdVal.Hooks.Add(hook)
  	mux.Unlock()
  	atomic.CompareAndSwapPointer(unsafeStd, unsafe.Pointer(old), unsafe.Pointer(logger.std))
  }
docs: // AddHook adds a hook to the standard logger hooks.