logger - ZeMA-gGmbH/NoPE-JS GitHub Wiki

Namespace: logger

Author

Martin Karkowski

Email

[email protected]

This module contains the basics of for logging content.

For a logger please use the following methods.

To change the logging behavior use the one of the following funtions:

You can convert the logger to an eventEmitter using the function getLogerAsEventEmitter

In the backend (nodejs) you can use the useLogFile method to log the content to a file.


Using a Logger:

  1. Lets create our logger:
// First lets install nope using npm
const nope = require("../dist-nodejs/index.nodejs");

// Create our Observable:
const logger = nope.getNopeLogger("demo");

Now, that our logger has been created, we are able to log our first messages:

logger.trace("hello from 'trace' level")
logger.debug("hello from 'debug' level")
logger.info("hello from 'info' level")
logger.warn("hello from 'warn' level")
logger.error("hello from 'error' level")
   2023-03-28T15:50:49.827Z - DEBUG - demo : hello from 'debug' level
   2023-03-28T15:50:49.827Z - INFO  - demo : hello from 'info' level


   2023-03-28T15:50:49.827Z - WARN  - demo : hello from 'warn' level
   2023-03-28T15:50:49.827Z - ERROR - demo : hello from 'error' level

To change the logging level use the property level:

logger.setLevel(nope.WARN);
logger.trace("hello from 'trace' level")
logger.debug("hello from 'debug' level")
logger.info("hello from 'info' level")
logger.warn("hello from 'warn' level")
logger.error("hello from 'error' level")
   2023-03-28T15:52:36.027Z - WARN  - demo : hello from 'warn' level
   2023-03-28T15:52:36.027Z - ERROR - demo : hello from 'error' level

As you can see you are able to change the log level.

Classes

Interfaces

Type Aliases

LoggerLevel

LoggerLevel: "error" | "warn" | "info" | "debug" | "trace"

Contains the Valid Types of the Loger.


TCallback

TCallback: (name: string, msg: string) => void

Type declaration

(name, msg): void

Parameters
Name Type
name string
msg string
Returns

void


TCallbackWithLevel

TCallbackWithLevel: (level: LoggerLevel, name: string, msg: string) => void

Type declaration

(level, name, msg): void

Parameters
Name Type
level LoggerLevel
name string
msg string
Returns

void


ValidLoggerDefinition

ValidLoggerDefinition: ILogger | LoggerLevel | false

The valid defintion types for the logger.

Variables

DEBUG

Const DEBUG: any

Debug Logger-Level


ERROR

Const ERROR: any

Error Logger-Level


INFO

Const INFO: any

Info Logger-Level


LEVELS

Const LEVELS: Object

The valid log-levels

Type declaration

Name Type
debug any
error any
info any
trace any
warn any

LoggerLevels

Const LoggerLevels: string[]

Array containg the Valid Types of the Loger. see LoggerLevel


TRACE

Const TRACE: any

Tracing Logger-Level


WARN

Const WARN: any

Warn Logger-Level

Functions

defineNopeLogger

defineNopeLogger(param, defaultName): ILogger

Helper to define a Logger based on the given Logger-Definition. Based on the type, a new logger is created ("LoggerLevel"), the provided Logger is used or if "false" no logger is returned.

Author

M.Karkowski

Export

Parameters

Name Type
param ValidLoggerDefinition
defaultName string

Returns

ILogger


enableFor

enableFor(logger, lvl): void

Enables the Logger for the desired Level.

Parameters

Name Type Description
logger ILogger The logger
lvl LoggerLevel The level to use

Returns

void


enabledFor

enabledFor(logger, lvl?): boolean | LoggerLevel

Tests if the Logger is enabled for the level, or extracts the level.

Parameters

Name Type Description
logger ILogger The logger
lvl? LoggerLevel if provided tests if the lvl matches the logger. otherwise returns the current level

Returns

boolean | LoggerLevel


generateLogfilePath

generateLogfilePath(name): string

Generates a Log-File Path based on the given name with the following format: /logs/{name}_{date}.log

Export

Backend

Only in Nodejs available

Parameters

Name Type Description
name string Name of the File.

Returns

string


getCentralNopeLogger

getCentralNopeLogger(): NopeLogger

Return the central loger. This logger is a singleton (see getSingleton)

Author

M.Karkowski

Export

Returns

NopeLogger

A Returns the Logger NopeLogger


getLogerAsEventEmitter

getLogerAsEventEmitter(): LoggerAsEventEmitter

Returns

LoggerAsEventEmitter


getNopeLogger

getNopeLogger(name, level?): ILogger

Helper Function, to create a Logger. Therefore it uses a specific Level and a Lable of the Logger. The Logger-Level can be overwritten by the central-logger see getCentralNopeLogger

Export

Parameters

Name Type Description
name string -
level? LoggerLevel The Level, which should be rendered

Returns

ILogger

Returns a Logger.


setGlobalLoggerLevel

setGlobalLoggerLevel(level): void

Helper Function to set the general Logger Level.

Parameters

Name Type Description
level LoggerLevel The Level of the Nope.

Returns

void


shouldLog

shouldLog(loggerLevel, messageLevel): boolean

Helper to test if the message would be logged.

Parameters

Name Type Description
loggerLevel LoggerLevel The Level of the logger
messageLevel LoggerLevel The Level of the Message

Returns

boolean


useEventLogger

useEventLogger(): LoggerAsEventEmitter

Function to use a log file instead of the console log.

Export

Returns

LoggerAsEventEmitter


useLogFile

useLogFile(pathToFile?, bufferSize?): () => Promise<void>

Function to use a log file instead of the console log.

Author

M.Karkowski

Export

Backend

Only in Nodejs available

Parameters

Name Type Default value Description
pathToFile? string DEFAULT_FILE Path to the logfile
bufferSize? number 100 Default Buffer-Size. If > 0 we will write the log with buffering.

Returns

fn

(): Promise<void>

Returns

Promise<void>

⚠️ **GitHub.com Fallback** ⚠️