node.jspm2npm-start

Pm2 changing log file location


I have couple of questions regarding pm2


Solution

  • How can I change the location of ...log file location?

    To change pm2's log file location, there are 2 solutions: define log path as parameter when pm2 command is executed (-l, -o, -e), or start pm2 from a configuration file.

    For the parameter solution, here is an example:

    pm2 start app.js -o ./out.log -e ./err.log
    

    If you don't want to define log path every time when pm2 is executed, you can generate a configuration file, define error_file and out_file, and start pm2 from that:

    1. Generate a configuration file: pm2 ecosystem simple. This would generate a file ecosystem.config.js, with following content:

      module.exports = {
        apps : [{
          name   : "app1",
          script : "./app.js"
        }]
      }
      
    2. Define error_file (for error log) and out_file (for info log) in the file, such as:

      module.exports = {
        apps : [{
          name   : "app1",
          script : "./app.js",
          error_file : "./err.log",
          out_file : "./out.log"
        }]
      }
      
    3. Delete existing processes in pm2:

      pm2 delete <pid>
      

      You can get pid by doing:

      pm2 status
      
    4. Start the process from the configuration file:

      pm2 start ecosystem.config.js
      

    In this way, the logs are saved to ./err.log and ./out.log.

    Please refer to the document for detail information.

    Can I log the error and info in database instead of a log file?

    I didn't find any resources in official document. It seems you need to write code and save log to database yourself.