Skip to content

Releases: sensedeep/senselogs

v0.9.0

29 Jul 00:54
Compare
Choose a tag to compare

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

29 Jul 00:04
Compare
Choose a tag to compare

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

27 Jul 02:57
Compare
Choose a tag to compare

Minor Patch Release

Features / Changes

  • Update README

Fixes

  • Fix type signatures for addFilter, addLevel

See

v0.8.2

20 Jul 02:43
Compare
Choose a tag to compare

Minor Patch Release

Features

  • More tests
  • Add get/set levels, filter, override, sample

Fixes

  • none

See

v0.8.1

17 Jul 09:26
Compare
Choose a tag to compare

Minor Patch Release

Features

  • None

Fixes

  • Change default ES module target to 2020 from esnext to transpile private properties.

See

v0.8.0

16 Jul 08:07
Compare
Choose a tag to compare

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

See