- logging probably needs mutexes

- macOS support beyond the legacy NIX stuff. it apparently uses something called "ULS", "Unified Logging System".
-- https://developer.apple.com/documentation/os/logging
-- https://developer.apple.com/documentation/os/generating-log-messages-from-your-code
-- no native Go support (yet)?
--- https://developer.apple.com/forums/thread/773369

- The log destinations for e.g. consts_nix.go et. al. probably should be unexported types.

- add a `log/slog` logging.Logger?

- Implement code line/func/etc. (only for debug?):
  https://stackoverflow.com/a/24809646
  https://golang.org/pkg/runtime/#Caller
  -- log.LlongFile and log.Lshortfile flags don't currently work properly for StdLogger/FileLogger; they refer to the file in logging package rather than the caller.
  -- ZeroLog seems to be able to do it, take a peek there.

- StdLogger2; where stdout and stderr are both logged to depending on severity level.
  - make configurable via OR bitmask

- Suport remote loggers? (eventlog, syslog, journald)

- JSON logger? YAML logger? XML logger?

- DOCS.
-- Done, but flesh out.
