The logger module provides a unified logging abstraction across JavaScript and native layers for Ping Identity React Native SDK modules.
Use this module to:
By default, logging is disabled (level: 'none') when no level is provided.
Note: This module requires that the
@ping-identity/rn-coremodule is already set up and installed.
# Install & setup the core module
yarn add @ping-identity/rn-core
# Install the rn-logger module
yarn add @ping-identity/rn-logger
# If you are developing your app using iOS, run this command
cd ios && pod install
import { logger } from '@ping-identity/rn-logger';
const log = logger({ level: 'info' });
log.info('Application started');
log.warn('Potential issue detected');
log.error('An error occurred');
log.changeLevel('debug');
// Defaults to level "none" when omitted
const silentLog = logger();
// Access the native logger handle for modules that accept native logger config
console.log(log.nativeHandle.id);
You can forward logs to your own logger implementation.
import { logger } from '@ping-identity/rn-logger';
const log = logger({
level: 'debug',
custom: {
error: (...args) => {
console.log('[ERROR]', ...args);
return true;
},
warn: (...args) => {
console.log('[WARN]', ...args);
return true;
},
info: (...args) => {
console.log('[INFO]', ...args);
return true;
},
debug: (...args) => {
console.log('[DEBUG]', ...args);
return true;
},
},
});
log.debug('diagnostics enabled');
Supported levels:
debuginfowarnerrornoneimport type {
LoggerConfig,
LoggerInstance,
NativeLoggerHandle,
LogLevel,
} from '@ping-identity/rn-logger';
function logger(config?: LoggerConfig): LoggerInstance;
type LoggerConfig = {
level?: LogLevel;
custom?: {
error: (...args: unknown[]) => boolean;
warn: (...args: unknown[]) => boolean;
info: (...args: unknown[]) => boolean;
debug: (...args: unknown[]) => boolean;
};
};
logger throws when native logger registration fails.
import { logger } from '@ping-identity/rn-logger';
try {
const log = logger({ level: 'info' });
console.log(log.nativeHandle.id);
} catch (error) {
console.error('Failed to configure logger', error);
}
MIT