Fix logging of invalid Unicode data

The io:put_chars/1 function attempts to handle unicode conversions. This
would break when attempting to log a binary like <<255>> (which happens
to exist in #view_query_args{}). This just switches the call to
io:format/2 which does no Unicode conversion.

This bug should only affect dbcore nodes where no rsyslog host is
specified (namely, local development clusters).

BugzId: 30437
1 file changed
tree: 05d1f5cad5621c86e31e4936561c4afe7ed6249d
  1. src/

Twig is a SASL-compliant Erlang/OTP logger. It installs a gen_event handler in the error_logger event manager, where it consumes standard OTP reports and messages as well as events generated by twig:log/2,3,4. Log messages are written to a syslog server over UDP using the format specified in RFC 5424.

Twig's behavior is controlled using the application environment:

  • host (undefined): the hostname of the syslog server
  • port (514): the port of the syslog server
  • facility (local2): syslog facility to be used
  • level (info): logging threshold. Messages “above” this threshold (in syslog parlance) will be discarded. Acceptable values are debug, info, notice, warn, err, crit, alert, and emerg.
  • appid (“twig”): inserted as the APPID in the syslog message
  • max_term_size (8192): raw data size below which we format normally
  • max_message_size (16000): approx. max size of truncated string