我是PM2和ubuntu相关问题的新手。我正在运行一个使用sudo的应用程序,语法为sudo pm2 start app.js --time。但是,当我尝试检查$HOME/.pm2/logs/app-error.log中的文件时,我找不到任何与我在代码中记录的内容相关的日志。我认为sudo pm2 start与pm2 start不同,并且日志文件仅适用于pm2 start。我的问题是,如何检查sudo pm2中的日志?
sudo
sudo pm2 start app.js --time
sudo pm2 start
pm2 start
sudo pm2
zvms9eto1#
如果以root用户身份执行pm2,则日志将存储在/root/.pm2/logs/中。sudo以root用户的身份执行命令,这也要求命令看到的主目录(称为$HOME或~)是root用户的主目录,通常是/root。因此,如果程序将日志写入用户的主目录,则日志文件的位置将取决于执行该程序的用户。
/root/.pm2/logs/
$HOME
~
/root
zlwx9yxi2#
默认情况下,pm2会将日志文件存储在~/.pm2/logs中。
lmvvr0a83#
您可以按如下方式更改日志位置:生成生态系统文件:
pm2 ecosystem simple
然后编辑生态系统文件并添加用于更改默认位置的行:
module.exports = { apps : [{ name : "My Application", script : "./myapp.js", error_file : "/var/log/pm2/myapp/err.log", out_file : "/var/log/pm2/myapp/out.log" }] }
或者,您也可以使用命令行:
pm2 start -n "My application" -o /var/log/pm2/myapp/out.log -e /var/log/pm2/myapp/err.log /path/to/my/application
ulmd4ohb4#
我相信是/root/.pm2/logs/,可能你没有用ls -a全部检查过
ls -a
4条答案
按热度按时间zvms9eto1#
如果以root用户身份执行pm2,则日志将存储在
/root/.pm2/logs/
中。sudo
以root用户的身份执行命令,这也要求命令看到的主目录(称为$HOME
或~
)是root用户的主目录,通常是/root
。因此,如果程序将日志写入用户的主目录,则日志文件的位置将取决于执行该程序的用户。
zlwx9yxi2#
默认情况下,pm2会将日志文件存储在~/.pm2/logs中。
lmvvr0a83#
您可以按如下方式更改日志位置:
生成生态系统文件:
然后编辑生态系统文件并添加用于更改默认位置的行:
或者,您也可以使用命令行:
ulmd4ohb4#
我相信是
/root/.pm2/logs/
,可能你没有用ls -a
全部检查过