createLogger
The createLogger function provides logging functionality for client and server with a custom prefix before the logs.
import { createLogger } from '@archibald/log';
const logger = createLogger(PARAMETERS);
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| loggerPrefix | string | ✔️ |
|
| prefixFormat | string |
| |
| transporters | TransporterParameters |
| |
| colorize | boolean |
|
Available methods
| Method | Parameters | Return value | Description |
|---|---|---|---|
| error | args: LogArgument[] | This method logs a message as error. | |
| info | args: LogArgument[] | This method logs a message as info. | |
| warn | args: LogArgument[] | This method logs a message as warning. | |
| debug | args: LogArgument[] | This method logs a message as debug. | |
| trace | args: LogArgument[] | This method logs a message as trace. | |
| log | args: LogArgument[] | This method is a classic log as an escape hatch from formats. | |
| setLogLevel | requestedLevel: error|warn|info|debug|trace | string | This method changes the log level and return the current log level. |
| isErrorEnabled | This method return true/false if Error is enabled. | ||
| isWarnEnabled | This method return true/false if Warning is enabled. | ||
| isInfoEnabled | This method return true/false if Info is enabled. | ||
| isDebugEnabled | This method return true/false if Debug is enabled. | ||
| isTraceEnabled | This method return true/false if Trace is enabled. |
loggerPrefix
The loggerPrefix is type of string and will be added before logs.
prefixFormat
The prefixFormat is type of string and will format the prefix based on the provided format.
The format should contain a # to be replaced by the prefix. ( # ): , The output will be like ( My Prefix ):.
If the prefixFormat is not passed, The default format would be [My Prefix] - .
Custom Prefix Format
createLogger function provides logging functionality for client and server with a custom prefix.
createLogger can be used in both client and server side.
//import createLogger
import { createLogger } from '@archibald/log';
// Defining the logger
const logger = createLogger('My Prefix', '( # ): ');
// Log a message
logger.error('Error message.'); // output: ( My Prefix ): Error message.
logger.warn('Warn message.'); // output: ( My Prefix ): Warn message.
logger.info('Info message.'); // output: ( My Prefix ): Info message.
logger.debug('Debug message.'); // output: ( My Prefix ): Debug message.
logger.trace('Trace message.'); // output: ( My Prefix ): Trace message.
Using createLogger function inside a component with custom prefix format
//import createLogger
import { createLogger } from '@archibald/log';
function MyLogger() {
const logger = createLogger('My Logger', '( # ):');
return (
<>
<Button
onClick={() => {
logger.info('info message.'); // output: ( My Logger ): info message.
}}
>
Log info
</Button>
<Button
onClick={() => {
logger.warn('warning message.'); // output: ( My Logger ): warning message.
}}
>
Log warn
</Button>
<Button
onClick={() => {
logger.error('error message.'); // output: ( My Logger ): error message.
}}
>
Log error
</Button>
<Button
onClick={() => {
logger.debug('debug message.'); // output: ( My Logger ): debug message.
}}
>
Log debug
</Button>
<Button
onClick={() => {
logger.trace('trace message.'); // output: ( My Logger ): trace message.
}}
>
Log trace
</Button>
</>
);
}
Default Prefix
createLogger function provides logging functionality for client and server with a custom prefix.
createLogger can be used in both client and server side.
//import createLogger
import { createLogger } from '@archibald/log';
// Defining the logger
const logger = createLogger('My Prefix');
// Log a message
logger.error('Error message.'); // output: [ My Prefix ] - Error message.
logger.warn('Warn message.'); // output: [ My Prefix ] - Warn message.
logger.info('Info message.'); // output: [ My Prefix ] - Info message.
logger.debug('Debug message.'); // output: [ My Prefix ] - Debug message.
logger.trace('Trace message.'); // output: [ My Prefix ] - Trace message.
Using createLogger function inside a component with default prefix format
//import createLogger
import { createLogger } from '@archibald/log';
function MyLogger() {
const logger = createLogger('My Logger');
return (
<>
<Button
onClick={() => {
logger.info('info message.'); // output: [My Logger] - info message.
}}
>
Log info
</Button>
<Button
onClick={() => {
logger.warn('warning message.'); // output: [My Logger] - warning message.
}}
>
Log warn
</Button>
<Button
onClick={() => {
logger.error('error message.'); // output: [My Logger] - error message.
}}
>
Log error
</Button>
<Button
onClick={() => {
logger.debug('debug message.'); // output: [My Logger] - debug message.
}}
>
Log debug
</Button>
<Button
onClick={() => {
logger.trace('trace message.'); // output: [My Logger] - trace message.
}}
>
Log trace
</Button>
</>
);
}
Set log level
//import createLogger
import { createLogger, LogLevel } from '@archibald/log';
// Defining the logger
const logger = createLogger('My Prefix');
//This method sets the current log level. Following log levels are supported:
// - error (0)
// - warn (1)
// - info (2)
// - debug (3)
// - trace (4)
const logLevel = logger.setLogLevel('debug'); // string
Using createLogger function and set Log level inside a component
//import createLogger
import { createLogger } from '@archibald/log';
function MyLogger() {
const logger = createLogger('My Logger');
return (
<>
<Button
onClick={() => {
logger.setLogLevel('info');
}}
>
Info log level
</Button>
<Button
onClick={() => {
logger.setLogLevel('debug');
}}
>
Debug log level
</Button>
<Button
onClick={() => {
logger.setLogLevel('error');
}}
>
Error log level
</Button>
<Button
onClick={() => {
logger.setLogLevel('warning');
}}
>
Warning log level
</Button>
<Button
onClick={() => {
logger.setLogLevel('trace');
}}
>
Trace log level
</Button>
</>
);
}