What is @storybook/client-logger?
The @storybook/client-logger package is a utility for logging messages in the Storybook client application. It provides a consistent way to handle logging with different levels such as debug, info, warn, and error. It is mainly used within the Storybook ecosystem to output messages to the console in a standardized format.
What are @storybook/client-logger's main functionalities?
Logging debug messages
This feature allows developers to log debug messages which can be useful during development to understand the flow of the application or to diagnose issues.
import { logger } from '@storybook/client-logger';
logger.debug('Debug message');
Logging informational messages
This feature is used to log informational messages that can provide insights into the application's state or actions that have been taken.
import { logger } from '@storybook/client-logger';
logger.info('Informational message');
Logging warnings
This feature is used to log warnings which might not be critical but still require attention or might lead to potential issues.
import { logger } from '@storybook/client-logger';
logger.warn('Warning message');
Logging errors
This feature is used to log error messages which are critical and usually indicate that something has gone wrong in the application.
import { logger } from '@storybook/client-logger';
logger.error('Error message');
Other packages similar to @storybook/client-logger
winston
Winston is a multi-transport async logging library for Node.js. It is designed to be a simple and universal logging library with support for multiple transports. Compared to @storybook/client-logger, winston offers more flexibility and is more suitable for server-side logging with various outputs such as files, consoles, or remote services.
pino
Pino is a very low overhead Node.js logger, which is inspired by Bunyan. It provides a very fast logging capability and includes a CLI tool for pretty-printing log files. Pino is more focused on performance and is suitable for production logging, whereas @storybook/client-logger is more tailored for logging within the Storybook client environment.
log4js
Log4js is a logging framework for Node.js, which supports multiple appenders, log levels, and categories. It is similar to the Log4j library for Java. Log4js is more complex and configurable compared to @storybook/client-logger, making it a good choice for large applications that require detailed logging configurations.
Storybook Logger
Any client-side logging that is done through storybook should be done through this package.
Examples:
import { logger } from '@storybook/client-logger';
logger.info('Info message');
logger.warn('Warning message');
logger.error('Error message');
For more information visit: storybook.js.org
7.0.0-beta.0 (December 8, 2022)
We made it to beta, folks! 🎉
SB7 overhauls our build architecture, modernizes our output to ESM only, promotes Vite to a first-class peer to Webpack, rethinks our Docs addon, cleans up the UI, and contains hundreds of improvements at every level of the stack. We've been sharing some of these changes on the Storybook blog and will share more over the coming weeks.
Beta means that we don't have any more major changes on the radar for 7.0 and it's mostly stabilization from here on out. The core team is doing some basic testing now, and once we have a good QA plan, we'd love your help to make that happen. Please keep an eye out on the blog and on our Twitter or Mastadon (coming soon!) or Discord if you're interested in helping.
Bug Fixes
- Extend Angular Zone.js peer dependency range #20107
- Vite: Fix static source handling for addon-docs #20147
- Controls: Arrow keys don't work on number controls #19954