From 0fa1803b07789df05348734cff2d8093734ed61a Mon Sep 17 00:00:00 2001 From: "Marc M. Adkins" Date: Mon, 29 Jul 2024 09:47:01 -0700 Subject: [PATCH] Update dependencies; fix per changes to samber loggers --- go.mod | 34 +++++++++++++++--------------- go.sum | 34 ++++++++++++++++++++++++++++++ infra/warning/implied.go | 6 +++++- verify/slog_samber_logrus_test.go | 3 ++- verify/slog_samber_zap_test.go | 3 ++- verify/slog_samber_zerolog_test.go | 3 ++- verify/tests/slogtest.go | 22 +++++++++++++++---- 7 files changed, 80 insertions(+), 25 deletions(-) diff --git a/go.mod b/go.mod index e59324af..248a5dbe 100644 --- a/go.mod +++ b/go.mod @@ -7,16 +7,16 @@ require ( github.com/fatih/camelcase v1.0.0 github.com/gertd/go-pluralize v0.2.1 github.com/gin-gonic/gin v1.10.0 - github.com/gomarkdown/markdown v0.0.0-20240626202925-2eda941fd024 + github.com/gomarkdown/markdown v0.0.0-20240723152757-afa4a469d4f9 github.com/madkins23/gin-utils v1.4.1 github.com/madkins23/go-utils v1.44.0 github.com/phsym/console-slog v0.3.1 github.com/phsym/zeroslog v0.1.0 - github.com/phuslu/log v1.0.106 + github.com/phuslu/log v1.0.107 github.com/rs/zerolog v1.31.0 - github.com/samber/slog-logrus/v2 v2.3.0 - github.com/samber/slog-zap/v2 v2.4.0 - github.com/samber/slog-zerolog/v2 v2.4.0 + github.com/samber/slog-logrus/v2 v2.5.0 + github.com/samber/slog-zap/v2 v2.6.0 + github.com/samber/slog-zerolog/v2 v2.6.0 github.com/sirupsen/logrus v1.9.3 github.com/stretchr/testify v1.9.0 github.com/vicanso/go-charts/v2 v2.6.9 @@ -36,12 +36,12 @@ exclude github.com/rs/zerolog v1.33.0 require ( github.com/blend/go-sdk v1.20220411.3 // indirect github.com/bytedance/sonic v1.11.9 // indirect - github.com/bytedance/sonic/loader v0.1.1 // indirect + github.com/bytedance/sonic/loader v0.2.0 // indirect github.com/cloudwego/base64x v0.1.4 // indirect github.com/cloudwego/iasm v0.2.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/dustin/go-humanize v1.0.1 // indirect - github.com/gabriel-vasile/mimetype v1.4.4 // indirect + github.com/gabriel-vasile/mimetype v1.4.5 // indirect github.com/gin-contrib/sse v0.1.0 // indirect github.com/go-playground/locales v0.14.1 // indirect github.com/go-playground/universal-translator v0.18.1 // indirect @@ -58,22 +58,22 @@ require ( github.com/pascaldekloe/name v1.0.1 // indirect github.com/pelletier/go-toml/v2 v2.2.2 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/samber/lo v1.43.0 // indirect - github.com/samber/slog-common v0.16.0 // indirect + github.com/samber/lo v1.46.0 // indirect + github.com/samber/slog-common v0.17.1 // indirect github.com/twitchyliquid64/golang-asm v0.15.1 // indirect github.com/ugorji/go/codec v1.2.12 // indirect - go.opentelemetry.io/otel v1.27.0 // indirect - go.opentelemetry.io/otel/trace v1.27.0 // indirect + go.opentelemetry.io/otel v1.28.0 // indirect + go.opentelemetry.io/otel/trace v1.28.0 // indirect go.uber.org/multierr v1.11.0 // indirect golang.org/x/arch v0.8.0 // indirect - golang.org/x/crypto v0.24.0 // indirect - golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8 // indirect + golang.org/x/crypto v0.25.0 // indirect + golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 // indirect golang.org/x/image v0.18.0 // indirect - golang.org/x/mod v0.18.0 // indirect - golang.org/x/net v0.26.0 // indirect + golang.org/x/mod v0.19.0 // indirect + golang.org/x/net v0.27.0 // indirect golang.org/x/sync v0.7.0 // indirect - golang.org/x/sys v0.21.0 // indirect - golang.org/x/tools v0.22.0 // indirect + golang.org/x/sys v0.22.0 // indirect + golang.org/x/tools v0.23.0 // indirect google.golang.org/protobuf v1.34.2 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/go.sum b/go.sum index 20727c16..93a8cedc 100644 --- a/go.sum +++ b/go.sum @@ -4,6 +4,8 @@ github.com/bytedance/sonic v1.11.9 h1:LFHENlIY/SLzDWverzdOvgMztTxcfcF+cqNsz9pK5z github.com/bytedance/sonic v1.11.9/go.mod h1:LysEHSvpvDySVdC2f87zGWf6CIKJcAvqab1ZaiQtds4= github.com/bytedance/sonic/loader v0.1.1 h1:c+e5Pt1k/cy5wMveRDyk2X4B9hF4g7an8N3zCYjJFNM= github.com/bytedance/sonic/loader v0.1.1/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= +github.com/bytedance/sonic/loader v0.2.0 h1:zNprn+lsIP06C/IqCHs3gPQIvnvpKbbxyXQP1iU4kWM= +github.com/bytedance/sonic/loader v0.2.0/go.mod h1:ncP89zfokxS5LZrJxl5z0UJcsk4M4yY2JpfqGeCtNLU= github.com/cloudwego/base64x v0.1.4 h1:jwCgWpFanWmN8xoIUHa2rtzmkd5J2plF/dnLS6Xd/0Y= github.com/cloudwego/base64x v0.1.4/go.mod h1:0zlkT4Wn5C6NdauXdJRhSKRlJvmclQ1hhJgA0rcu/8w= github.com/cloudwego/iasm v0.2.0 h1:1KNIy1I1H9hNNFEEH3DVnI4UujN+1zjpuk6gwHLTssg= @@ -20,6 +22,8 @@ github.com/fatih/camelcase v1.0.0 h1:hxNvNX/xYBp0ovncs8WyWZrOrpBNub/JfaMvbURyft8 github.com/fatih/camelcase v1.0.0/go.mod h1:yN2Sb0lFhZJUdVvtELVWefmrXpuZESvPmqwoZc+/fpc= github.com/gabriel-vasile/mimetype v1.4.4 h1:QjV6pZ7/XZ7ryI2KuyeEDE8wnh7fHP9YnQy+R0LnH8I= github.com/gabriel-vasile/mimetype v1.4.4/go.mod h1:JwLei5XPtWdGiMFB5Pjle1oEeoSeEuJfJE+TtfvdB/s= +github.com/gabriel-vasile/mimetype v1.4.5 h1:J7wGKdGu33ocBOhGy0z653k/lFKLFDPJMG8Gql0kxn4= +github.com/gabriel-vasile/mimetype v1.4.5/go.mod h1:ibHel+/kbxn9x2407k1izTA1S81ku1z/DlgOW2QE0M4= github.com/gertd/go-pluralize v0.2.1 h1:M3uASbVjMnTsPb0PNqg+E/24Vwigyo/tvyMTtAlLgiA= github.com/gertd/go-pluralize v0.2.1/go.mod h1:rbYaKDbsXxmRfr8uygAEKhOWsjyrrqrkHVpZvoOp8zk= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= @@ -41,6 +45,8 @@ github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF0 github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/gomarkdown/markdown v0.0.0-20240626202925-2eda941fd024 h1:saBP362Qm7zDdDXqv61kI4rzhmLFq3Z1gx34xpl6cWE= github.com/gomarkdown/markdown v0.0.0-20240626202925-2eda941fd024/go.mod h1:JDGcbDT52eL4fju3sZ4TeHGsQwhG9nbDV21aMyhwPoA= +github.com/gomarkdown/markdown v0.0.0-20240723152757-afa4a469d4f9 h1:TRYrIWJziqvMVn1owO8bmkDJTlMQFYnf74yhD8LXfgU= +github.com/gomarkdown/markdown v0.0.0-20240723152757-afa4a469d4f9/go.mod h1:JDGcbDT52eL4fju3sZ4TeHGsQwhG9nbDV21aMyhwPoA= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= @@ -83,6 +89,8 @@ github.com/phsym/zeroslog v0.1.0 h1:EHWMLlE5bQtOD6svfdDAUEJnTIXR7xOVJnAW3qjOZQ8= github.com/phsym/zeroslog v0.1.0/go.mod h1:9bb+7wYJLDFAUQlcuxTQIXKkrxqRAL9/QQPCNbWfQKI= github.com/phuslu/log v1.0.106 h1:3SBSDdd+sxkT1ZzZWoarl2A7ANOwxYd6LdTbZu7DYH0= github.com/phuslu/log v1.0.106/go.mod h1:F8osGJADo5qLK/0F88djWwdyoZZ9xDJQL1HYRHFEkS0= +github.com/phuslu/log v1.0.107 h1:L6lEs2dKVgnXWapoz98YqmobxhtwPAfghUjluiSbPJ4= +github.com/phuslu/log v1.0.107/go.mod h1:F8osGJADo5qLK/0F88djWwdyoZZ9xDJQL1HYRHFEkS0= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= @@ -91,14 +99,24 @@ github.com/rs/zerolog v1.31.0 h1:FcTR3NnLWW+NnTwwhFWiJSZr4ECLpqCm6QsEnyvbV4A= github.com/rs/zerolog v1.31.0/go.mod h1:/7mN4D5sKwJLZQ2b/znpjC3/GQWY/xaDXUM0kKWRHss= github.com/samber/lo v1.43.0 h1:ts0VhPi8+ZQZFVLv/2Vkgt2Cds05FM2v3Enmv+YMBtg= github.com/samber/lo v1.43.0/go.mod h1:w7R6fO7h2lrnx/s0bWcZ55vXJI89p5UPM6+kyDL373E= +github.com/samber/lo v1.46.0 h1:w8G+oaCPgz1PoCJztqymCFaKwXt+5cCXn51uPxExFfQ= +github.com/samber/lo v1.46.0/go.mod h1:RmDH9Ct32Qy3gduHQuKJ3gW1fMHAnE/fAzQuf6He5cU= github.com/samber/slog-common v0.16.0 h1:2/t1EcFd1Ru77mh2ab+8B6NBHnEXsBBHtOJc7PSH0aI= github.com/samber/slog-common v0.16.0/go.mod h1:Qjrfhwk79XiCIhBj8+jTq1Cr0u9rlWbjawh3dWXzaHk= +github.com/samber/slog-common v0.17.1 h1:jTqqLBgoJshpoxlPSGiypyOanjH6tY+i9bwyYmIbjhI= +github.com/samber/slog-common v0.17.1/go.mod h1:mZSJhinB4aqHziR0SKPqpVZjJ0JO35JfH+dDIWqaCBk= github.com/samber/slog-logrus/v2 v2.3.0 h1:aRQY593/b1SgePwa5EwpNEGgFV/lczMse/fjmCsucOE= github.com/samber/slog-logrus/v2 v2.3.0/go.mod h1:GTMrL8UxGKhzLMjJLIhhTaLIXmLF51tsEHEq1tsJJ7I= +github.com/samber/slog-logrus/v2 v2.5.0 h1:0R1QlxBApEX6GOdCulqvDbeOK09LCSUDSEjVvm5ZeD4= +github.com/samber/slog-logrus/v2 v2.5.0/go.mod h1:xN6h40pDGXSJDgZsttF9KtaIV7dtpjeoBDpw8TpvRr8= github.com/samber/slog-zap/v2 v2.4.0 h1:K27wPwrbmqUvfcbyoA+pAeP6UUQmtF2F1htxc9bU+jA= github.com/samber/slog-zap/v2 v2.4.0/go.mod h1:a63mgEd8LorYUg94RIaGdAdc98lV/PZf7rhlbOfc3rc= +github.com/samber/slog-zap/v2 v2.6.0 h1:o6fGsDTlAigThoFAy1EY+n8ADF2oNylssYP04ZTmKxs= +github.com/samber/slog-zap/v2 v2.6.0/go.mod h1:ZsV2GDRCClGlNz02UaDkqnxQlQoRWCupHhrhxBc0paQ= github.com/samber/slog-zerolog/v2 v2.4.0 h1:W4TzT0u2T7Gg3G6CjGLkFZmg+lSXeENJPMP1DSrIbyg= github.com/samber/slog-zerolog/v2 v2.4.0/go.mod h1:wppqUvvyAa3OFW+Snn6x4v3Wf+aT1gSwh19T2CraIuE= +github.com/samber/slog-zerolog/v2 v2.6.0 h1:S7Q7fvV6HB7NSa7WnI/7ymuVkQZg5XhNXM1ltmAOvGc= +github.com/samber/slog-zerolog/v2 v2.6.0/go.mod h1:vGzG7VhveVOnyHEpr7LpIuw28QxEOfV/dQxphJRB4iY= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= @@ -126,8 +144,12 @@ go.mrchanchal.com/zaphandler v0.0.0-20230611140024-bd4fd80897ad h1:e06B5x0w6Z+5U go.mrchanchal.com/zaphandler v0.0.0-20230611140024-bd4fd80897ad/go.mod h1:cH+8mqXs/fUx1WkDnEF1Dbj2i4Y6C3qeIjhhFGY4eV8= go.opentelemetry.io/otel v1.27.0 h1:9BZoF3yMK/O1AafMiQTVu0YDj5Ea4hPhxCs7sGva+cg= go.opentelemetry.io/otel v1.27.0/go.mod h1:DMpAK8fzYRzs+bi3rS5REupisuqTheUlSZJ1WnZaPAQ= +go.opentelemetry.io/otel v1.28.0 h1:/SqNcYk+idO0CxKEUOtKQClMK/MimZihKYMruSMViUo= +go.opentelemetry.io/otel v1.28.0/go.mod h1:q68ijF8Fc8CnMHKyzqL6akLO46ePnjkgfIMIjUIX9z4= go.opentelemetry.io/otel/trace v1.27.0 h1:IqYb813p7cmbHk0a5y6pD5JPakbVfftRXABGt5/Rscw= go.opentelemetry.io/otel/trace v1.27.0/go.mod h1:6RiD1hkAprV4/q+yd2ln1HG9GoPx39SuvvstaLBl+l4= +go.opentelemetry.io/otel/trace v1.28.0 h1:GhQ9cUuQGmNDd5BTCP2dAvv75RdMxEfTmYejp+lkx9g= +go.opentelemetry.io/otel/trace v1.28.0/go.mod h1:jPyXzNPg6da9+38HEwElrQiHlVMTnVfM3/yv2OlIHaI= go.seankhliao.com/svcrunner/v3 v3.0.0-20231007180458-c5294d90b36c h1:fsWpciedz2rN4owN8aKxxyTtZ8MagzNXf9HegnlwPLQ= go.seankhliao.com/svcrunner/v3 v3.0.0-20231007180458-c5294d90b36c/go.mod h1:xoFps1ZewWSqADY3UpvYbZOJ5qsUYNnljQd47RBXcCA= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= @@ -143,8 +165,12 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.24.0 h1:mnl8DM0o513X8fdIkmyFE/5hTYxbwYOjDS/+rK6qpRI= golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= +golang.org/x/crypto v0.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30= +golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M= golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8 h1:yixxcjnhBmY0nkL253HFVIm0JsFHwrHdT3Yh6szTnfY= golang.org/x/exp v0.0.0-20240613232115-7f521ea00fb8/go.mod h1:jj3sYF3dwk5D+ghuXyeI3r5MFf+NT2An6/9dOA95KSI= +golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 h1:2dVuKD2vS7b0QIHQbpyTISPd0LeHDbnYEryqj5Q1ug8= +golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56/go.mod h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY= golang.org/x/image v0.11.0/go.mod h1:bglhjqbqVuEb9e9+eNR45Jfu7D+T4Qan+NhQk8Ck2P8= golang.org/x/image v0.18.0 h1:jGzIakQa/ZXI1I0Fxvaa9W7yP25TqT6cHIHn+6CqvSQ= golang.org/x/image v0.18.0/go.mod h1:4yyo5vMFQjVjUcVk4jEQcU9MGy/rulF5WvUILseCM2E= @@ -152,12 +178,16 @@ golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91 golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.18.0 h1:5+9lSbEzPSdWkH32vYPBwEpX8KwDbM52Ud9xBUvNlb0= golang.org/x/mod v0.18.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.19.0 h1:fEdghXQSo20giMthA7cd28ZC+jts4amQ3YMXiP5oMQ8= +golang.org/x/mod v0.19.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.26.0 h1:soB7SVo0PWrY4vPW/+ay0jKDNScG2X9wFeYlXIvJsOQ= golang.org/x/net v0.26.0/go.mod h1:5YKkiSynbBIh3p6iOc/vibscux0x38BZDkn8sCUPxHE= +golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= +golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -175,6 +205,8 @@ golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.21.0 h1:rF+pYz3DAGSQAxAu1CbC7catZg4ebC4UIeIhKxBZvws= golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI= +golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= @@ -191,6 +223,8 @@ golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.22.0 h1:gqSGLZqv+AI9lIQzniJ0nZDRG5GBPsSi+DRNHWNz6yA= golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c= +golang.org/x/tools v0.23.0 h1:SGsXPZ+2l4JsgaCKkx+FQ9YZ5XEtA1GZYuoDjenLjvg= +golang.org/x/tools v0.23.0/go.mod h1:pnu6ufv6vQkll6szChhK3C3L/ruaIv5eBeztNG8wtsI= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= diff --git a/infra/warning/implied.go b/infra/warning/implied.go index c7d9bf6f..768b16bd 100644 --- a/infra/warning/implied.go +++ b/infra/warning/implied.go @@ -37,6 +37,10 @@ var ( Until documented otherwise, an attribute with an empty field name (^""^) should be logged. * [Empty field names are logged by the ^JSONHandler.Handle()^ implementation](https://pkg.go.dev/log/slog@master#JSONHandler.Handle)`) + NoNilValue = NewWarning(LevelImplied, "NoNilValue", "Attributes with nil values are not logged", ` + Until documented otherwise, an attribute with a nil value should be logged. + * [Fields with nil values are logged by the ^JSONHandler.Handle()^ implementation](https://pkg.go.dev/log/slog@master#JSONHandler.Handle)`) + NoReplAttr = NewWarning(LevelImplied, "NoReplAttr", "HandlerOptions.ReplaceAttr not available", ` If [^HandlerOptions.ReplaceAttr^](https://pkg.go.dev/log/slog@master#HandlerOptions) is provided it should be honored by the handler. @@ -79,7 +83,7 @@ var ( func init() { // Always update this number when adding or removing Warning objects. - addTestCount(LevelImplied, 12) + addTestCount(LevelImplied, 13) } // Implied returns an array of all LevelImplied warnings. diff --git a/verify/slog_samber_logrus_test.go b/verify/slog_samber_logrus_test.go index e43b8f09..8db740c0 100644 --- a/verify/slog_samber_logrus_test.go +++ b/verify/slog_samber_logrus_test.go @@ -13,9 +13,10 @@ import ( // TestVerifySamberLogrus runs tests for the samber/slog-logrus handler. func TestVerifySamberLogrus(t *testing.T) { slogSuite := tests.NewSlogTestSuite(samberlogrus.Creator()) - slogSuite.WarnOnly(warning.EmptyAttributes) slogSuite.WarnOnly(warning.GroupInline) slogSuite.WarnOnly(warning.LevelCase) + slogSuite.WarnOnly(warning.NoEmptyName) + slogSuite.WarnOnly(warning.NoNilValue) slogSuite.WarnOnly(warning.NoReplAttrBasic) slogSuite.WarnOnly(warning.Resolver) slogSuite.WarnOnly(warning.SlogTest) diff --git a/verify/slog_samber_zap_test.go b/verify/slog_samber_zap_test.go index be45998d..2c1289e6 100644 --- a/verify/slog_samber_zap_test.go +++ b/verify/slog_samber_zap_test.go @@ -14,10 +14,11 @@ import ( func TestVerifySamberZap(t *testing.T) { slogSuite := tests.NewSlogTestSuite(samberzap.Creator()) slogSuite.WarnOnly(warning.DurationSeconds) - slogSuite.WarnOnly(warning.EmptyAttributes) slogSuite.WarnOnly(warning.GroupDuration) slogSuite.WarnOnly(warning.GroupInline) slogSuite.WarnOnly(warning.LevelCase) + slogSuite.WarnOnly(warning.NoEmptyName) + slogSuite.WarnOnly(warning.NoNilValue) slogSuite.WarnOnly(warning.NoReplAttrBasic) slogSuite.WarnOnly(warning.Resolver) slogSuite.WarnOnly(warning.SlogTest) diff --git a/verify/slog_samber_zerolog_test.go b/verify/slog_samber_zerolog_test.go index 89757e1f..8ad3e343 100644 --- a/verify/slog_samber_zerolog_test.go +++ b/verify/slog_samber_zerolog_test.go @@ -15,11 +15,12 @@ func TestVerifySamberZerolog(t *testing.T) { slogSuite := tests.NewSlogTestSuite(samberzerolog.Creator()) slogSuite.WarnOnly(warning.DefaultLevel) slogSuite.WarnOnly(warning.DurationMillis) - slogSuite.WarnOnly(warning.EmptyAttributes) slogSuite.WarnOnly(warning.GroupDuration) slogSuite.WarnOnly(warning.GroupInline) slogSuite.WarnOnly(warning.LevelCase) slogSuite.WarnOnly(warning.MessageKey) + slogSuite.WarnOnly(warning.NoEmptyName) + slogSuite.WarnOnly(warning.NoNilValue) slogSuite.WarnOnly(warning.NoReplAttrBasic) slogSuite.WarnOnly(warning.Resolver) slogSuite.WarnOnly(warning.SlogTest) diff --git a/verify/tests/slogtest.go b/verify/tests/slogtest.go index 123be963..de462443 100644 --- a/verify/tests/slogtest.go +++ b/verify/tests/slogtest.go @@ -575,9 +575,16 @@ func (suite *SlogTestSuite) TestAttributeNil() { logger := suite.Logger(infra.SimpleOptions()) logger.Info(message, "first", "one", "second", nil, "pi", math.Pi) logMap := suite.logMap() - suite.checkFieldCount(6, logMap) + value, found := logMap["second"] + if !suite.HasWarning(warning.NoNilValue) { + suite.checkFieldCount(6, logMap) + suite.Assert().True(found) + suite.Assert().Nil(value) + } else { + suite.checkFieldCount(5, logMap) + suite.Assert().False(found) + } suite.Assert().Equal("one", logMap["first"]) - suite.Assert().Nil(logMap["second"]) suite.Assert().Equal(math.Pi, logMap["pi"]) } @@ -630,8 +637,15 @@ func (suite *SlogTestSuite) TestAttributeWithNil() { logger := suite.Logger(infra.SimpleOptions()) logger.With("second", nil).Info(message, "first", "one", "pi", math.Pi) logMap := suite.logMap() - suite.checkFieldCount(6, logMap) + value, found := logMap["second"] + if !suite.HasWarning(warning.NoNilValue) { + suite.checkFieldCount(6, logMap) + suite.Assert().True(found) + suite.Assert().Nil(value) + } else { + suite.checkFieldCount(5, logMap) + suite.Assert().False(found) + } suite.Assert().Equal("one", logMap["first"]) - suite.Assert().Nil(logMap["second"]) suite.Assert().Equal(math.Pi, logMap["pi"]) }