搭建Sentry本地服务
Sentry的服务器在国外,使用官网(https://sentry.io./_/captchav2/),一般情况下是无法在开发者账号中创建应用的,官方给我们提供了一套搭建本地Sentry服务端的项目(https://github.com/getsentry/self-hosted。
首先我们需要安装一个dock
桌面,mac的下载地址为https://docs.docker.com/desktop/install/mac-install/
dock
桌面 安装成功后,在项目中执行./install.sh
,.Fetching and updating Docker images ...
这个需要执行好长时间,如果不使用国内镜像,非常慢的,笔者用了8小时。
执行成功后设置开发者账号,设置成功后可以在项目config.yml
文件中查看。
# mail.backend: 'smtp' # Use dummy if you want to disable email entirely
# mail.host: 'smtp'
# mail.port: 25
# mail.username: 'xxx7@qq.com'
# mail.password: 'xxxxx'
# mail.use-tls: false
# mail.use-ssl: false
最后使用docker-compose
来管理Sentry的启动和关闭 。
启动Sentry docker-compose up -d --remove-orphans
启动完成后 在浏览器输入 http://localhost:9000/auth/login/sentry/,打开后进入如下的界面:
这样我们就搭建成功Sentry
的本地服务了!!!
Flutter使用Sentry
1 创建应用
在浏览器输入http://localhost:9000/auth/login/sentry/,登录开发者账号,
下面我们就可以创建flutter应用了。如下图
然后在我的工程中,就可以找到我们刚才创建的应用了。
2 flutter项目中集成SentrySDK
sentry: ^6.18.1
笔者用的是6 .18.1版本,SDK的升级还是很频繁的,目前已经到了7.4.2版本了。https://pub.dev/packages/sentry。
3 flutter工程中使用Sentry
Future<void> main() async {
runZonedGuarded(() async {
await Sentry.init((options) => options.dsn =
"http://948222677700454f891c345bc7d6c15d@localhost:9000/2");
initApp();
}, (exception, stackTrace) async {
await Sentry.captureException(exception, stackTrace: stackTrace);
// initApp();
});
}
这里的dsn是在应用中获取:
dsn
结语
和国内的日志平台相比,Sentry
非常强大,日志种类全面,分类明确,集成也简单,支持平台几乎涵盖了所有主流平台,在安全允许的情况下,完全可以考虑搭建公司的Sentry
日志服务。
网友评论