哨兵的 sourcemaps/artifacts 不起作用
Sentry's sourcemaps/artifacts don't work
我正在使用 webpack 构建、缩小和生成我的应用程序的源映射。使用 webpack-sentry-plugin 将工件发送到 sentry.io。
javascript 代码是 运行 来自 localhost:8080/js/app.js
。它在末尾包含 //# sourceMappingURL=app.js.map
。 Sourcemaps 在 Chrome devtools 上正常工作。
Sentry 的 Releases/Artifacts 包含以下文件:
js/app.js
js/app.js.map
无论如何,当 Sentry 记录错误时,堆栈跟踪来自缩小文件。它没有使用 sourcemaps。
我的设置有什么问题?或者我应该提供哪些其他信息以获得帮助?
我在 forum.sentry.io 上发布了这个问题,并从一个叫 @benvinegar 的人那里得到了答案。
事情是这样的:发送 sourcemap/artifact 时,我们提供文件和文件名。文件名应该是完整的 URL 如果源映射与缩小的 JS 文件一起上传到主机,则源映射所在的位置。也就是说:如果我们的缩小 Javascript 位于 www.example.com/js/app.js
,那么 sourcemap/artifact 文件名必须是 www.example.com/js/app.js.map
。否则,如果我们希望 sourcemap 应用于其他情况,例如 运行 localhost:8080/js/app.js
.
的应用程序,我们可以将其命名为 ~/js/app.js.map
因为我正在使用 webpack-sentry-plugin
,所以只需将以下 属性 添加到插件中即可:
{
plugins: [
new SentryPlugin({
filenameTransform: filename => '~/' + filename
})
]
}
在我们的例子中,它已经很久没有工作了。
一切似乎都很好。已上传工件、标记版本、记录错误,但没有源映射。
问题底线:我们自己托管Sentry,sentry被分到不同的容器中。他们没有正确共享数据。
一种解决方案是在容器之间共享数据(参见 that post)或者甚至将您的源映射上传到 S3 服务器,Sentry 也可以使用它。
我正在使用 webpack 构建、缩小和生成我的应用程序的源映射。使用 webpack-sentry-plugin 将工件发送到 sentry.io。
javascript 代码是 运行 来自 localhost:8080/js/app.js
。它在末尾包含 //# sourceMappingURL=app.js.map
。 Sourcemaps 在 Chrome devtools 上正常工作。
Sentry 的 Releases/Artifacts 包含以下文件:
js/app.js
js/app.js.map
无论如何,当 Sentry 记录错误时,堆栈跟踪来自缩小文件。它没有使用 sourcemaps。
我的设置有什么问题?或者我应该提供哪些其他信息以获得帮助?
我在 forum.sentry.io 上发布了这个问题,并从一个叫 @benvinegar 的人那里得到了答案。
事情是这样的:发送 sourcemap/artifact 时,我们提供文件和文件名。文件名应该是完整的 URL 如果源映射与缩小的 JS 文件一起上传到主机,则源映射所在的位置。也就是说:如果我们的缩小 Javascript 位于 www.example.com/js/app.js
,那么 sourcemap/artifact 文件名必须是 www.example.com/js/app.js.map
。否则,如果我们希望 sourcemap 应用于其他情况,例如 运行 localhost:8080/js/app.js
.
~/js/app.js.map
因为我正在使用 webpack-sentry-plugin
,所以只需将以下 属性 添加到插件中即可:
{
plugins: [
new SentryPlugin({
filenameTransform: filename => '~/' + filename
})
]
}
在我们的例子中,它已经很久没有工作了。
一切似乎都很好。已上传工件、标记版本、记录错误,但没有源映射。
问题底线:我们自己托管Sentry,sentry被分到不同的容器中。他们没有正确共享数据。
一种解决方案是在容器之间共享数据(参见 that post)或者甚至将您的源映射上传到 S3 服务器,Sentry 也可以使用它。