Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AWS Lambda golang从外部包记录_Go_Logging_Aws Lambda - Fatal编程技术网

AWS Lambda golang从外部包记录

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))

我开始为我的lambda函数使用外部包,它是用Golang编写的

如果有什么不同,我会使用无服务器框架

我想在每次数据库中出现错误时集中错误日志记录

但是我注意到日志没有显示在cloudwatch上。仅显示
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))
也可以工作。我一定错过了。谢谢这澄清了一些事情!