Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including ecs-logs-js with all npm packages installed. Try it out:

var ecsLogsJs = require("ecs-logs-js")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

ecs-logs-js v1.0.0

Simple Node.js console logger that outputs human friendly and ecs-logs compatible messages

ecs-logs-js

A simple Node.js console logger that outputs human friendly messages in development and ecs-logs compatible messages in production. Supports all object types, including those that can't be JSON stringified like Error, Map, Set and BigInt.

TypeScript types are also included in the package.

Development log output example

Install

yarn add ecs-logs-js
# or
npm install ecs-logs-js

Usage

import { Logger } from 'ecs-logs-js'

const logger = new Logger({ devMode: true })
logger.info('Server started at http://localhost:8000')
logger.warn('Request rate limited', { ip: '127.0.0.1' })
logger.error('🚨 Unexpected Error', new Error('Failed to connect to Postgress'))

API

new Logger(options?)

Creates a new logger instance.

options

Type: object

level

Type: 'emerg' | 'alert' | 'crit' | 'error' | 'warn' | 'notice' | 'info' | 'debug'
Default: 'debug'

Sets the maximum log level that will be output. By setting this option to 'info', it can be used to disable debug logs in production.

devMode

Type: boolean
Default: process.env.NODE_ENV === 'development'

Enables the human friendly development output.

logger.log(level, message, data?)

Logs a message at the given log level.

level

Type: 'emerg' | 'alert' | 'crit' | 'error' | 'warn' | 'notice' | 'info' | 'debug'

Log level for the message.

message

Type: string

The message to log.

data

Type: any

Any additional data to log with the message. This can be any type.

logger.emerg(message, data?)

logger.alert(message, data?)

logger.crit(message, data?)

logger.error(message, data?)

logger.warn(message, data?)

logger.notice(message, data?)

logger.info(message, data?)

logger.debug(message, data?)

Logs a message at the respective log level.

message

Type: string

The message to log.

data

Type: any

Any additional data to log with the message. This can be any type.

Development

Make sure you have Node >=10 and Yarn installed, and then run yarn install to install the development dependencies.

To run the tests use yarn test. To run the tests in watch mode use yarn test --watch.

To lint the files use yarn lint.

To compile the TypeScript files use yarn build.

Metadata

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free