AWS Lambda golang从外部包记录
我开始为我的lambda函数使用外部包,它是用Golang编写的 如果有什么不同,我会使用无服务器框架 我想在每次数据库中出现错误时集中错误日志记录 但是我注意到日志没有显示在cloudwatch上。仅显示AWS Lambda golang从外部包记录,go,logging,aws-lambda,Go,Logging,Aws Lambda,我开始为我的lambda函数使用外部包,它是用Golang编写的 如果有什么不同,我会使用无服务器框架 我想在每次数据库中出现错误时集中错误日志记录 但是我注意到日志没有显示在cloudwatch上。仅显示main包中的日志 这是我的密码 package response func ServerError(err error) (events.APIGatewayProxyResponse, error) { log.Print(fmt.Errorf("ERROR: %v", err))
main
包中的日志
这是我的密码
package response
func ServerError(err error) (events.APIGatewayProxyResponse, error) {
log.Print(fmt.Errorf("ERROR: %v", err))
return Custom(500, "Internal Server Error", nil)
}
我也试过了
package response
func ServerError(err error) (events.APIGatewayProxyResponse, error) {
fmt.Println(fmt.Errorf("ERROR: %v", err))
return Custom(500, "Internal Server Error", nil)
}
我的问题是如何在主包之外启用lambda登录
谢谢
编辑
事实证明,
log.Print(fmt.Errorf(“ERROR:%v”,err))
也可以工作。上次我一定错过了。在无服务器框架中,任何打印到std.out/std err的内容都将写入cloudwatch日志。因此,您所要做的就是将错误写入std.err
fmt.Fprintf(os.Stderr,“日志消息:%s”,str)
这篇文章涉及到写std.err
事实证明,
log.Print(fmt.Errorf(“ERROR:%v”,err))
也可以工作。我一定错过了。谢谢这澄清了一些事情!