Nestable Processes Mutate

    @ssense/node-logger
    TypeScript icon, indicating that this package has built-in type declarations

    1.1.2 • Public • Published

    Node Logger

    Build Status Coverage Status Latest Stable Version

    SSENSE Standardized Logs

    Application Logger

    // Inclusion
    import {Logger, LogLevel} from '@ssense/node-logger';
    // Usage
    const logger = new AppLogger('your_app_id', LogLevel.Silly);
    // Enable / Disable
    logger.enable(true);
    // Set log level
    logger.setLevel('Silly');
    // Prettify / Indent
    logger.setPretty(true);
    
    // Log
    // silly(message: string, id?: string, tags?: string[], details?: any)
    // verbose(message: string, id?: string, tags?: string[], details?: any)
    // info(message: string, id?: string, tags?: string[], details?: any)
    // warn(message: string, id?: string, tags?: string[], details?: any)
    // error(message: string, id?: string, tags?: string[], details?: any)
    logger.silly('Some log message');
    logger.error(`Error with paypal express checkout: ${orderId}`, 'MY_REQUEST_ID', ['checkout', 'paypal'], error.stack);

    Request Logger

    req.logger = logger.getRequestLogger('MY_REQUEST_ID');
    req.logger.error(`Error with paypal express checkout: ${orderId}`, ['checkout', 'paypal'], error.stack);

    Access logger

    import {AccessLogger} from '@ssense/node-logger';
    const accessLogger = new AccessLogger('your_app_id');
    // Enable / Disable
    accessLogger.enable(true);
    // Prettify / Indent
    accessLogger.setPretty(process.env.NODE_ENV === 'development');
    
    // Log
    // logRequest(req: Request, res: Response)
    accessLogger.logRequest(req, res);

    User id logging

    If your application manipulates users, you may want to log the connected user id associated to each request. This is possible with the AccessLogger setUserIdCallback method.

    This method allows you to pass a callback that will be called after each request, this callback takes in parameters the Request and Response objects. To store the corresponding user id, just be sure to return a string when this callback is called.

    Example:

    const accessLogger = new AccessLogger('your_app_id');
    accessLogger.setUserIdCallback((req, res) => {
      return req.header('customer-id');
    });

    In this case, if a request has a customer-id header, it will be logged as userId field by the AccessLogger.

    Install

    npm i @ssense/node-logger

    DownloadsWeekly Downloads

    22

    Version

    1.1.2

    License

    MIT

    Last publish

    Collaborators

    • jeegna.patel
    • jamesslomka
    • ssenses-agupta
    • expense_ssense
    • toya.okeke
    • quinnlangille
    • ssense-admin
    • kaiz
    • maxime.servonnet.ssense
    • ephremsaour
    • non-senses
    • sam-nicolai.johnston
    • carlossense
    • npm1
    • vijayrajasekar
    • dimitrios.nicolacopoulos
    • sikkavarun
    • lclemence
    • nodir.fayzullaev
    • alexnorms
    • mahdieft