Created
April 9, 2020 09:49
-
-
Save vadzappa/af32632675449c68be9c50ed4b497a6c to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
func sanitize(args ...interface{}) []interface{} { | |
res := make([]interface{}, 0, len(args)) | |
for _, v := range args { | |
switch a := v.(type) { | |
case protoreflect.ProtoMessage: | |
res = append(res, sanitizeProtoMessage(a)) | |
default: | |
res = append(res, a) | |
} | |
} | |
return res | |
} |
Thanks for getting back to me!
Here is a copy of the implementation I put together based on your article: https://github.com/bpike0612/sensitive-data/tree/master
go version: 1.13
protobuf version: protobuf-compiler (3.6.1.3-2ubuntu5)
What I'm finding is in: protocol/company.proto the import "options.proto"; is not recognizing "options.proto" and in logger/sanitize.go on line 12 never recognizes the message as type "protoreflect.ProtoMessage:" so the log output is never redacted.
Posted solution as an issue, since can't push PR for the repository :)
Basically issue is with different protobuf generator. Once I've regenerated files using protoc generator, everything worked as expected
Hopefully this helps
Responded and the help is much appreciated!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hi Brett!
Unfortunately I don't have any public repository which will utilize this, but I would gladly help you finding what might not work well in your scenario. One of the first questions would be which version of go and protobufs you're using? This technique is supported with version of protobufs from March 2nd 2020