构建到文件后。我用命令
通过daemonize运行它daemonize /var/www/repo/bin/tracking_api 1>> /var/www/repo/bin/tracking_api.log
我看到它生成了一个新文件但该文件中没有任何内容。在代码我log.Print很多。
我只是知道关于GO的基本知识,请指导我记录。有没有更简单的方法来运行golang到服务器而不是使用daemonize?
答案 0 :(得分:0)
将记录器日志转换为标准错误,重定向标准错误,它将正常工作。
/var/www/repo/bin/tracking_api 2>&1 >> /var/www/repo/bin/tracking_api.log
不幸的是,daemonize
工具会关闭标准输入,输出和错误,因此唯一的解决方案是使用SetOutput函数更改日志文件。
答案 1 :(得分:0)
nohup /var/www/repo/bin/tracking_api > /var/www/repo/bin/tracking_api.log &
答案 2 :(得分:0)
你可以使用immortal基本上是一个主管,你可以像这样使用它:
immortal -l /var/www/repo/bin/tracking_api.log tracking_api
或configuration YAML文件,为您提供更多选项,例如:
cmd: tracking_api
log:
file: /var/www/repo/bin/tracking_api.log
age: 86400 # seconds
num: 7 # int
size: 1 # MegaBytes
timestamp: true # will add timesamp to log
如果您想在单独的文件中保留标准错误输出,可以使用以下内容:
cmd: tracking_api
log:
file: /var/www/repo/bin/tracking_api.log
age: 86400 # seconds
num: 7 # int
size: 1 # MegaBytes
stderr:
file: /var/www/repo/bin/tracking_api.log
age: 86400 # seconds
num: 7 # int
size: 1 # MegaBytes
timestamp: true # will add timesamp to log