我刚刚安装了django-sentry,它可以很好地捕获异常.但是,由于某种原因,没有将对logger.warning和logger.error的调用保存到Sentry.
哨兵实施:
import logging
from sentry.client.handlers import SentryHandler
logger = logging.getLogger()
# ensure we havent already registered the handler
if SentryHandler not in map(lambda x: x.__class__, logger.handlers):
logger.addHandler(SentryHandler())
# Add StreamHandler to sentry's default so you can catch missed exceptions
logger = logging.getLogger('sentry.errors')
logger.propagate = False
logger.addHandler(logging.StreamHandler())
Run Code Online (Sandbox Code Playgroud)
记录器调用:
logger.warning("Category is not an integer", exc_info=sys.exc_info(), extra={'url': request.build_absolute_uri()})
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?谢谢!
我可以在Sentry中创建一个新帐户吗?怎么样?
添加用户必须:"如果用户已经拥有帐户,您可以按用户名添加用户."
TIA.
我在芹菜任务中记录到Sentry有问题.任务中的错误很好.但是,当我尝试手动记录事件时,它会记录到芹菜日志中,但不会记录到哨兵服务器上.
我正在使用的代码是:
@task
def myWorker():
logger = logging.getLogger('celery.task')
logger.addHandler(SentryHandler())
logger.warn("Some condition happened", exc_info=True, extra={ 'extra': 'data' })
Run Code Online (Sandbox Code Playgroud)
我在这里和网上发现了一些帖子,但它们似乎都已经过时了
我正在开发一个包含大量网页的现有项目.我的任务是使用sentr/raven-js引入logging og客户端脚本错误.
在文档中,它说我需要在try/catch块中包含我需要跟踪的函数 - 这对我来说很熟悉,因为我通常在C#中工作.但我不打算编辑alle页面来包装try/catch中的所有javascript函数.有没有办法记录所有错误?
我尝试了一些东西window.onError = Raven.process,但我没有得到任何好处.
有人能告诉我一个我错过的东西吗?我的设置是这样的:
var options = {
logger: 'my-test-logger',
whitelistUrls: [
/localhost/,
/localhost:2109/
]
};
Raven.config('https://<public-key-removed>@app.getsentry.com/<project-key-removed>', options).install();
window.onerror = Raven.process;
Run Code Online (Sandbox Code Playgroud) 我目前正在使用Sentry来记录Django Web应用程序中的应用程序级错误.是否可以扩展Sentry的范围以包括Web服务器错误的记录(HTTP 408超时等)?
这些请求从未到过应用程序,因此Django + Python日志记录配置永远不会看到它.但是从devops的角度来看,这些错误条件可能同样重要.
Nginx或uWSGI是否支持使用一些插件直接登录到Sentry?(Raven日志适配器?)
Sentry是否支持从Apache中捕获错误,如日志文件,syslog等?
我看到getSentry现在有React Native的崩溃报告:
https://docs.getsentry.com/hosted/clients/javascript/integrations/react-native/
我喜欢他们,因为他们很好地将异常与您的源地图相关联.但我也想抓住本机崩溃.你基本上要设置getSentry和Crashlytics吗?
这是讨论各种选项的主题:
https://github.com/facebook/react-native/issues/5378
这里有一个看似很好但有点迂回的hokeyapp解决方案:http: //blog.nparashuram.com/2015/10/crash-analytics-and-feedback-for.html
我想知道人们在生产中成功使用什么来捕获原生和javascript崩溃与详细的源地图感知报告?
我正在尝试使用简单的日志记录,并希望向Sentry发送错误/异常.
我根据文档配置了Sentry并在我的dev(python manage.py raven test)上成功运行测试
我将Sentry文档中的Logging配置添加到Django设置中
当我将此代码放入我的视图中时,它根本不起作用
import logging
logger = logging.getLogger(__name__)
logger.error('There was an error, with a stacktrace!', extra={
'stack': True,
})
Run Code Online (Sandbox Code Playgroud)
也许我错过了什么
谢谢您的帮助
LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'root': {
'level': 'WARNING',
'handlers': ['sentry'],
},
'formatters': {
'verbose': {
'format': '%(levelname)s %(asctime)s %(module)s '
'%(process)d %(thread)d %(message)s'
},
},
'handlers': {
'sentry': {
'level': 'ERROR', # To capture more than ERROR, change to WARNING, INFO, etc.
'class': 'raven.contrib.django.raven_compat.handlers.SentryHandler',
'tags': {'custom-tag': 'x'},
}, …Run Code Online (Sandbox Code Playgroud) 我有一个使用VueJs2(2.1.10)的Laravel(5.4)应用程序.我使用Sentry.io作为我们后端的错误报告,工作正常.当VueJs发生错误时,我无法捕获它,也无法将其发送给Sentry.
以下是我根据Raven设置通过NPM安装Sentry的文档:https://docs.sentry.io/clients/javascript/integrations/vue/
我在app.js中的配置如下:
import Raven from 'raven-js';
import RavenVue from 'raven-js/plugins/vue';
Raven
.config('https://[filtered]@sentry.io/[filtered]')
.addPlugin(RavenVue, Vue)
.install();
Run Code Online (Sandbox Code Playgroud)
通过webpack构建代码可以正常工作.我希望得到一些帮助的问题是为什么Vuejs没有向Sentry报告任何错误?
我试图强制一些错误,包括不存在的模板变量,http错误响应,不正确的组件声明,语法错误.所有这些错误都会导致控制台错误,但非发送到Sentry.
有关在何处开始或如何使错误报告与Sentry和Vuejs2一起使用的任何建议?提前致谢!
我想学习TypeScript.
我有一个由iftry方法event_from_exception()(Python)返回的JSON字典.
我想将它格式化为带有可扩展局部变量和pre_和post_context的漂亮HTML.结果应该大致如下:
这是json的一个例子:
{
"exception": {
"values": [
{
"stacktrace": {
"frames": [
{
"function": "main",
"abs_path": "/home/modlink_cok_d/src/sentry-json.py",
"pre_context": [
"from sentry_sdk.utils import event_from_exception",
"",
"def main():",
" local_var = 1",
" try:"
],
"lineno": 9,
"vars": {
"exc": "ValueError()",
"local_var": "1"
},
"context_line": " raise ValueError()",
"post_context": [
" except Exception as exc:",
" event, info = event_from_exception(sys.exc_info(), with_locals=True)",
" print(json.dumps(event, indent=2))",
"",
"main()"
],
"module": "__main__",
"filename": "sentry-json.py"
}
]
},
"type": "ValueError",
"value": "", …Run Code Online (Sandbox Code Playgroud) 我的哨兵设置如下:
void main() => runZonedGuarded(() {
runApp(MyApp());
}, (Object error, StackTrace stackTrace) {
reportError(error, stackTrace);
});
Run Code Online (Sandbox Code Playgroud)
及相关功能
final SentryClient sentry = new SentryClient(dsn: '<my-dsn>');
Future<void> reportError(dynamic error, dynamic stackTrace) async {
sentry.captureException(
exception: error,
stackTrace: stackTrace,
);
}
Run Code Online (Sandbox Code Playgroud)
我throw Exception("my-error")在小部件的构建方法中添加了内容,但我看不到 Sentry Web 控制台上显示的错误。
我创建了一个文件来引发异常和哨兵捕获,并且我确实看到哨兵正在报告错误。
肯定有什么问题runZonedGuarded。
sentry ×10
logging ×5
django ×2
javascript ×2
python ×2
raven ×2
celery ×1
crashlytics ×1
flutter ×1
hockeyapp ×1
json ×1
laravel-5.4 ×1
nginx ×1
react-native ×1
typescript ×1
uwsgi ×1
vuejs2 ×1
web ×1