Python 巨蟒哨兵:添加";“吉特责备”;每个源代码行的like前缀
如果sentry中的异常包含像git Dull这样的信息,那就太好了 如果我在sentry的一个异常中看到的每一行源代码都有一个前缀,比如Python 巨蟒哨兵:添加";“吉特责备”;每个源代码行的like前缀,python,sentry,raven,Python,Sentry,Raven,如果sentry中的异常包含像git Dull这样的信息,那就太好了 如果我在sentry的一个异常中看到的每一行源代码都有一个前缀,比如git gull(日期、提交哈希、作者),那么您可以更快地找到相关的提交 一个英国哨兵不能在开箱即用。我在哪里,怎样才能和哨兵取得联系 请留下你为什么否决这个问题的评论。我很好奇,愿意学习 只是为了记录在案。哨兵队正在做类似的事情。不完全是这样,但它确实解决了相同的用例:我建议您尝试Guthub插件,它不显示git Bull,但与Sentry版本集成,并显示一
git gull
(日期、提交哈希、作者),那么您可以更快地找到相关的提交
一个英国哨兵不能在开箱即用。我在哪里,怎样才能和哨兵取得联系
请留下你为什么否决这个问题的评论。我很好奇,愿意学习
只是为了记录在案。哨兵队正在做类似的事情。不完全是这样,但它确实解决了相同的用例:我建议您尝试Guthub插件,它不显示git Bull,但与Sentry版本集成,并显示一个适当的提交和作者,以及Github的链接
回溯由多行代码组成。您可以使用库从
git
中提取这些行的信息:
此外,您还可以使用自己的记录器,将此额外的参数添加到所有.exception()
、.error()
和.critical()
调用中
总的来说,你想要达到什么样的行为是相当模糊的,一切都是可能的。但是调用git bull
代价高昂,可能会严重影响应用程序的性能。这看起来像是对Sentry的功能请求,但不是问题?@georgexsh,因为我不知道Sentry拥有的所有功能,我无法区分功能请求或问题。我想你可以在标题或正文中至少包含一个问号(即使你觉得问题似乎很明显)。@DJV是的,你是对的。我更新了问题。很高兴知道有这样的插件存在。非常感谢。在我当前的上下文中,源代码不在github上,而是在私有(非github)repo中。是的,在应用程序主机上这样做会影响性能。在sentry内部(数据从应用程序主机传输到sentry后)是否有办法做到这一点?我相信您可以手动更改sentry数据库或创建自定义插件,如以下所示:。例如,fork和alter-Github插件@Trilliput告诉我们。还有比特桶回购。
import sys
import traceback
from git import Repo
def commit_info(file_path, line_number):
for commit, lines in Repo().blame('HEAD', file_path):
line_number -= len(lines)
if line_number <= 0:
return commit.hexsha, commit.committed_datetime, commit.author.name
try:
raise Exception('error')
except Exception:
for filename, line_number, _, _ in traceback.extract_tb(sys.exc_info()[2]):
print filename, line_number, commit_info(filename, line_number)
try:
raise Exception
except Exception:
commit = choose_one_commit()
logger.exception('Error', extra={'author': author.name, 'sha': commit.hexsha})