slog: use middle dot for TextHandler groups/scopes

Use a Unicode middle dot 'ยท' as the separator between group/scope names
and keys in the TextHandler, instead of an ordinary dot '.'.

Although both dot and middle-dot may appear in a user-supplied
attribute key, making unambiguous parsing into groups impossible,
middle-dot is expected to be much less common, thus reducing the
frequency of ambiguity. If a user wants to escape, they can use
ReplaceAttr.

Alternative encodings that unambiguously preserve the group/key
separation would make parsing more complicated than simply calling
strconv.Unquote.

Change-Id: I6951ced8bb64dcb340c16372e0c27f49c861d88c
Reviewed-on: https://go-review.googlesource.com/c/exp/+/442355
Run-TryBot: Jonathan Amsterdam <jba@google.com>
Reviewed-by: Alan Donovan <adonovan@google.com>
3 files changed
tree: a17403d19f4a4e18c2ca2767bcd62c5706ca7983
  1. apidiff/
  2. cmd/
  3. constraints/
  4. devtools/
  5. ebnf/
  6. ebnflint/
  7. errors/
  8. event/
  9. inotify/
  10. io/
  11. jsonrpc2/
  12. maps/
  13. mmap/
  14. rand/
  15. shiny/
  16. shootout/
  17. slices/
  18. slog/
  19. sumdb/
  20. typeparams/
  21. utf8string/
  22. .gitattributes
  23. .gitignore
  24. codereview.cfg
  25. CONTRIBUTING.md
  26. go.mod
  27. go.sum
  28. LICENSE
  29. PATENTS
  30. README.md
README.md

exp

PkgGoDev

This subrepository holds experimental and deprecated (in the old directory) packages.

The idea for this subrepository originated as the pkg/exp directory of the main repository, but its presence there made it unavailable to users of the binary downloads of the Go installation. The subrepository has therefore been created to make it possible to go get these packages.

Warning: Packages here are experimental and unreliable. Some may one day be promoted to the main repository or other subrepository, or they may be modified arbitrarily or even disappear altogether.

In short, code in this subrepository is not subject to the Go 1 compatibility promise. (No subrepo is, but the promise is even more likely to be violated by go.exp than the others.)

Caveat emptor.