Skazka

Skazka

  • Server
  • Examples
  • Github
  • Blog

›Start working

Introduction

  • Server

Start working

  • Server Init
  • Server Request
  • Server Response
  • Server Error Handler
  • Server Logger
  • Server Cookies Parser
  • Server Helmet

Running server

  • Server HTTP(S)

API

  • Server GraphQL
  • Server Router
  • Server Body Parser
  • Server CORS
  • Server Method Override
  • Server Virtual Host
  • Server Chaos

Database

  • Server Mongoose
  • Server MySQL
  • Server PostgreSQL
  • Server Redis

Static files

  • Server Index
  • Server Static
  • Server SPA

Creating a new modules

  • Server Module Builder
  • Server Express Wrapper

Server Logger

It helps to work with logs.

How to install

npm i @skazka/server @skazka/server-logger

With yarn:

yarn add @skazka/server @skazka/server-logger

Optionally you can add http server, error handler, router, request and response:

npm i @skazka/server-http @skazka/server-router @skazka/server-error @skazka/server-request @skazka/server-response

With yarn:

yarn add @skazka/server-http @skazka/server-router @skazka/server-error @skazka/server-request @skazka/server-response

How to use

You can use any system for logging. By default it's console.

const App = require('@skazka/server');
const Router = require('@skazka/server-router');
        
const error = require('@skazka/server-error');
const logger = require('@skazka/server-logger');

const request = require('@skazka/server-request');
const response = require('@skazka/server-response');
        
const server = require('@skazka/server-http');
        
const app = new App();
const router = new Router();
        
app.all([
  error(),
  logger(),
  request(),
  response(),
]);
    
app.then(async (ctx) => {
  try {
    ctx.logger.info('some text');
    // some code with errors
    throw new Error('test');
  } catch(error) {
    ctx.logger.error(error);
  }
});
    
router.get('/data').then(async (ctx) => {
  try {
      ctx.logger.log('/url');
      // some code with errors
      throw new Error('test');
    } catch(error) {
      ctx.logger.error(error);
    }
            
  return ctx.response(); 
});
        
app.then(router.resolve());
        
server.createHttpServer(app);

log4js

log4js - a framework to work with node.

npm i log4js

With yarn

yarn add log4js
const log4js = require('log4js');
const log4jsLogger = log4js.getLogger();

app.all([
  ...
  logger(log4jsLogger),
  ...
]);

winston

Winston - a logger for just about everything.

npm i winston

With yarn

yarn add winston
const winston = require('winston');

const winstonLogger = winston.createLogger({
  level: 'info',
  format: winston.format.json(),
  transports: [
    //
    // - Write to all logs with level `info` and below to `combined.log` 
    // - Write all logs error (and below) to `error.log`.
    //
    new winston.transports.File({ filename: 'error.log', level: 'error' }),
    new winston.transports.File({ filename: 'combined.log' })
  ]
});
 
//
// If we're not in production then log to the `console` with the format:
// `${info.level}: ${info.message} JSON.stringify({ ...rest }) `
// 
if (process.env.NODE_ENV !== 'production') {
  winstonLogger.add(new winston.transports.Console({
    format: winston.format.simple()
  }));
}


app.all([
  ...
  logger(winstonLogger),
  ...
]);
Last updated by EvheniyBystrov
← Server Error HandlerServer Cookies Parser →
  • How to install
  • How to use
    • log4js
    • winston
Copyright © 2019 SkazkaJS