
Research
/Security News
OpenAPI React Query Codegen Compromised in Mini Shai-Hulud npm Supply Chain Attack
Ten malicious OpenAPI React Query Codegen versions were published to npm in the Mini Shai-Hulud attack, all with valid provenance.
@percy/logger
Advanced tools
Common logger used throughout the Percy CLI and SDKs.
import logger from '@percy/logger'
const log = logger('foobar')
log.info('info message')
log.error('error message')
log.warn('warning message')
log.debug('debug message')
log.deprecated('deprecation message')
logger([debug])Creates a group of logging functions that will be associated with the provided debug label. When
debug logging is enabled, this label is printed with the [percy:*] label and can be filtered via
the PERCY_DEBUG environment variable.
PERCY_DEBUG="one:*,*:a,-*:b"
logger.loglevel('debug')
logger('one').debug('test')
logger('one:a').debug('test')
logger('one:b').debug('test')
logger('one:c').debug('test')
logger('two').debug('test')
logger('two:a').debug('test')
// only logs from the matching debug string are printed
//=> [percy:one] test
//=> [percy:one:a] test
//=> [percy:one:c] test
//=> [percy:two:a] test
logger.loglevel([level][, flags])Sets or retrieves the log level of the shared logger. If the second argument is provided, level is
treated as a fallback when all logging flags are false. When no arguments are provided, the method
will return the current log level of the shared logger.
logger.loglevel('info', { verbose: true })
logger.loglevel() === 'debug'
logger.loglevel('info', { quiet: true })
logger.loglevel() === 'warn'
logger.loglevel('info', { silent: true })
logget.loglevel() === 'silent'
logger.loglevel('info')
logger.loglevel() === 'info'
logger.format(message, debug[, level])Returns a formatted message depending on the provided level and logger's own log level. When
debugging, the debug label is added to the prepended [percy:*] label.
logger.format('foobar', 'test')
//=> [percy] foobar
logger.loglevel('debug')
logger.format('foobar', 'test', warn')
//=> [percy:test] foobar (yellow for warnings)
logger.query(filter)Returns an array of logs matching the provided filter function.
let logs = logger.query(log => {
return log.level === 'debug' &&
log.message.match(/foobar/)
})
Winston is a versatile logging library for Node.js that supports multiple transports (e.g., console, file, HTTP) and log levels. It is highly configurable and can be used for both simple and complex logging needs. Compared to @percy/logger, Winston offers more advanced features and greater flexibility.
Bunyan is a simple and fast JSON logging library for Node.js. It is designed to produce structured logs that are easy to parse and analyze. Bunyan provides features like log levels, serializers, and streams. Compared to @percy/logger, Bunyan focuses on structured logging and JSON output.
Pino is a fast and low-overhead logging library for Node.js. It is designed for high-performance logging and provides features like log levels, serializers, and transports. Pino is known for its speed and efficiency, making it suitable for performance-critical applications. Compared to @percy/logger, Pino emphasizes performance and low overhead.
FAQs
Common logger used throughout the Percy CLI and SDKs.
The npm package @percy/logger receives a total of 524,012 weekly downloads. As such, @percy/logger popularity was classified as popular.
We found that @percy/logger demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Research
/Security News
Ten malicious OpenAPI React Query Codegen versions were published to npm in the Mini Shai-Hulud attack, all with valid provenance.

Security News
Socket joins more than 100 technology, cybersecurity, and financial organizations calling for a global surge in cyber defense.

Product
Enterprise security teams can now detect malware, credential theft, suspicious network activity, and risky updates across Microsoft Edge extensions.