Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
251 lines
6.1 KiB
Plaintext
251 lines
6.1 KiB
Plaintext
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
|
const internal = require('./internal.js');
|
|
const parameterize = require('../utils/parameterize.js');
|
|
|
|
/**
|
|
* Capture a log with the given level.
|
|
*
|
|
* @param level - The level of the log.
|
|
* @param message - The message to log.
|
|
* @param attributes - Arbitrary structured data that stores information about the log - e.g., userId: 100.
|
|
* @param scope - The scope to capture the log with.
|
|
* @param severityNumber - The severity number of the log.
|
|
*/
|
|
function captureLog(
|
|
level,
|
|
message,
|
|
attributes,
|
|
scope,
|
|
severityNumber,
|
|
) {
|
|
internal._INTERNAL_captureLog({ level, message, attributes, severityNumber }, scope);
|
|
}
|
|
|
|
/**
|
|
* Additional metadata to capture the log with.
|
|
*/
|
|
|
|
/**
|
|
* @summary Capture a log with the `trace` level. Requires the `enableLogs` option to be enabled.
|
|
*
|
|
* @param message - The message to log.
|
|
* @param attributes - Arbitrary structured data that stores information about the log - e.g., { userId: 100, route: '/dashboard' }.
|
|
* @param metadata - additional metadata to capture the log with.
|
|
*
|
|
* @example
|
|
*
|
|
* ```
|
|
* Sentry.logger.trace('User clicked submit button', {
|
|
* buttonId: 'submit-form',
|
|
* formId: 'user-profile',
|
|
* timestamp: Date.now()
|
|
* });
|
|
* ```
|
|
*
|
|
* @example With template strings
|
|
*
|
|
* ```
|
|
* Sentry.logger.trace(Sentry.logger.fmt`User ${user} navigated to ${page}`, {
|
|
* userId: '123',
|
|
* sessionId: 'abc-xyz'
|
|
* });
|
|
* ```
|
|
*/
|
|
function trace(
|
|
message,
|
|
attributes,
|
|
{ scope } = {},
|
|
) {
|
|
captureLog('trace', message, attributes, scope);
|
|
}
|
|
|
|
/**
|
|
* @summary Capture a log with the `debug` level. Requires the `enableLogs` option to be enabled.
|
|
*
|
|
* @param message - The message to log.
|
|
* @param attributes - Arbitrary structured data that stores information about the log - e.g., { component: 'Header', state: 'loading' }.
|
|
* @param metadata - additional metadata to capture the log with.
|
|
*
|
|
* @example
|
|
*
|
|
* ```
|
|
* Sentry.logger.debug('Component mounted', {
|
|
* component: 'UserProfile',
|
|
* props: { userId: 123 },
|
|
* renderTime: 150
|
|
* });
|
|
* ```
|
|
*
|
|
* @example With template strings
|
|
*
|
|
* ```
|
|
* Sentry.logger.debug(Sentry.logger.fmt`API request to ${endpoint} failed`, {
|
|
* statusCode: 404,
|
|
* requestId: 'req-123',
|
|
* duration: 250
|
|
* });
|
|
* ```
|
|
*/
|
|
function debug(
|
|
message,
|
|
attributes,
|
|
{ scope } = {},
|
|
) {
|
|
captureLog('debug', message, attributes, scope);
|
|
}
|
|
|
|
/**
|
|
* @summary Capture a log with the `info` level. Requires the `enableLogs` option to be enabled.
|
|
*
|
|
* @param message - The message to log.
|
|
* @param attributes - Arbitrary structured data that stores information about the log - e.g., { feature: 'checkout', status: 'completed' }.
|
|
* @param metadata - additional metadata to capture the log with.
|
|
*
|
|
* @example
|
|
*
|
|
* ```
|
|
* Sentry.logger.info('User completed checkout', {
|
|
* orderId: 'order-123',
|
|
* amount: 99.99,
|
|
* paymentMethod: 'credit_card'
|
|
* });
|
|
* ```
|
|
*
|
|
* @example With template strings
|
|
*
|
|
* ```
|
|
* Sentry.logger.info(Sentry.logger.fmt`User ${user} updated profile picture`, {
|
|
* userId: 'user-123',
|
|
* imageSize: '2.5MB',
|
|
* timestamp: Date.now()
|
|
* });
|
|
* ```
|
|
*/
|
|
function info(
|
|
message,
|
|
attributes,
|
|
{ scope } = {},
|
|
) {
|
|
captureLog('info', message, attributes, scope);
|
|
}
|
|
|
|
/**
|
|
* @summary Capture a log with the `warn` level. Requires the `enableLogs` option to be enabled.
|
|
*
|
|
* @param message - The message to log.
|
|
* @param attributes - Arbitrary structured data that stores information about the log - e.g., { browser: 'Chrome', version: '91.0' }.
|
|
* @param metadata - additional metadata to capture the log with.
|
|
*
|
|
* @example
|
|
*
|
|
* ```
|
|
* Sentry.logger.warn('Browser compatibility issue detected', {
|
|
* browser: 'Safari',
|
|
* version: '14.0',
|
|
* feature: 'WebRTC',
|
|
* fallback: 'enabled'
|
|
* });
|
|
* ```
|
|
*
|
|
* @example With template strings
|
|
*
|
|
* ```
|
|
* Sentry.logger.warn(Sentry.logger.fmt`API endpoint ${endpoint} is deprecated`, {
|
|
* recommendedEndpoint: '/api/v2/users',
|
|
* sunsetDate: '2024-12-31',
|
|
* clientVersion: '1.2.3'
|
|
* });
|
|
* ```
|
|
*/
|
|
function warn(
|
|
message,
|
|
attributes,
|
|
{ scope } = {},
|
|
) {
|
|
captureLog('warn', message, attributes, scope);
|
|
}
|
|
|
|
/**
|
|
* @summary Capture a log with the `error` level. Requires the `enableLogs` option to be enabled.
|
|
*
|
|
* @param message - The message to log.
|
|
* @param attributes - Arbitrary structured data that stores information about the log - e.g., { error: 'NetworkError', url: '/api/data' }.
|
|
* @param metadata - additional metadata to capture the log with.
|
|
*
|
|
* @example
|
|
*
|
|
* ```
|
|
* Sentry.logger.error('Failed to load user data', {
|
|
* error: 'NetworkError',
|
|
* url: '/api/users/123',
|
|
* statusCode: 500,
|
|
* retryCount: 3
|
|
* });
|
|
* ```
|
|
*
|
|
* @example With template strings
|
|
*
|
|
* ```
|
|
* Sentry.logger.error(Sentry.logger.fmt`Payment processing failed for order ${orderId}`, {
|
|
* error: 'InsufficientFunds',
|
|
* amount: 100.00,
|
|
* currency: 'USD',
|
|
* userId: 'user-456'
|
|
* });
|
|
* ```
|
|
*/
|
|
function error(
|
|
message,
|
|
attributes,
|
|
{ scope } = {},
|
|
) {
|
|
captureLog('error', message, attributes, scope);
|
|
}
|
|
|
|
/**
|
|
* @summary Capture a log with the `fatal` level. Requires the `enableLogs` option to be enabled.
|
|
*
|
|
* @param message - The message to log.
|
|
* @param attributes - Arbitrary structured data that stores information about the log - e.g., { appState: 'corrupted', sessionId: 'abc-123' }.
|
|
* @param metadata - additional metadata to capture the log with.
|
|
*
|
|
* @example
|
|
*
|
|
* ```
|
|
* Sentry.logger.fatal('Application state corrupted', {
|
|
* lastKnownState: 'authenticated',
|
|
* sessionId: 'session-123',
|
|
* timestamp: Date.now(),
|
|
* recoveryAttempted: true
|
|
* });
|
|
* ```
|
|
*
|
|
* @example With template strings
|
|
*
|
|
* ```
|
|
* Sentry.logger.fatal(Sentry.logger.fmt`Critical system failure in ${service}`, {
|
|
* service: 'payment-processor',
|
|
* errorCode: 'CRITICAL_FAILURE',
|
|
* affectedUsers: 150,
|
|
* timestamp: Date.now()
|
|
* });
|
|
* ```
|
|
*/
|
|
function fatal(
|
|
message,
|
|
attributes,
|
|
{ scope } = {},
|
|
) {
|
|
captureLog('fatal', message, attributes, scope);
|
|
}
|
|
|
|
exports.fmt = parameterize.fmt;
|
|
exports.debug = debug;
|
|
exports.error = error;
|
|
exports.fatal = fatal;
|
|
exports.info = info;
|
|
exports.trace = trace;
|
|
exports.warn = warn;
|
|
//# sourceMappingURL=public-api.js.map
|