服务器上go errors输出的log在哪里查看?

ameyume
博客专家认证
2019-08-14 03:24:10
如题,生成log的代码如下,那么,生成的log输出到哪里了呢?
func (c *Collider) wsHandler(ws *websocket.Conn) {
...
c.wsError("ping: Client not registered", ws)
...


func (c *Collider) wsError(msg string, ws *websocket.Conn) {
err := errors.New(msg)
sendServerErr(ws, msg)
c.dash.onWsErr(err)
}


collidermain_supervisor.log 文件中只有 log.Printf 输出的log,没有 errors 的log。

supervisord.conf配置文件中有设置redirect_stderr=true
配置如下:
redirect_stderr=true
stdout_logfile_maxbytes = 20MB
stdout_logfile_backups = 20
stdout_logfile = /data/log/xxxx/collidermain_supervisor.log

初学go,请各位大佬不吝赐教。
...全文
429 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
fwhezfwhez 2019-09-19
  • 打赏
  • 举报
回复
程序里控制台的输出,可以在 /data/log/xxxx/collidermain_supervisor.log这里看

至于错误是否输出到控制台,这取决于,你贴的c.dash.OnWsErr(err) 内部的逻辑了

错误处理大抵上,无非就是输出到控制台,上报给其他服务
qybao 2019-08-15
  • 打赏
  • 举报
回复
不知道你用的什么框架,框架里有没有给你实现errors的输出
首先,个人理解,你的log文件想要输出什么信息,应该由你去控制
也就是说,你的err := errors.New(msg),要想输出这个err,至少你的代码里有log.Printf(err)或log.Errorf(err)
至于redirect_stderr=true,我觉得不是你程序级别的errors,而是当你程序执行时有什么错误的时候,错误信息会重定向到你的log,这个是系统运行的log,不是你业务上的errors log

2,190

社区成员

发帖
与我相关
我的任务
社区描述
go语言学习与交流版
社区管理员
  • go语言社区
  • Freeman Z
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧