- 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.
- Use scribify function to convert MonkLogger stream names, for backward compatibility with ScribeLogger.
- Add close() method to MonkLogger
- 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)
- Fix a compatiblity issue where gzipped logs weren't decompresser correctly in python 3.
- Change reader configuration file path (from /etc/yelp_clog.json to /nail/srv/configs/yelp_clog.json)
- Prevent exceptions if Monk is enabled but not installed
- Remove references to yelp_lib
- Add type checking to
MockLogger
log_line function
- Make StreamTailer connection message more flexible
- Drop py33 and add py35
- Fix FileLogger when using python3
- Fix use of unicode
- Use six instead of future
- Fix
ScribeHandler
under Python 3.
- Fix tail/nc process leaks during testing.
- Improvements to testing.
- Fix
scribify
function under Python 3.
- Remove the thriftpy hard-pinning. Compatible now with thriftpy 0.1+ and 0.2+.
- Add clog_enable_stdout_logging config option to dump log lines to stdout. Defaults to false.
- Switched to thriftpy, a third-party Thrift implementation.
- Now compatible with Python 3.3+ and PyPy2.
- 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.
- 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.
- 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.
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