Releases: sensedeep/senselogs
v0.9.0
Major Feature Release
Features / Changes
-
Simplified API -- support on-demand log channels
-
Rename levels -> channels
-
Update README
Breaking Changes
The addLevels, getLevels and constructor levels property have been removed.
The rationale is that levels are not needed. Users can create levels on-demand via the emit() method. This is hugely beneficial as you can add custom logging to modules without needing to pre-declare the log channel. The log message won't be emitted until you enable the filter (without redeploying code). You don't need to enable the log level (now called channels) anymore.
Previously you needed to addLevels (channels) for custom log channels. Now you just use log.emit('your-custom-channel'). And this will be dormant in your code until you enable the channel filter.
Fixes
- none
See
v0.8.4
Minor Patch Release
Features / Changes
- Update README
Breaking Changes
- Custom levels now will not expose methods on the logger instance. Invoke custom methods via the
emit
method. This is to enable better TypeScript typing of custom levels.
Fixes
- none
See
v0.8.3
v0.8.2
v0.8.1
v0.8.0
Major Initial Release
SenseLogs is a fast log library designed exclusively for serverless apps using NodeJS.
While there are many other good logging libraries, that claim to be fast, they were not designed for
serverless and so are bigger and slower than necessary.
Serverless apps have special requirments like minimizing cold-start time, dynamic log level and filtering control without redploying and being able to capture detailed context and request information without modifying your app. SenseLogs is designed to do this and more.
This is the first public release of senselogs. This module has been used for a while as the logging library for the SenseDeep serverless developer studio.
Change Log
- Initial release on GitHub and NPM
Features
- Extremely fast initialization time to shorten cold-starts.
- Clean, readable small code base (< 500 lines).
- Emits logs in JSON with rich context.
- Dynamic log control to change log levels and filters without redeploying.
- Log snapshots to facilitate remote debugging without redeploying.
- Log sampling to emit increased logs for a percentage of requests.
- Stack capture for uncaught exceptions.
- Flexible log levels and filters.
- Inheriting child log instances for per-module logging.
- For local debugging, emits in human readable formats.
- APIs to emit CloudWatch custom metrics using EMF.
- Integrates with SenseDeep developer studio.
- No dependencies.
- Full TypeScript support.
Fixes
- N/A