violet88/bugsnag-silverstripe-vue
Composer 安装命令:
composer require violet88/bugsnag-silverstripe-vue
包简介
A module to use Bugsnag in SilverStripe projects together with Bugsnag for Vue.
README 文档
README
Requirements
- SilverStripe ^4.0
- silverstripe/framework
- bugsnag/bugsnag
- guzzlehttp/guzzle
- silverstripe/admin
Dev requirements
NPM Requirements
Installation
To install, first add the following to your composer.json
"repositories": [ { "type": "composer", "url": "https://asset-packagist.org" } ],
after that run the following command
composer require violet88/bugsnag-silverstripe-vue
After installing the composer package, it is important to install the node dependencies of the module. To make this easier add the following to your composer.json
"scripts": { "install-bugsnag-packages": [ "cd vendor/violet88/bugsnag-silverstripe-vue && npm install" ] }
And run the command:
composer install-bugsnag-packages
License
See License
Documentation
Configuration
For base use, add the following to your .env file
When running local, to prevent Bugsnag from being filled with errors, set BUGSNAG_ACTIVE to false OR do not declare it. (If not declared messages will also not be sent to Bugsnag.
BUGSNAG_API_KEY=<YOUR BUGSNAG API KEY> BUGSNAG_STANDARD_SEVERITY=<STANDARD SEVERITY LEVEL FOR BUGSNAG (info OR warning OR error)> BUGSNAG_ACTIVE=<true OR false, depending on whether bugsnag should be ACTIVE>
For using the BugsnagLogger as the standard error logger, add the following to your configuration yaml
SilverStripe\Core\Injector\Injector: Psr\Log\LoggerInterface: calls: BugsnagHandler: [pushHandler, ['%$BugsnagHandler']] BugsnagHandler: class: Violet88\BugsnagModule\BugsnagLogger constructor: - '%$Violet88\BugsnagModule\Bugsnag'
For using the CLI command to sent your current release revision to Bugsnag, add the following to your routes yaml
SilverStripe\Control\Director: rules: 'bugsnag//build': 'Violet88\BugsnagModule\BugsnagController' 'bugsnag//initial': 'Violet88\BugsnagModule\BugsnagController'
For the Vue part of the module to work you have to run:
npm install dotenv webpack webpack-bugsnag-plugins
and add the following to your webpack.mix.js
require('dotenv').config(); let webpack = require('webpack'); const { BugsnagSourceMapUploaderPlugin } = require('webpack-bugsnag-plugins'); const PACKAGE_VERSION = process.env.npm_package_version let dotenvplugin = new webpack.DefinePlugin({ 'process.env': { 'BUGSNAG_API_KEY': JSON.stringify(process.env.BUGSNAG_API_KEY), 'BUGSNAG_ACTIVE': JSON.stringify(process.env.BUGSNAG_ACTIVE), 'VERSION': JSON.stringify(PACKAGE_VERSION) } }); mix.options({legacyNodePolyfills: false}) mix.webpackConfig({ output: { library: 'BugsnagVue', libraryTarget: 'umd', umdNamedDefine: true, globalObject: 'this' }, plugins: [ dotenvplugin, new BugsnagSourceMapUploaderPlugin({ apiKey: process.env.BUGSNAG_API_KEY, appVersion: PACKAGE_VERSION ?? '1.0.0', overwrite: true, publicPath: '*' }) ] });
Also make sure you generate the sourcemaps, for example by adding .sourceMaps(true, 'source-map') between mix.js()). This could look as follows:
mix.sourceMaps(true, 'source-map').js([ `${theme}/javascript/bundle.js`, //'vendor/violet88/silverstripe-bugsnag-module-vue/src/js/BugsnagVue.js' ], `${theme}/dist/js/bundle.js`);
After that add the following to your root composer.json
"scripts": { "install-bugsnag-packages": "cd vendor/violet88/bugsnag-silverstripe-vue && npm install" }
and run the following command
composer run-script install-bugsnag-packages
Basic usage
PHP
For sending a basic error to Bugsnag, use the following code
use Violet88\BugsnagModule\Bugsnag; use Exception; use SilverStripe\Core\Injector\Injector; try{ //do something } catch (Exception $e) { $bugsnag = Injector::inst()->get(Bugsnag::class); $bugsnag->sendException($e); }
Javascript
For sending a basic error to Bugsnag, use the following code
// Here it is important that the require is pointing to the correct path. Point it to the path where you've installed the composer package. const Bugsnag = require('/vendor/Violet88/BugsnagVueModule/src/js/BugsnagVue.js'); Bugsnag.start(); try{ something.risky(); }catch(e){ Bugsnag.notify(e); }
Maintainers
- Sven van der Zwet s.vanderzwet@student.avans.nl
Bugtracker
Bugs are tracked in the issues section of this repository. Before submitting an issue please read over existing issues to ensure yours is unique.
If the issue does look like a new bug:
- Create a new issue
- Choose the issue template for 'Bugs'
- Follow the instructions in the template
Please report security issues to the module maintainers directly. Please don't file security issues in the bugtracker.
Development and contribution
If you would like to make contributions to the module please ensure you raise a pull request and discuss with the module maintainers.
Feel free to join the community on slack: Join Slack
violet88/bugsnag-silverstripe-vue 适用场景与选型建议
violet88/bugsnag-silverstripe-vue 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 138 次下载、GitHub Stars 达 0, 最近一次更新时间为 2022 年 10 月 05 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「cms」 「bugsnag」 「silverstripe」 「Violet88」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 violet88/bugsnag-silverstripe-vue 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 violet88/bugsnag-silverstripe-vue 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 violet88/bugsnag-silverstripe-vue 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Bugsnag log engine for CakePHP.
Log errors/exceptions to Bugsnag.
GraphQL authentication for your headless Craft CMS applications.
Set Links with a specific language parameter
Supercharged text field validation.
Yii1 bugsnag error handler
统计信息
- 总下载量: 138
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 19
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: BSD-3-Clause
- 更新时间: 2022-10-05