// Copyright (c) 2016 Uber Technologies, Inc.//// Permission is hereby granted, free of charge, to any person obtaining a copy// of this software and associated documentation files (the "Software"), to deal// in the Software without restriction, including without limitation the rights// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell// copies of the Software, and to permit persons to whom the Software is// furnished to do so, subject to the following conditions://// The above copyright notice and this permission notice shall be included in// all copies or substantial portions of the Software.//// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN// THE SOFTWARE.package zapimport ()var (errNoEncoderNameSpecified = errors.New("no encoder name specified")_encoderNameToConstructor = map[string]func(zapcore.EncoderConfig) (zapcore.Encoder, error){"console": func( zapcore.EncoderConfig) (zapcore.Encoder, error) {returnzapcore.NewConsoleEncoder(), nil },"json": func( zapcore.EncoderConfig) (zapcore.Encoder, error) {returnzapcore.NewJSONEncoder(), nil }, }_encoderMutexsync.RWMutex)// RegisterEncoder registers an encoder constructor, which the Config struct// can then reference. By default, the "json" and "console" encoders are// registered.//// Attempting to register an encoder whose name is already taken returns an// error.func ( string, func(zapcore.EncoderConfig) (zapcore.Encoder, error)) error {_encoderMutex.Lock()defer_encoderMutex.Unlock()if == "" {returnerrNoEncoderNameSpecified }if , := _encoderNameToConstructor[]; {returnfmt.Errorf("encoder already registered for name %q", ) }_encoderNameToConstructor[] = returnnil}func ( string, zapcore.EncoderConfig) (zapcore.Encoder, error) {if .TimeKey != "" && .EncodeTime == nil {returnnil, errors.New("missing EncodeTime in EncoderConfig") }_encoderMutex.RLock()defer_encoderMutex.RUnlock()if == "" {returnnil, errNoEncoderNameSpecified } , := _encoderNameToConstructor[]if ! {returnnil, fmt.Errorf("no encoder registered for name %q", ) }return ()}
The pages are generated with Goldsv0.6.7. (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu.
PR and bug reports are welcome and can be submitted to the issue list.
Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds.