Skip to main content

Logger

If there is no need to have a prefix before the logs, you can use Logger.
Logger object provides logging functionality for client and server.

import { Logger } from '@archibald/log';

// Log a message
Logger.error('Error message.');
Logger.warn('Warn message.');
Logger.info('Info message.');
Logger.debug('Debug message.');
Logger.trace('Trace message.');

// Check if a log level is enabled
const isErrorEnabled = Logger.isErrorEnabled();
const isWarnEnabled = Logger.isWarnEnabled();
const isInfoEnabled = Logger.isInfoEnabled();
const isDebugEnabled = Logger.isDebugEnabled();
const isTraceEnabled = Logger.isTraceEnabled();

Available methods

MethodParametersReturn valueDescription
errorargs: LogArgument[]This method logs a message as error.
infoargs: LogArgument[]This method logs a message as info.
warnargs: LogArgument[]This method logs a message as warning.
debugargs: LogArgument[]This method logs a message as debug.
traceargs: LogArgument[]This method logs a message as trace.
logargs: LogArgument[]This method is a classic log as an escape hatch from formats.
setLogLevelrequestedLevel: error|warn|info|debug|tracestringThis method changes the log level and return the current log level.
isErrorEnabledThis method return true/false if Error is enabled.
isWarnEnabledThis method return true/false if Warning is enabled.
isInfoEnabledThis method return true/false if Info is enabled.
isDebugEnabledThis method return true/false if Debug is enabled.
isTraceEnabledThis method return true/false if Trace is enabled.

Use Logger

If there is no need to have a prefix before the logs, you can use Logger. Logger can be used in both client and server side.

Using Logger object

//import Logger
import { Logger } from '@archibald/log';

// Log a message
Logger.error('Error message.');
Logger.warn('Warn message.');
Logger.info('Info message.');
Logger.debug('Debug message.');
Logger.trace('Trace message.');

Using Logger function inside a component

//import Logger
import { Logger } from '@archibald/log';

function MyLogger() {
return (
<>
<Button
onClick={() => {
Logger.info('info message.');
}}
>
Log info
</Button>
<Button
onClick={() => {
Logger.warn('warning message.');
}}
>
Log warn
</Button>
<Button
onClick={() => {
Logger.error('error message.');
}}
>
Log error
</Button>
<Button
onClick={() => {
Logger.debug('debug message.');
}}
>
Log debug
</Button>
<Button
onClick={() => {
Logger.trace('trace message.');
}}
>
Log trace
</Button>
</>
);
}

setLogLevel

This method sets the current log level. Following log levels are supported:

  • error (0)
  • warn (1)
  • info (2)
  • debug (3)
  • trace (4)
import { Logger, LogLevel } from '@archibald/log';

const logLevel = Logger.setLogLevel(PARAMETERS);

// Examples
const logLevel = Logger.setLogLevel('debug'); // string
const logLevel = Logger.setLogLevel(LogLevel.DEBUG); // LogLevel
const logLevel = Logger.setLogLevel(0); // numberd

Parameters

NameTypeDescription
requestedLevelLogLevel | string | numberA log level that the logger should change to.

Using Logger function & set Log level inside a component

//import Logger
import { Logger } from '@archibald/log';

function MyLogger() {
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>
</>
);
}