planetscale 0.3.1 → 0.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +9 -1
- data/.github/workflows/gem-push.yml +9 -2
- data/.licenses/go/github.com/matoous/go-nanoid/v2.dep.yml +34 -0
- data/.licenses/go/github.com/planetscale/planetscale-go/planetscale.dep.yml +1 -1
- data/.licenses/go/github.com/planetscale/sql-proxy/proxy.dep.yml +1 -1
- data/.licenses/go/go.uber.org/zap/buffer.dep.yml +1 -1
- data/.licenses/go/go.uber.org/zap/internal/bufferpool.dep.yml +1 -1
- data/.licenses/go/go.uber.org/zap/internal/color.dep.yml +1 -1
- data/.licenses/go/go.uber.org/zap/internal/exit.dep.yml +1 -1
- data/.licenses/go/go.uber.org/zap/zapcore.dep.yml +1 -1
- data/.licenses/go/go.uber.org/zap.dep.yml +1 -1
- data/README.md +2 -0
- data/controller.go +21 -36
- data/go.mod +4 -3
- data/go.sum +32 -18
- data/lib/planetscale/version.rb +1 -1
- data/lib/planetscale.rb +2 -3
- data/planetscale.gemspec +1 -1
- data/proxy/planetscale-darwin.h +1 -1
- data/proxy/planetscale-darwin.so +0 -0
- data/proxy/planetscale-linux.h +1 -1
- data/proxy/planetscale-linux.so +0 -0
- data/proxy.go +1 -5
- metadata +3 -345
- data/vendor/github.com/armon/circbuf/.gitignore +0 -22
- data/vendor/github.com/armon/circbuf/LICENSE +0 -20
- data/vendor/github.com/armon/circbuf/README.md +0 -28
- data/vendor/github.com/armon/circbuf/circbuf.go +0 -92
- data/vendor/github.com/armon/circbuf/go.mod +0 -1
- data/vendor/github.com/golang/protobuf/AUTHORS +0 -3
- data/vendor/github.com/golang/protobuf/CONTRIBUTORS +0 -3
- data/vendor/github.com/golang/protobuf/LICENSE +0 -28
- data/vendor/github.com/golang/protobuf/proto/buffer.go +0 -324
- data/vendor/github.com/golang/protobuf/proto/defaults.go +0 -63
- data/vendor/github.com/golang/protobuf/proto/deprecated.go +0 -113
- data/vendor/github.com/golang/protobuf/proto/discard.go +0 -58
- data/vendor/github.com/golang/protobuf/proto/extensions.go +0 -356
- data/vendor/github.com/golang/protobuf/proto/properties.go +0 -306
- data/vendor/github.com/golang/protobuf/proto/proto.go +0 -167
- data/vendor/github.com/golang/protobuf/proto/registry.go +0 -317
- data/vendor/github.com/golang/protobuf/proto/text_decode.go +0 -801
- data/vendor/github.com/golang/protobuf/proto/text_encode.go +0 -560
- data/vendor/github.com/golang/protobuf/proto/wire.go +0 -78
- data/vendor/github.com/golang/protobuf/proto/wrappers.go +0 -34
- data/vendor/github.com/gorilla/mux/AUTHORS +0 -8
- data/vendor/github.com/gorilla/mux/LICENSE +0 -27
- data/vendor/github.com/gorilla/mux/README.md +0 -805
- data/vendor/github.com/gorilla/mux/doc.go +0 -306
- data/vendor/github.com/gorilla/mux/go.mod +0 -3
- data/vendor/github.com/gorilla/mux/middleware.go +0 -74
- data/vendor/github.com/gorilla/mux/mux.go +0 -606
- data/vendor/github.com/gorilla/mux/regexp.go +0 -388
- data/vendor/github.com/gorilla/mux/route.go +0 -736
- data/vendor/github.com/gorilla/mux/test_helpers.go +0 -19
- data/vendor/github.com/hashicorp/go-cleanhttp/LICENSE +0 -363
- data/vendor/github.com/hashicorp/go-cleanhttp/README.md +0 -30
- data/vendor/github.com/hashicorp/go-cleanhttp/cleanhttp.go +0 -58
- data/vendor/github.com/hashicorp/go-cleanhttp/doc.go +0 -20
- data/vendor/github.com/hashicorp/go-cleanhttp/go.mod +0 -3
- data/vendor/github.com/hashicorp/go-cleanhttp/handlers.go +0 -48
- data/vendor/github.com/mitchellh/go-homedir/LICENSE +0 -21
- data/vendor/github.com/mitchellh/go-homedir/README.md +0 -14
- data/vendor/github.com/mitchellh/go-homedir/go.mod +0 -1
- data/vendor/github.com/mitchellh/go-homedir/homedir.go +0 -167
- data/vendor/github.com/pkg/errors/.gitignore +0 -24
- data/vendor/github.com/pkg/errors/.travis.yml +0 -10
- data/vendor/github.com/pkg/errors/LICENSE +0 -23
- data/vendor/github.com/pkg/errors/Makefile +0 -44
- data/vendor/github.com/pkg/errors/README.md +0 -59
- data/vendor/github.com/pkg/errors/appveyor.yml +0 -32
- data/vendor/github.com/pkg/errors/errors.go +0 -288
- data/vendor/github.com/pkg/errors/go113.go +0 -38
- data/vendor/github.com/pkg/errors/stack.go +0 -177
- data/vendor/github.com/planetscale/planetscale-go/LICENSE +0 -202
- data/vendor/github.com/planetscale/planetscale-go/planetscale/audit_logs.go +0 -136
- data/vendor/github.com/planetscale/planetscale-go/planetscale/backups.go +0 -139
- data/vendor/github.com/planetscale/planetscale-go/planetscale/branches.go +0 -252
- data/vendor/github.com/planetscale/planetscale-go/planetscale/certs.go +0 -166
- data/vendor/github.com/planetscale/planetscale-go/planetscale/client.go +0 -312
- data/vendor/github.com/planetscale/planetscale-go/planetscale/databases.go +0 -133
- data/vendor/github.com/planetscale/planetscale-go/planetscale/deploy_requests.go +0 -368
- data/vendor/github.com/planetscale/planetscale-go/planetscale/organizations.go +0 -103
- data/vendor/github.com/planetscale/planetscale-go/planetscale/regions.go +0 -52
- data/vendor/github.com/planetscale/planetscale-go/planetscale/service_tokens.go +0 -163
- data/vendor/github.com/planetscale/sql-proxy/LICENSE +0 -202
- data/vendor/github.com/planetscale/sql-proxy/proxy/client.go +0 -476
- data/vendor/github.com/planetscale/sql-proxy/proxy/tls_cache.go +0 -73
- data/vendor/go.uber.org/atomic/.codecov.yml +0 -19
- data/vendor/go.uber.org/atomic/.gitignore +0 -12
- data/vendor/go.uber.org/atomic/.travis.yml +0 -27
- data/vendor/go.uber.org/atomic/CHANGELOG.md +0 -76
- data/vendor/go.uber.org/atomic/LICENSE.txt +0 -19
- data/vendor/go.uber.org/atomic/Makefile +0 -78
- data/vendor/go.uber.org/atomic/README.md +0 -63
- data/vendor/go.uber.org/atomic/bool.go +0 -81
- data/vendor/go.uber.org/atomic/bool_ext.go +0 -53
- data/vendor/go.uber.org/atomic/doc.go +0 -23
- data/vendor/go.uber.org/atomic/duration.go +0 -82
- data/vendor/go.uber.org/atomic/duration_ext.go +0 -40
- data/vendor/go.uber.org/atomic/error.go +0 -51
- data/vendor/go.uber.org/atomic/error_ext.go +0 -39
- data/vendor/go.uber.org/atomic/float64.go +0 -76
- data/vendor/go.uber.org/atomic/float64_ext.go +0 -47
- data/vendor/go.uber.org/atomic/gen.go +0 -26
- data/vendor/go.uber.org/atomic/go.mod +0 -8
- data/vendor/go.uber.org/atomic/go.sum +0 -9
- data/vendor/go.uber.org/atomic/int32.go +0 -102
- data/vendor/go.uber.org/atomic/int64.go +0 -102
- data/vendor/go.uber.org/atomic/nocmp.go +0 -35
- data/vendor/go.uber.org/atomic/string.go +0 -54
- data/vendor/go.uber.org/atomic/string_ext.go +0 -43
- data/vendor/go.uber.org/atomic/uint32.go +0 -102
- data/vendor/go.uber.org/atomic/uint64.go +0 -102
- data/vendor/go.uber.org/atomic/value.go +0 -31
- data/vendor/go.uber.org/multierr/.codecov.yml +0 -15
- data/vendor/go.uber.org/multierr/.gitignore +0 -4
- data/vendor/go.uber.org/multierr/.travis.yml +0 -23
- data/vendor/go.uber.org/multierr/CHANGELOG.md +0 -60
- data/vendor/go.uber.org/multierr/LICENSE.txt +0 -19
- data/vendor/go.uber.org/multierr/Makefile +0 -42
- data/vendor/go.uber.org/multierr/README.md +0 -23
- data/vendor/go.uber.org/multierr/error.go +0 -449
- data/vendor/go.uber.org/multierr/glide.yaml +0 -8
- data/vendor/go.uber.org/multierr/go.mod +0 -8
- data/vendor/go.uber.org/multierr/go.sum +0 -11
- data/vendor/go.uber.org/multierr/go113.go +0 -52
- data/vendor/go.uber.org/zap/.codecov.yml +0 -17
- data/vendor/go.uber.org/zap/.gitignore +0 -32
- data/vendor/go.uber.org/zap/.readme.tmpl +0 -109
- data/vendor/go.uber.org/zap/CHANGELOG.md +0 -492
- data/vendor/go.uber.org/zap/CODE_OF_CONDUCT.md +0 -75
- data/vendor/go.uber.org/zap/CONTRIBUTING.md +0 -75
- data/vendor/go.uber.org/zap/FAQ.md +0 -164
- data/vendor/go.uber.org/zap/LICENSE.txt +0 -19
- data/vendor/go.uber.org/zap/Makefile +0 -73
- data/vendor/go.uber.org/zap/README.md +0 -134
- data/vendor/go.uber.org/zap/array.go +0 -320
- data/vendor/go.uber.org/zap/buffer/buffer.go +0 -141
- data/vendor/go.uber.org/zap/buffer/pool.go +0 -49
- data/vendor/go.uber.org/zap/checklicense.sh +0 -17
- data/vendor/go.uber.org/zap/config.go +0 -264
- data/vendor/go.uber.org/zap/doc.go +0 -113
- data/vendor/go.uber.org/zap/encoder.go +0 -79
- data/vendor/go.uber.org/zap/error.go +0 -80
- data/vendor/go.uber.org/zap/field.go +0 -549
- data/vendor/go.uber.org/zap/flag.go +0 -39
- data/vendor/go.uber.org/zap/glide.yaml +0 -34
- data/vendor/go.uber.org/zap/global.go +0 -168
- data/vendor/go.uber.org/zap/global_go112.go +0 -26
- data/vendor/go.uber.org/zap/global_prego112.go +0 -26
- data/vendor/go.uber.org/zap/go.mod +0 -14
- data/vendor/go.uber.org/zap/go.sum +0 -54
- data/vendor/go.uber.org/zap/http_handler.go +0 -132
- data/vendor/go.uber.org/zap/internal/bufferpool/bufferpool.go +0 -31
- data/vendor/go.uber.org/zap/internal/color/color.go +0 -44
- data/vendor/go.uber.org/zap/internal/exit/exit.go +0 -64
- data/vendor/go.uber.org/zap/level.go +0 -132
- data/vendor/go.uber.org/zap/logger.go +0 -348
- data/vendor/go.uber.org/zap/options.go +0 -148
- data/vendor/go.uber.org/zap/sink.go +0 -161
- data/vendor/go.uber.org/zap/stacktrace.go +0 -85
- data/vendor/go.uber.org/zap/sugar.go +0 -315
- data/vendor/go.uber.org/zap/time.go +0 -27
- data/vendor/go.uber.org/zap/writer.go +0 -99
- data/vendor/go.uber.org/zap/zapcore/buffered_write_syncer.go +0 -188
- data/vendor/go.uber.org/zap/zapcore/clock.go +0 -50
- data/vendor/go.uber.org/zap/zapcore/console_encoder.go +0 -161
- data/vendor/go.uber.org/zap/zapcore/core.go +0 -113
- data/vendor/go.uber.org/zap/zapcore/doc.go +0 -24
- data/vendor/go.uber.org/zap/zapcore/encoder.go +0 -443
- data/vendor/go.uber.org/zap/zapcore/entry.go +0 -264
- data/vendor/go.uber.org/zap/zapcore/error.go +0 -132
- data/vendor/go.uber.org/zap/zapcore/field.go +0 -233
- data/vendor/go.uber.org/zap/zapcore/hook.go +0 -68
- data/vendor/go.uber.org/zap/zapcore/increase_level.go +0 -66
- data/vendor/go.uber.org/zap/zapcore/json_encoder.go +0 -534
- data/vendor/go.uber.org/zap/zapcore/level.go +0 -175
- data/vendor/go.uber.org/zap/zapcore/level_strings.go +0 -46
- data/vendor/go.uber.org/zap/zapcore/marshaler.go +0 -61
- data/vendor/go.uber.org/zap/zapcore/memory_encoder.go +0 -179
- data/vendor/go.uber.org/zap/zapcore/sampler.go +0 -208
- data/vendor/go.uber.org/zap/zapcore/tee.go +0 -81
- data/vendor/go.uber.org/zap/zapcore/write_syncer.go +0 -122
- data/vendor/golang.org/x/net/AUTHORS +0 -3
- data/vendor/golang.org/x/net/CONTRIBUTORS +0 -3
- data/vendor/golang.org/x/net/LICENSE +0 -27
- data/vendor/golang.org/x/net/PATENTS +0 -22
- data/vendor/golang.org/x/net/context/context.go +0 -56
- data/vendor/golang.org/x/net/context/ctxhttp/ctxhttp.go +0 -71
- data/vendor/golang.org/x/net/context/go17.go +0 -73
- data/vendor/golang.org/x/net/context/go19.go +0 -21
- data/vendor/golang.org/x/net/context/pre_go17.go +0 -301
- data/vendor/golang.org/x/net/context/pre_go19.go +0 -110
- data/vendor/golang.org/x/oauth2/.travis.yml +0 -13
- data/vendor/golang.org/x/oauth2/AUTHORS +0 -3
- data/vendor/golang.org/x/oauth2/CONTRIBUTING.md +0 -26
- data/vendor/golang.org/x/oauth2/CONTRIBUTORS +0 -3
- data/vendor/golang.org/x/oauth2/LICENSE +0 -27
- data/vendor/golang.org/x/oauth2/README.md +0 -36
- data/vendor/golang.org/x/oauth2/go.mod +0 -9
- data/vendor/golang.org/x/oauth2/go.sum +0 -361
- data/vendor/golang.org/x/oauth2/internal/client_appengine.go +0 -14
- data/vendor/golang.org/x/oauth2/internal/doc.go +0 -6
- data/vendor/golang.org/x/oauth2/internal/oauth2.go +0 -37
- data/vendor/golang.org/x/oauth2/internal/token.go +0 -294
- data/vendor/golang.org/x/oauth2/internal/transport.go +0 -33
- data/vendor/golang.org/x/oauth2/oauth2.go +0 -381
- data/vendor/golang.org/x/oauth2/token.go +0 -178
- data/vendor/golang.org/x/oauth2/transport.go +0 -89
- data/vendor/google.golang.org/appengine/LICENSE +0 -202
- data/vendor/google.golang.org/appengine/internal/api.go +0 -678
- data/vendor/google.golang.org/appengine/internal/api_classic.go +0 -169
- data/vendor/google.golang.org/appengine/internal/api_common.go +0 -123
- data/vendor/google.golang.org/appengine/internal/app_id.go +0 -28
- data/vendor/google.golang.org/appengine/internal/base/api_base.pb.go +0 -308
- data/vendor/google.golang.org/appengine/internal/base/api_base.proto +0 -33
- data/vendor/google.golang.org/appengine/internal/datastore/datastore_v3.pb.go +0 -4367
- data/vendor/google.golang.org/appengine/internal/datastore/datastore_v3.proto +0 -551
- data/vendor/google.golang.org/appengine/internal/identity.go +0 -55
- data/vendor/google.golang.org/appengine/internal/identity_classic.go +0 -61
- data/vendor/google.golang.org/appengine/internal/identity_flex.go +0 -11
- data/vendor/google.golang.org/appengine/internal/identity_vm.go +0 -134
- data/vendor/google.golang.org/appengine/internal/internal.go +0 -110
- data/vendor/google.golang.org/appengine/internal/log/log_service.pb.go +0 -1313
- data/vendor/google.golang.org/appengine/internal/log/log_service.proto +0 -150
- data/vendor/google.golang.org/appengine/internal/main.go +0 -16
- data/vendor/google.golang.org/appengine/internal/main_common.go +0 -7
- data/vendor/google.golang.org/appengine/internal/main_vm.go +0 -69
- data/vendor/google.golang.org/appengine/internal/metadata.go +0 -60
- data/vendor/google.golang.org/appengine/internal/net.go +0 -56
- data/vendor/google.golang.org/appengine/internal/regen.sh +0 -40
- data/vendor/google.golang.org/appengine/internal/remote_api/remote_api.pb.go +0 -361
- data/vendor/google.golang.org/appengine/internal/remote_api/remote_api.proto +0 -44
- data/vendor/google.golang.org/appengine/internal/transaction.go +0 -115
- data/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.pb.go +0 -527
- data/vendor/google.golang.org/appengine/internal/urlfetch/urlfetch_service.proto +0 -64
- data/vendor/google.golang.org/appengine/urlfetch/urlfetch.go +0 -210
- data/vendor/google.golang.org/protobuf/AUTHORS +0 -3
- data/vendor/google.golang.org/protobuf/CONTRIBUTORS +0 -3
- data/vendor/google.golang.org/protobuf/LICENSE +0 -27
- data/vendor/google.golang.org/protobuf/PATENTS +0 -22
- data/vendor/google.golang.org/protobuf/encoding/prototext/decode.go +0 -773
- data/vendor/google.golang.org/protobuf/encoding/prototext/doc.go +0 -7
- data/vendor/google.golang.org/protobuf/encoding/prototext/encode.go +0 -371
- data/vendor/google.golang.org/protobuf/encoding/protowire/wire.go +0 -538
- data/vendor/google.golang.org/protobuf/internal/descfmt/stringer.go +0 -318
- data/vendor/google.golang.org/protobuf/internal/descopts/options.go +0 -29
- data/vendor/google.golang.org/protobuf/internal/detrand/rand.go +0 -69
- data/vendor/google.golang.org/protobuf/internal/encoding/defval/default.go +0 -213
- data/vendor/google.golang.org/protobuf/internal/encoding/messageset/messageset.go +0 -241
- data/vendor/google.golang.org/protobuf/internal/encoding/tag/tag.go +0 -207
- data/vendor/google.golang.org/protobuf/internal/encoding/text/decode.go +0 -665
- data/vendor/google.golang.org/protobuf/internal/encoding/text/decode_number.go +0 -190
- data/vendor/google.golang.org/protobuf/internal/encoding/text/decode_string.go +0 -161
- data/vendor/google.golang.org/protobuf/internal/encoding/text/decode_token.go +0 -373
- data/vendor/google.golang.org/protobuf/internal/encoding/text/doc.go +0 -29
- data/vendor/google.golang.org/protobuf/internal/encoding/text/encode.go +0 -265
- data/vendor/google.golang.org/protobuf/internal/errors/errors.go +0 -89
- data/vendor/google.golang.org/protobuf/internal/errors/is_go112.go +0 -39
- data/vendor/google.golang.org/protobuf/internal/errors/is_go113.go +0 -12
- data/vendor/google.golang.org/protobuf/internal/filedesc/build.go +0 -158
- data/vendor/google.golang.org/protobuf/internal/filedesc/desc.go +0 -631
- data/vendor/google.golang.org/protobuf/internal/filedesc/desc_init.go +0 -471
- data/vendor/google.golang.org/protobuf/internal/filedesc/desc_lazy.go +0 -704
- data/vendor/google.golang.org/protobuf/internal/filedesc/desc_list.go +0 -450
- data/vendor/google.golang.org/protobuf/internal/filedesc/desc_list_gen.go +0 -356
- data/vendor/google.golang.org/protobuf/internal/filedesc/placeholder.go +0 -107
- data/vendor/google.golang.org/protobuf/internal/filetype/build.go +0 -297
- data/vendor/google.golang.org/protobuf/internal/flags/flags.go +0 -24
- data/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_disable.go +0 -9
- data/vendor/google.golang.org/protobuf/internal/flags/proto_legacy_enable.go +0 -9
- data/vendor/google.golang.org/protobuf/internal/genid/any_gen.go +0 -34
- data/vendor/google.golang.org/protobuf/internal/genid/api_gen.go +0 -106
- data/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go +0 -829
- data/vendor/google.golang.org/protobuf/internal/genid/doc.go +0 -11
- data/vendor/google.golang.org/protobuf/internal/genid/duration_gen.go +0 -34
- data/vendor/google.golang.org/protobuf/internal/genid/empty_gen.go +0 -19
- data/vendor/google.golang.org/protobuf/internal/genid/field_mask_gen.go +0 -31
- data/vendor/google.golang.org/protobuf/internal/genid/goname.go +0 -25
- data/vendor/google.golang.org/protobuf/internal/genid/map_entry.go +0 -16
- data/vendor/google.golang.org/protobuf/internal/genid/source_context_gen.go +0 -31
- data/vendor/google.golang.org/protobuf/internal/genid/struct_gen.go +0 -116
- data/vendor/google.golang.org/protobuf/internal/genid/timestamp_gen.go +0 -34
- data/vendor/google.golang.org/protobuf/internal/genid/type_gen.go +0 -184
- data/vendor/google.golang.org/protobuf/internal/genid/wrappers.go +0 -13
- data/vendor/google.golang.org/protobuf/internal/genid/wrappers_gen.go +0 -175
- data/vendor/google.golang.org/protobuf/internal/impl/api_export.go +0 -177
- data/vendor/google.golang.org/protobuf/internal/impl/checkinit.go +0 -141
- data/vendor/google.golang.org/protobuf/internal/impl/codec_extension.go +0 -223
- data/vendor/google.golang.org/protobuf/internal/impl/codec_field.go +0 -830
- data/vendor/google.golang.org/protobuf/internal/impl/codec_gen.go +0 -5637
- data/vendor/google.golang.org/protobuf/internal/impl/codec_map.go +0 -388
- data/vendor/google.golang.org/protobuf/internal/impl/codec_map_go111.go +0 -37
- data/vendor/google.golang.org/protobuf/internal/impl/codec_map_go112.go +0 -11
- data/vendor/google.golang.org/protobuf/internal/impl/codec_message.go +0 -217
- data/vendor/google.golang.org/protobuf/internal/impl/codec_messageset.go +0 -123
- data/vendor/google.golang.org/protobuf/internal/impl/codec_reflect.go +0 -209
- data/vendor/google.golang.org/protobuf/internal/impl/codec_tables.go +0 -557
- data/vendor/google.golang.org/protobuf/internal/impl/codec_unsafe.go +0 -17
- data/vendor/google.golang.org/protobuf/internal/impl/convert.go +0 -496
- data/vendor/google.golang.org/protobuf/internal/impl/convert_list.go +0 -141
- data/vendor/google.golang.org/protobuf/internal/impl/convert_map.go +0 -121
- data/vendor/google.golang.org/protobuf/internal/impl/decode.go +0 -276
- data/vendor/google.golang.org/protobuf/internal/impl/encode.go +0 -201
- data/vendor/google.golang.org/protobuf/internal/impl/enum.go +0 -21
- data/vendor/google.golang.org/protobuf/internal/impl/extension.go +0 -156
- data/vendor/google.golang.org/protobuf/internal/impl/legacy_enum.go +0 -219
- data/vendor/google.golang.org/protobuf/internal/impl/legacy_export.go +0 -92
- data/vendor/google.golang.org/protobuf/internal/impl/legacy_extension.go +0 -176
- data/vendor/google.golang.org/protobuf/internal/impl/legacy_file.go +0 -81
- data/vendor/google.golang.org/protobuf/internal/impl/legacy_message.go +0 -558
- data/vendor/google.golang.org/protobuf/internal/impl/merge.go +0 -176
- data/vendor/google.golang.org/protobuf/internal/impl/merge_gen.go +0 -209
- data/vendor/google.golang.org/protobuf/internal/impl/message.go +0 -276
- data/vendor/google.golang.org/protobuf/internal/impl/message_reflect.go +0 -465
- data/vendor/google.golang.org/protobuf/internal/impl/message_reflect_field.go +0 -543
- data/vendor/google.golang.org/protobuf/internal/impl/message_reflect_gen.go +0 -249
- data/vendor/google.golang.org/protobuf/internal/impl/pointer_reflect.go +0 -178
- data/vendor/google.golang.org/protobuf/internal/impl/pointer_unsafe.go +0 -174
- data/vendor/google.golang.org/protobuf/internal/impl/validate.go +0 -576
- data/vendor/google.golang.org/protobuf/internal/impl/weak.go +0 -74
- data/vendor/google.golang.org/protobuf/internal/order/order.go +0 -89
- data/vendor/google.golang.org/protobuf/internal/order/range.go +0 -115
- data/vendor/google.golang.org/protobuf/internal/pragma/pragma.go +0 -29
- data/vendor/google.golang.org/protobuf/internal/set/ints.go +0 -58
- data/vendor/google.golang.org/protobuf/internal/strs/strings.go +0 -196
- data/vendor/google.golang.org/protobuf/internal/strs/strings_pure.go +0 -27
- data/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe.go +0 -94
- data/vendor/google.golang.org/protobuf/internal/version/version.go +0 -79
- data/vendor/google.golang.org/protobuf/proto/checkinit.go +0 -71
- data/vendor/google.golang.org/protobuf/proto/decode.go +0 -278
- data/vendor/google.golang.org/protobuf/proto/decode_gen.go +0 -603
- data/vendor/google.golang.org/protobuf/proto/doc.go +0 -94
- data/vendor/google.golang.org/protobuf/proto/encode.go +0 -319
- data/vendor/google.golang.org/protobuf/proto/encode_gen.go +0 -97
- data/vendor/google.golang.org/protobuf/proto/equal.go +0 -167
- data/vendor/google.golang.org/protobuf/proto/extension.go +0 -92
- data/vendor/google.golang.org/protobuf/proto/merge.go +0 -139
- data/vendor/google.golang.org/protobuf/proto/messageset.go +0 -93
- data/vendor/google.golang.org/protobuf/proto/proto.go +0 -43
- data/vendor/google.golang.org/protobuf/proto/proto_methods.go +0 -19
- data/vendor/google.golang.org/protobuf/proto/proto_reflect.go +0 -19
- data/vendor/google.golang.org/protobuf/proto/reset.go +0 -43
- data/vendor/google.golang.org/protobuf/proto/size.go +0 -97
- data/vendor/google.golang.org/protobuf/proto/size_gen.go +0 -55
- data/vendor/google.golang.org/protobuf/proto/wrappers.go +0 -29
- data/vendor/google.golang.org/protobuf/reflect/protodesc/desc.go +0 -276
- data/vendor/google.golang.org/protobuf/reflect/protodesc/desc_init.go +0 -248
- data/vendor/google.golang.org/protobuf/reflect/protodesc/desc_resolve.go +0 -286
- data/vendor/google.golang.org/protobuf/reflect/protodesc/desc_validate.go +0 -374
- data/vendor/google.golang.org/protobuf/reflect/protodesc/proto.go +0 -252
- data/vendor/google.golang.org/protobuf/reflect/protoreflect/methods.go +0 -77
- data/vendor/google.golang.org/protobuf/reflect/protoreflect/proto.go +0 -504
- data/vendor/google.golang.org/protobuf/reflect/protoreflect/source.go +0 -128
- data/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go +0 -461
- data/vendor/google.golang.org/protobuf/reflect/protoreflect/type.go +0 -665
- data/vendor/google.golang.org/protobuf/reflect/protoreflect/value.go +0 -285
- data/vendor/google.golang.org/protobuf/reflect/protoreflect/value_pure.go +0 -59
- data/vendor/google.golang.org/protobuf/reflect/protoreflect/value_union.go +0 -411
- data/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe.go +0 -98
- data/vendor/google.golang.org/protobuf/reflect/protoregistry/registry.go +0 -869
- data/vendor/google.golang.org/protobuf/runtime/protoiface/legacy.go +0 -15
- data/vendor/google.golang.org/protobuf/runtime/protoiface/methods.go +0 -167
- data/vendor/google.golang.org/protobuf/runtime/protoimpl/impl.go +0 -44
- data/vendor/google.golang.org/protobuf/runtime/protoimpl/version.go +0 -56
- data/vendor/google.golang.org/protobuf/types/descriptorpb/descriptor.pb.go +0 -4039
- data/vendor/modules.txt +0 -79
|
@@ -1,188 +0,0 @@
|
|
|
1
|
-
// Copyright (c) 2021 Uber Technologies, Inc.
|
|
2
|
-
//
|
|
3
|
-
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
-
// of this software and associated documentation files (the "Software"), to deal
|
|
5
|
-
// in the Software without restriction, including without limitation the rights
|
|
6
|
-
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
-
// copies of the Software, and to permit persons to whom the Software is
|
|
8
|
-
// furnished to do so, subject to the following conditions:
|
|
9
|
-
//
|
|
10
|
-
// The above copyright notice and this permission notice shall be included in
|
|
11
|
-
// all copies or substantial portions of the Software.
|
|
12
|
-
//
|
|
13
|
-
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
-
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
-
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
-
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
-
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
-
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
19
|
-
// THE SOFTWARE.
|
|
20
|
-
|
|
21
|
-
package zapcore
|
|
22
|
-
|
|
23
|
-
import (
|
|
24
|
-
"bufio"
|
|
25
|
-
"sync"
|
|
26
|
-
"time"
|
|
27
|
-
|
|
28
|
-
"go.uber.org/multierr"
|
|
29
|
-
)
|
|
30
|
-
|
|
31
|
-
const (
|
|
32
|
-
// _defaultBufferSize specifies the default size used by Buffer.
|
|
33
|
-
_defaultBufferSize = 256 * 1024 // 256 kB
|
|
34
|
-
|
|
35
|
-
// _defaultFlushInterval specifies the default flush interval for
|
|
36
|
-
// Buffer.
|
|
37
|
-
_defaultFlushInterval = 30 * time.Second
|
|
38
|
-
)
|
|
39
|
-
|
|
40
|
-
// A BufferedWriteSyncer is a WriteSyncer that buffers writes in-memory before
|
|
41
|
-
// flushing them to a wrapped WriteSyncer after reaching some limit, or at some
|
|
42
|
-
// fixed interval--whichever comes first.
|
|
43
|
-
//
|
|
44
|
-
// BufferedWriteSyncer is safe for concurrent use. You don't need to use
|
|
45
|
-
// zapcore.Lock for WriteSyncers with BufferedWriteSyncer.
|
|
46
|
-
type BufferedWriteSyncer struct {
|
|
47
|
-
// WS is the WriteSyncer around which BufferedWriteSyncer will buffer
|
|
48
|
-
// writes.
|
|
49
|
-
//
|
|
50
|
-
// This field is required.
|
|
51
|
-
WS WriteSyncer
|
|
52
|
-
|
|
53
|
-
// Size specifies the maximum amount of data the writer will buffered
|
|
54
|
-
// before flushing.
|
|
55
|
-
//
|
|
56
|
-
// Defaults to 256 kB if unspecified.
|
|
57
|
-
Size int
|
|
58
|
-
|
|
59
|
-
// FlushInterval specifies how often the writer should flush data if
|
|
60
|
-
// there have been no writes.
|
|
61
|
-
//
|
|
62
|
-
// Defaults to 30 seconds if unspecified.
|
|
63
|
-
FlushInterval time.Duration
|
|
64
|
-
|
|
65
|
-
// Clock, if specified, provides control of the source of time for the
|
|
66
|
-
// writer.
|
|
67
|
-
//
|
|
68
|
-
// Defaults to the system clock.
|
|
69
|
-
Clock Clock
|
|
70
|
-
|
|
71
|
-
// unexported fields for state
|
|
72
|
-
mu sync.Mutex
|
|
73
|
-
initialized bool // whether initialize() has run
|
|
74
|
-
writer *bufio.Writer
|
|
75
|
-
ticker *time.Ticker
|
|
76
|
-
stop chan struct{} // closed when flushLoop should stop
|
|
77
|
-
stopped bool // whether Stop() has run
|
|
78
|
-
done chan struct{} // closed when flushLoop has stopped
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
func (s *BufferedWriteSyncer) initialize() {
|
|
82
|
-
size := s.Size
|
|
83
|
-
if size == 0 {
|
|
84
|
-
size = _defaultBufferSize
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
flushInterval := s.FlushInterval
|
|
88
|
-
if flushInterval == 0 {
|
|
89
|
-
flushInterval = _defaultFlushInterval
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
if s.Clock == nil {
|
|
93
|
-
s.Clock = DefaultClock
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
s.ticker = s.Clock.NewTicker(flushInterval)
|
|
97
|
-
s.writer = bufio.NewWriterSize(s.WS, size)
|
|
98
|
-
s.stop = make(chan struct{})
|
|
99
|
-
s.done = make(chan struct{})
|
|
100
|
-
s.initialized = true
|
|
101
|
-
go s.flushLoop()
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
// Write writes log data into buffer syncer directly, multiple Write calls will be batched,
|
|
105
|
-
// and log data will be flushed to disk when the buffer is full or periodically.
|
|
106
|
-
func (s *BufferedWriteSyncer) Write(bs []byte) (int, error) {
|
|
107
|
-
s.mu.Lock()
|
|
108
|
-
defer s.mu.Unlock()
|
|
109
|
-
|
|
110
|
-
if !s.initialized {
|
|
111
|
-
s.initialize()
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
// To avoid partial writes from being flushed, we manually flush the existing buffer if:
|
|
115
|
-
// * The current write doesn't fit into the buffer fully, and
|
|
116
|
-
// * The buffer is not empty (since bufio will not split large writes when the buffer is empty)
|
|
117
|
-
if len(bs) > s.writer.Available() && s.writer.Buffered() > 0 {
|
|
118
|
-
if err := s.writer.Flush(); err != nil {
|
|
119
|
-
return 0, err
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
return s.writer.Write(bs)
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
// Sync flushes buffered log data into disk directly.
|
|
127
|
-
func (s *BufferedWriteSyncer) Sync() error {
|
|
128
|
-
s.mu.Lock()
|
|
129
|
-
defer s.mu.Unlock()
|
|
130
|
-
|
|
131
|
-
var err error
|
|
132
|
-
if s.initialized {
|
|
133
|
-
err = s.writer.Flush()
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
return multierr.Append(err, s.WS.Sync())
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
// flushLoop flushes the buffer at the configured interval until Stop is
|
|
140
|
-
// called.
|
|
141
|
-
func (s *BufferedWriteSyncer) flushLoop() {
|
|
142
|
-
defer close(s.done)
|
|
143
|
-
|
|
144
|
-
for {
|
|
145
|
-
select {
|
|
146
|
-
case <-s.ticker.C:
|
|
147
|
-
// we just simply ignore error here
|
|
148
|
-
// because the underlying bufio writer stores any errors
|
|
149
|
-
// and we return any error from Sync() as part of the close
|
|
150
|
-
_ = s.Sync()
|
|
151
|
-
case <-s.stop:
|
|
152
|
-
return
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
// Stop closes the buffer, cleans up background goroutines, and flushes
|
|
158
|
-
// remaining unwritten data.
|
|
159
|
-
func (s *BufferedWriteSyncer) Stop() (err error) {
|
|
160
|
-
var stopped bool
|
|
161
|
-
|
|
162
|
-
// Critical section.
|
|
163
|
-
func() {
|
|
164
|
-
s.mu.Lock()
|
|
165
|
-
defer s.mu.Unlock()
|
|
166
|
-
|
|
167
|
-
if !s.initialized {
|
|
168
|
-
return
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
stopped = s.stopped
|
|
172
|
-
if stopped {
|
|
173
|
-
return
|
|
174
|
-
}
|
|
175
|
-
s.stopped = true
|
|
176
|
-
|
|
177
|
-
s.ticker.Stop()
|
|
178
|
-
close(s.stop) // tell flushLoop to stop
|
|
179
|
-
<-s.done // and wait until it has
|
|
180
|
-
}()
|
|
181
|
-
|
|
182
|
-
// Don't call Sync on consecutive Stops.
|
|
183
|
-
if !stopped {
|
|
184
|
-
err = s.Sync()
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
return err
|
|
188
|
-
}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
// Copyright (c) 2021 Uber Technologies, Inc.
|
|
2
|
-
//
|
|
3
|
-
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
-
// of this software and associated documentation files (the "Software"), to deal
|
|
5
|
-
// in the Software without restriction, including without limitation the rights
|
|
6
|
-
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
-
// copies of the Software, and to permit persons to whom the Software is
|
|
8
|
-
// furnished to do so, subject to the following conditions:
|
|
9
|
-
//
|
|
10
|
-
// The above copyright notice and this permission notice shall be included in
|
|
11
|
-
// all copies or substantial portions of the Software.
|
|
12
|
-
//
|
|
13
|
-
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
-
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
-
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
-
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
-
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
-
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
19
|
-
// THE SOFTWARE.
|
|
20
|
-
|
|
21
|
-
package zapcore
|
|
22
|
-
|
|
23
|
-
import (
|
|
24
|
-
"time"
|
|
25
|
-
)
|
|
26
|
-
|
|
27
|
-
// DefaultClock is the default clock used by Zap in operations that require
|
|
28
|
-
// time. This clock uses the system clock for all operations.
|
|
29
|
-
var DefaultClock = systemClock{}
|
|
30
|
-
|
|
31
|
-
// Clock is a source of time for logged entries.
|
|
32
|
-
type Clock interface {
|
|
33
|
-
// Now returns the current local time.
|
|
34
|
-
Now() time.Time
|
|
35
|
-
|
|
36
|
-
// NewTicker returns *time.Ticker that holds a channel
|
|
37
|
-
// that delivers "ticks" of a clock.
|
|
38
|
-
NewTicker(time.Duration) *time.Ticker
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
// systemClock implements default Clock that uses system time.
|
|
42
|
-
type systemClock struct{}
|
|
43
|
-
|
|
44
|
-
func (systemClock) Now() time.Time {
|
|
45
|
-
return time.Now()
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
func (systemClock) NewTicker(duration time.Duration) *time.Ticker {
|
|
49
|
-
return time.NewTicker(duration)
|
|
50
|
-
}
|
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
// Copyright (c) 2016 Uber Technologies, Inc.
|
|
2
|
-
//
|
|
3
|
-
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
-
// of this software and associated documentation files (the "Software"), to deal
|
|
5
|
-
// in the Software without restriction, including without limitation the rights
|
|
6
|
-
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
-
// copies of the Software, and to permit persons to whom the Software is
|
|
8
|
-
// furnished to do so, subject to the following conditions:
|
|
9
|
-
//
|
|
10
|
-
// The above copyright notice and this permission notice shall be included in
|
|
11
|
-
// all copies or substantial portions of the Software.
|
|
12
|
-
//
|
|
13
|
-
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
-
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
-
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
-
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
-
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
-
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
19
|
-
// THE SOFTWARE.
|
|
20
|
-
|
|
21
|
-
package zapcore
|
|
22
|
-
|
|
23
|
-
import (
|
|
24
|
-
"fmt"
|
|
25
|
-
"sync"
|
|
26
|
-
|
|
27
|
-
"go.uber.org/zap/buffer"
|
|
28
|
-
"go.uber.org/zap/internal/bufferpool"
|
|
29
|
-
)
|
|
30
|
-
|
|
31
|
-
var _sliceEncoderPool = sync.Pool{
|
|
32
|
-
New: func() interface{} {
|
|
33
|
-
return &sliceArrayEncoder{elems: make([]interface{}, 0, 2)}
|
|
34
|
-
},
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
func getSliceEncoder() *sliceArrayEncoder {
|
|
38
|
-
return _sliceEncoderPool.Get().(*sliceArrayEncoder)
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
func putSliceEncoder(e *sliceArrayEncoder) {
|
|
42
|
-
e.elems = e.elems[:0]
|
|
43
|
-
_sliceEncoderPool.Put(e)
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
type consoleEncoder struct {
|
|
47
|
-
*jsonEncoder
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
// NewConsoleEncoder creates an encoder whose output is designed for human -
|
|
51
|
-
// rather than machine - consumption. It serializes the core log entry data
|
|
52
|
-
// (message, level, timestamp, etc.) in a plain-text format and leaves the
|
|
53
|
-
// structured context as JSON.
|
|
54
|
-
//
|
|
55
|
-
// Note that although the console encoder doesn't use the keys specified in the
|
|
56
|
-
// encoder configuration, it will omit any element whose key is set to the empty
|
|
57
|
-
// string.
|
|
58
|
-
func NewConsoleEncoder(cfg EncoderConfig) Encoder {
|
|
59
|
-
if cfg.ConsoleSeparator == "" {
|
|
60
|
-
// Use a default delimiter of '\t' for backwards compatibility
|
|
61
|
-
cfg.ConsoleSeparator = "\t"
|
|
62
|
-
}
|
|
63
|
-
return consoleEncoder{newJSONEncoder(cfg, true)}
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
func (c consoleEncoder) Clone() Encoder {
|
|
67
|
-
return consoleEncoder{c.jsonEncoder.Clone().(*jsonEncoder)}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
func (c consoleEncoder) EncodeEntry(ent Entry, fields []Field) (*buffer.Buffer, error) {
|
|
71
|
-
line := bufferpool.Get()
|
|
72
|
-
|
|
73
|
-
// We don't want the entry's metadata to be quoted and escaped (if it's
|
|
74
|
-
// encoded as strings), which means that we can't use the JSON encoder. The
|
|
75
|
-
// simplest option is to use the memory encoder and fmt.Fprint.
|
|
76
|
-
//
|
|
77
|
-
// If this ever becomes a performance bottleneck, we can implement
|
|
78
|
-
// ArrayEncoder for our plain-text format.
|
|
79
|
-
arr := getSliceEncoder()
|
|
80
|
-
if c.TimeKey != "" && c.EncodeTime != nil {
|
|
81
|
-
c.EncodeTime(ent.Time, arr)
|
|
82
|
-
}
|
|
83
|
-
if c.LevelKey != "" && c.EncodeLevel != nil {
|
|
84
|
-
c.EncodeLevel(ent.Level, arr)
|
|
85
|
-
}
|
|
86
|
-
if ent.LoggerName != "" && c.NameKey != "" {
|
|
87
|
-
nameEncoder := c.EncodeName
|
|
88
|
-
|
|
89
|
-
if nameEncoder == nil {
|
|
90
|
-
// Fall back to FullNameEncoder for backward compatibility.
|
|
91
|
-
nameEncoder = FullNameEncoder
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
nameEncoder(ent.LoggerName, arr)
|
|
95
|
-
}
|
|
96
|
-
if ent.Caller.Defined {
|
|
97
|
-
if c.CallerKey != "" && c.EncodeCaller != nil {
|
|
98
|
-
c.EncodeCaller(ent.Caller, arr)
|
|
99
|
-
}
|
|
100
|
-
if c.FunctionKey != "" {
|
|
101
|
-
arr.AppendString(ent.Caller.Function)
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
for i := range arr.elems {
|
|
105
|
-
if i > 0 {
|
|
106
|
-
line.AppendString(c.ConsoleSeparator)
|
|
107
|
-
}
|
|
108
|
-
fmt.Fprint(line, arr.elems[i])
|
|
109
|
-
}
|
|
110
|
-
putSliceEncoder(arr)
|
|
111
|
-
|
|
112
|
-
// Add the message itself.
|
|
113
|
-
if c.MessageKey != "" {
|
|
114
|
-
c.addSeparatorIfNecessary(line)
|
|
115
|
-
line.AppendString(ent.Message)
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
// Add any structured context.
|
|
119
|
-
c.writeContext(line, fields)
|
|
120
|
-
|
|
121
|
-
// If there's no stacktrace key, honor that; this allows users to force
|
|
122
|
-
// single-line output.
|
|
123
|
-
if ent.Stack != "" && c.StacktraceKey != "" {
|
|
124
|
-
line.AppendByte('\n')
|
|
125
|
-
line.AppendString(ent.Stack)
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
if c.LineEnding != "" {
|
|
129
|
-
line.AppendString(c.LineEnding)
|
|
130
|
-
} else {
|
|
131
|
-
line.AppendString(DefaultLineEnding)
|
|
132
|
-
}
|
|
133
|
-
return line, nil
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
func (c consoleEncoder) writeContext(line *buffer.Buffer, extra []Field) {
|
|
137
|
-
context := c.jsonEncoder.Clone().(*jsonEncoder)
|
|
138
|
-
defer func() {
|
|
139
|
-
// putJSONEncoder assumes the buffer is still used, but we write out the buffer so
|
|
140
|
-
// we can free it.
|
|
141
|
-
context.buf.Free()
|
|
142
|
-
putJSONEncoder(context)
|
|
143
|
-
}()
|
|
144
|
-
|
|
145
|
-
addFields(context, extra)
|
|
146
|
-
context.closeOpenNamespaces()
|
|
147
|
-
if context.buf.Len() == 0 {
|
|
148
|
-
return
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
c.addSeparatorIfNecessary(line)
|
|
152
|
-
line.AppendByte('{')
|
|
153
|
-
line.Write(context.buf.Bytes())
|
|
154
|
-
line.AppendByte('}')
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
func (c consoleEncoder) addSeparatorIfNecessary(line *buffer.Buffer) {
|
|
158
|
-
if line.Len() > 0 {
|
|
159
|
-
line.AppendString(c.ConsoleSeparator)
|
|
160
|
-
}
|
|
161
|
-
}
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
// Copyright (c) 2016 Uber Technologies, Inc.
|
|
2
|
-
//
|
|
3
|
-
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
-
// of this software and associated documentation files (the "Software"), to deal
|
|
5
|
-
// in the Software without restriction, including without limitation the rights
|
|
6
|
-
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
-
// copies of the Software, and to permit persons to whom the Software is
|
|
8
|
-
// furnished to do so, subject to the following conditions:
|
|
9
|
-
//
|
|
10
|
-
// The above copyright notice and this permission notice shall be included in
|
|
11
|
-
// all copies or substantial portions of the Software.
|
|
12
|
-
//
|
|
13
|
-
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
-
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
-
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
-
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
-
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
-
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
19
|
-
// THE SOFTWARE.
|
|
20
|
-
|
|
21
|
-
package zapcore
|
|
22
|
-
|
|
23
|
-
// Core is a minimal, fast logger interface. It's designed for library authors
|
|
24
|
-
// to wrap in a more user-friendly API.
|
|
25
|
-
type Core interface {
|
|
26
|
-
LevelEnabler
|
|
27
|
-
|
|
28
|
-
// With adds structured context to the Core.
|
|
29
|
-
With([]Field) Core
|
|
30
|
-
// Check determines whether the supplied Entry should be logged (using the
|
|
31
|
-
// embedded LevelEnabler and possibly some extra logic). If the entry
|
|
32
|
-
// should be logged, the Core adds itself to the CheckedEntry and returns
|
|
33
|
-
// the result.
|
|
34
|
-
//
|
|
35
|
-
// Callers must use Check before calling Write.
|
|
36
|
-
Check(Entry, *CheckedEntry) *CheckedEntry
|
|
37
|
-
// Write serializes the Entry and any Fields supplied at the log site and
|
|
38
|
-
// writes them to their destination.
|
|
39
|
-
//
|
|
40
|
-
// If called, Write should always log the Entry and Fields; it should not
|
|
41
|
-
// replicate the logic of Check.
|
|
42
|
-
Write(Entry, []Field) error
|
|
43
|
-
// Sync flushes buffered logs (if any).
|
|
44
|
-
Sync() error
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
type nopCore struct{}
|
|
48
|
-
|
|
49
|
-
// NewNopCore returns a no-op Core.
|
|
50
|
-
func NewNopCore() Core { return nopCore{} }
|
|
51
|
-
func (nopCore) Enabled(Level) bool { return false }
|
|
52
|
-
func (n nopCore) With([]Field) Core { return n }
|
|
53
|
-
func (nopCore) Check(_ Entry, ce *CheckedEntry) *CheckedEntry { return ce }
|
|
54
|
-
func (nopCore) Write(Entry, []Field) error { return nil }
|
|
55
|
-
func (nopCore) Sync() error { return nil }
|
|
56
|
-
|
|
57
|
-
// NewCore creates a Core that writes logs to a WriteSyncer.
|
|
58
|
-
func NewCore(enc Encoder, ws WriteSyncer, enab LevelEnabler) Core {
|
|
59
|
-
return &ioCore{
|
|
60
|
-
LevelEnabler: enab,
|
|
61
|
-
enc: enc,
|
|
62
|
-
out: ws,
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
type ioCore struct {
|
|
67
|
-
LevelEnabler
|
|
68
|
-
enc Encoder
|
|
69
|
-
out WriteSyncer
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
func (c *ioCore) With(fields []Field) Core {
|
|
73
|
-
clone := c.clone()
|
|
74
|
-
addFields(clone.enc, fields)
|
|
75
|
-
return clone
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
func (c *ioCore) Check(ent Entry, ce *CheckedEntry) *CheckedEntry {
|
|
79
|
-
if c.Enabled(ent.Level) {
|
|
80
|
-
return ce.AddCore(ent, c)
|
|
81
|
-
}
|
|
82
|
-
return ce
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
func (c *ioCore) Write(ent Entry, fields []Field) error {
|
|
86
|
-
buf, err := c.enc.EncodeEntry(ent, fields)
|
|
87
|
-
if err != nil {
|
|
88
|
-
return err
|
|
89
|
-
}
|
|
90
|
-
_, err = c.out.Write(buf.Bytes())
|
|
91
|
-
buf.Free()
|
|
92
|
-
if err != nil {
|
|
93
|
-
return err
|
|
94
|
-
}
|
|
95
|
-
if ent.Level > ErrorLevel {
|
|
96
|
-
// Since we may be crashing the program, sync the output. Ignore Sync
|
|
97
|
-
// errors, pending a clean solution to issue #370.
|
|
98
|
-
c.Sync()
|
|
99
|
-
}
|
|
100
|
-
return nil
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
func (c *ioCore) Sync() error {
|
|
104
|
-
return c.out.Sync()
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
func (c *ioCore) clone() *ioCore {
|
|
108
|
-
return &ioCore{
|
|
109
|
-
LevelEnabler: c.LevelEnabler,
|
|
110
|
-
enc: c.enc.Clone(),
|
|
111
|
-
out: c.out,
|
|
112
|
-
}
|
|
113
|
-
}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
// Copyright (c) 2016 Uber Technologies, Inc.
|
|
2
|
-
//
|
|
3
|
-
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
-
// of this software and associated documentation files (the "Software"), to deal
|
|
5
|
-
// in the Software without restriction, including without limitation the rights
|
|
6
|
-
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
-
// copies of the Software, and to permit persons to whom the Software is
|
|
8
|
-
// furnished to do so, subject to the following conditions:
|
|
9
|
-
//
|
|
10
|
-
// The above copyright notice and this permission notice shall be included in
|
|
11
|
-
// all copies or substantial portions of the Software.
|
|
12
|
-
//
|
|
13
|
-
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
-
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
-
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
-
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
-
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
-
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
19
|
-
// THE SOFTWARE.
|
|
20
|
-
|
|
21
|
-
// Package zapcore defines and implements the low-level interfaces upon which
|
|
22
|
-
// zap is built. By providing alternate implementations of these interfaces,
|
|
23
|
-
// external packages can extend zap's capabilities.
|
|
24
|
-
package zapcore // import "go.uber.org/zap/zapcore"
|