Non-Production Machines

    @skazka/server-logger

    0.0.7 • Public • Published

    Server Logger

    It helps to work with logs.

    NPM

    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),
      ...
    ]);

    Install

    npm i @skazka/server-logger

    DownloadsWeekly Downloads

    0

    Version

    0.0.7

    License

    MIT

    Unpacked Size

    5.49 kB

    Total Files

    3

    Last publish

    Collaborators

    • evheniy.bystrov
    • skazkajs