Lisa123456
Lisa123456

Reputation: 63

Export logging in Nodejs between files

I have two files in nodejs :

  1. index.js
  2. function.js

The index.js is my main file in which i call the functions inside function.js. In function.js i need to use logging, the problem is i didn't figure out how to use it.

function.js

module.exports = {

Exemplfunciton: async () => {
    app.log('#### This is just an exemple im trying to run')
    }

checkCalcul:async(a,b) = > {
log.(`The Val of A : ${a}, the Val of B: ${b}`
return a+b
}
}

index.js

const functionToCall = require('/function.js)
module.exports = app => { 
functionToCall.Exemplfunciton()
functionToCall.checkCalcul(4,5)
}

Will return

app is not defined

tried it without the app in the function.js it returned to me

log not defined.

I only need to use the app.log between the functions ( my main one the index.js and the function.js )

Upvotes: 2

Views: 1456

Answers (3)

Todd H. Gardner
Todd H. Gardner

Reputation: 630

Consider extracting the log functionality out into its own file that can be referenced by function.js, index.js, and anything else in your app. For example:

logger.js

module.exports = {
  log: function() {
    /* aggregate logs and send to your logging service, like TrackJS.com */
  }
}

function.js

var logger = require(“./log.js”);d

module.exports = {
  exampleFunction: function() {
    logger.log(“foo bar”);
  }
};

index.js

var functions = require(“./functions.js”);
var logger = require(“./log.js”);

functions.exampleFunction();
logger.log(“foo”);

You should send the logs off to a service like TrackJS to aggregate, report, and alert you to production problems.

Upvotes: 0

Medet Tleukabiluly
Medet Tleukabiluly

Reputation: 11930

Pass as an argument

module.exports = app => { 
   functionToCall.Exemplfunciton(app) // add here
}

Then consume

module.exports = {
    Exemplfunciton: async (app) => { // add here
        app.log('#### This is just an exemple im trying to run')
    }
}

Upvotes: 2

neoney
neoney

Reputation: 96

To log in Node.js, you should use console https://nodejs.org/api/console.html

Example

module.exports = {

ExampleFunction: async () => {
    console.log('#### This is just an example I\'m trying to run')
    }
}
const functionToCall = require('./function.js')
functionToCall.ExampleFunction() // logs #### This is just an example I\'m trying to run

Upvotes: 1

Related Questions