Release Notes

2.16.0

  • Remove backend_map logic from ScribeLogger and MonkLogger.
  • When Monk is enabled, use ScribeMonkLogger instead of using MonkLogger directly.
  • Implement preferred_backend logic in ScribeMonkLogger. See preferred_backend and preferred_backend_map in config.py.
  • Upgrade Monk client library to 0.4.1.
  • Implement memory buffering for MonkLogger.

2.15.0

  • Use scribify function to convert MonkLogger stream names, for backward compatibility with ScribeLogger.

2.14.0

  • Add close() method to MonkLogger

2.13.0

  • When creating a ScribeTailer instance, fall back to find_tail_host() if no tail service host is specified and the configuration is not set.
  • Implement size limit for MonkLogger (5MB)

2.12.1

  • Fix a compatiblity issue where gzipped logs weren’t decompresser correctly in python 3.

2.12.0

  • Change reader configuration file path (from /etc/yelp_clog.json to /nail/srv/configs/yelp_clog.json)

2.11.0

  • Prevent exceptions if Monk is enabled but not installed

2.6.2

  • Remove references to yelp_lib

2.6.1

  • Add type checking to MockLogger log_line function

2.6.0

  • Make StreamTailer connection message more flexible
  • Drop py33 and add py35

2.5.2

  • Fix FileLogger when using python3

2.5.1

  • Fix use of unicode

2.5.0

  • Use six instead of future

2.4.4

  • Fix ScribeHandler under Python 3.

2.4.3

  • Fix tail/nc process leaks during testing.

2.4.2

  • Improvements to testing.
  • Fix scribify function under Python 3.

2.4.1

  • Remove the thriftpy hard-pinning. Compatible now with thriftpy 0.1+ and 0.2+.

2.4.0

  • Add clog_enable_stdout_logging config option to dump log lines to stdout. Defaults to false.

1.4.0

  • Switched to thriftpy, a third-party Thrift implementation.
  • Now compatible with Python 3.3+ and PyPy2.

1.3.0

  • Add an enforcement on the size of scribe log lines. Log lines are expected to be less than 5MB; they are processed as normal. For log lines with size between 5MB and 50MB, warnings are issued by logging them additionaly to the scribe log “tmp_who_clog_large_line”. Any line over 50 MB is treated as an error, and the exception LogLineIsTooLongError is raised.

1.2.0

  • The logging_timeout argument of loggers.ScribeLogger is added. This allows scribe logging to timeout instead of being blocked if the scribe server is non-responding promptly; this benefits the applications prioritizing user experience over logging.

1.1.4

  • The _recv_compressed method of StreamTailer and the python-snappy dependency have been removed. Now it’s no more possible to automatically decompress a snappy-compressed stream.

1.0.0

This is a major release as it breaks backwards compatibility.

  • Many imports were removed from the top level clog namespace. They are still available from the full module name (ex: clog.loggers, clog.config, etc)
  • Configuration defaults have changed. The default is now to log to a local file in /tmp, instead of raising a ValueError if scribe is not configured. Note this only applies to clog.log_line()