Remote logging with Bugfender
npm install @bugfender/capacitorRemote logging, crash reporting and in-app user feedback with Bugfender and Capacitor.
This module is a plugin for Capacitor since version 4. You can use @bugfender/capacitor in Ionic projects for iOS, Android, web and electron platforms.
``bash`
npm install @bugfender/capacitor @bugfender/sdk @bugfender/common
npx cap sync
Import Bugfender like this:
`bash`
import { Bugfender } from '@bugfender/capacitor';
Note: in an Ionic/Capacitor project, always import @bugfender/capacitor instead of @bugfender/sdk.
This will enable the native features of the SDK that you wouldn't get otherwise.
Please check the following URL for a complete API reference: https://js.bugfender.com.
* init(...)
* forceSendOnce()
* getDeviceURL()
* getSessionURL()
* getUserFeedback(...)
* log(...)
* log(...)
* warn(...)
* warn(...)
* error(...)
* error(...)
* trace(...)
* trace(...)
* info(...)
* info(...)
* fatal(...)
* fatal(...)
* removeDeviceKey(...)
* sendLog(...)
* sendIssue(...)
* sendCrash(...)
* sendUserFeedback(...)
* setDeviceKey(...)
* setForceEnabled(...)
* setSDKType(...)
* Interfaces
* Type Aliases
* Enums
`typescript`
init(options: SDKOptions) => Promise
| Param | Type |
| ------------- | ------------------------------------------------- |
| options | SDKOptions |
--------------------
`typescript`
forceSendOnce() => void
--------------------
`typescript`
getDeviceURL() => Promise
Returns: Promise<string>
--------------------
`typescript`
getSessionURL() => Promise
Returns: Promise<string>
--------------------
`typescript`
getUserFeedback(options?: UserFeedbackOptions | undefined) => Promise
| Param | Type |
| ------------- | ------------------------------------------------------------------- |
| options | UserFeedbackOptions |
Returns: Promise<UserFeedbackResult>
--------------------
`typescript`
log(obj: unknown, ...objs: unknown[]) => void
| Param | Type |
| ---------- | ---------------------- |
| obj | unknown |
| objs | unknown[] |
--------------------
`typescript`
log(msg: string, ...subst: unknown[]) => void
| Param | Type |
| ----------- | ---------------------- |
| msg | string |
| subst | unknown[] |
--------------------
`typescript`
warn(obj: unknown, ...objs: unknown[]) => void
| Param | Type |
| ---------- | ---------------------- |
| obj | unknown |
| objs | unknown[] |
--------------------
`typescript`
warn(msg: string, ...subst: unknown[]) => void
| Param | Type |
| ----------- | ---------------------- |
| msg | string |
| subst | unknown[] |
--------------------
`typescript`
error(obj: unknown, ...objs: unknown[]) => void
| Param | Type |
| ---------- | ---------------------- |
| obj | unknown |
| objs | unknown[] |
--------------------
`typescript`
error(msg: string, ...subst: unknown[]) => void
| Param | Type |
| ----------- | ---------------------- |
| msg | string |
| subst | unknown[] |
--------------------
`typescript`
trace(obj: unknown, ...objs: unknown[]) => void
| Param | Type |
| ---------- | ---------------------- |
| obj | unknown |
| objs | unknown[] |
--------------------
`typescript`
trace(msg: string, ...subst: unknown[]) => void
| Param | Type |
| ----------- | ---------------------- |
| msg | string |
| subst | unknown[] |
--------------------
`typescript`
info(obj: unknown, ...objs: unknown[]) => void
| Param | Type |
| ---------- | ---------------------- |
| obj | unknown |
| objs | unknown[] |
--------------------
`typescript`
info(msg: string, ...subst: unknown[]) => void
| Param | Type |
| ----------- | ---------------------- |
| msg | string |
| subst | unknown[] |
--------------------
`typescript`
fatal(obj: unknown, ...objs: unknown[]) => void
| Param | Type |
| ---------- | ---------------------- |
| obj | unknown |
| objs | unknown[] |
--------------------
`typescript`
fatal(msg: string, ...subst: unknown[]) => void
| Param | Type |
| ----------- | ---------------------- |
| msg | string |
| subst | unknown[] |
--------------------
`typescript`
removeDeviceKey(key: string) => void
| Param | Type |
| --------- | ------------------- |
| key | string |
--------------------
`typescript`
sendLog(log: LogEntry) => void
| Param | Type |
| --------- | --------------------------------------------- |
| log | LogEntry |
--------------------
`typescript`
sendIssue(title: string, text: string) => Promise
| Param | Type |
| ----------- | ------------------- |
| title | string |
| text | string |
Returns: Promise<string>
--------------------
`typescript`
sendCrash(title: string, text: string) => Promise
| Param | Type |
| ----------- | ------------------- |
| title | string |
| text | string |
Returns: Promise<string>
--------------------
`typescript`
sendUserFeedback(title: string, text: string) => Promise
| Param | Type |
| ----------- | ------------------- |
| title | string |
| text | string |
Returns: Promise<string>
--------------------
`typescript`
setDeviceKey(key: string, value: DeviceKeyValue) => void
| Param | Type |
| ----------- | --------------------------------------------------------- |
| key | string |
| value | DeviceKeyValue |
--------------------
`typescript`
setForceEnabled(state: boolean) => void
| Param | Type |
| ----------- | -------------------- |
| state | boolean |
--------------------
`typescript`
setSDKType(sdkType: string, version: number) => void
| Param | Type |
| ------------- | ------------------- |
| sdkType | string |
| version | number |
--------------------
#### SDKOptions
| Prop | Type | Description |
| ----------------------------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| appKey | string | The app key to log into |
| apiURL | string | Base URL to Bugfender API |
| build | string | App build identifier |
| baseURL | string | Base URL to Bugfender web dashboard |
| debug | boolean | Set SDK in debug mode |
| deviceName | string | Device name, this will be shown on the dashboard devices list. Defaults to browser + OS. |
| overrideConsoleMethods | boolean | Override default window.console so it also logs to Bugfender. Defaults to true. |printToConsole
| | window.consoleboolean | Print also with when Bugfender logging methods are called. Defaults to true. |logBrowserEvents
| | trueboolean | Register a handler for most common browser events to report them to Bugfender. Defaults to . |logUIEvents
| | trueboolean | Register a handler for most common UI events to report them to Bugfender. Defaults to . |registerErrorHandler
| | trueboolean | Register error handler for uncaught errors that reports a crash to Bugfender. Defaults to . |version
| | maximumLocalStorageSizestring | App version identifier |
| | enableLogcatLoggingnumber | Set the maximum size to store local log files in bytes. Range accepted is from 1MB to 50MB. Defaults to 5MB. iOS & Android only. |
| | falseboolean | Logs all logs written via Logcat. Defaults to . Android only. |
#### UserFeedbackResultSuccess
| Prop | Type | Description |
| ----------------- | ------------------- | ------------------------------- |
| isSent | true | The user has sent the feedback. |
| feedbackURL | string | Bugfender URL for the feedback. |
#### UserFeedbackResultCancel
| Prop | Type | Description |
| ------------ | ------------------ | ------------------------------------------------- |
| isSent | false | The user has closed the modal without sending it. |
#### UserFeedbackOptions
Options object for Bugfender.getUserFeedback with customised modal strings.
| Prop | Type | Description |
| ------------------------- | ------------------- | ----------------------------------------------------------- |
| title | string | Default: Feedback. |hint
| | Please insert your feedback here and click sendstring | Default: . |subjectPlaceholder
| | Subject…string | Default: . |feedbackPlaceholder
| | Your feedback…string | Default: . |submitLabel
| | Sendstring | Default: . |closeLabel
| | Closestring | Default: . iOS only. |
#### LogEntry
Log Entry object interface
| Prop | Type | Description |
| ------------ | --------------------------------------------- | --------------------------------------------------------------------------------------------------------- |
| line | number | The line number where the log was triggered from |
| level | LogLevel | The log's level based on LogLevel constant |
| tag | string | The log's tag |
| method | string | The method name where the log was triggered from |
| file | string | The file name where the log was triggered from |
| text | string \| unknown[] | Text can be either: - string with the content - unknown[] array compatible with console.* signature |url
| | string | The log's origin URL. This attribute is ignored on Android & iOS |
#### UserFeedbackResult
UserFeedbackResultSuccess | UserFeedbackResultCancel
#### DeviceKeyValue
string | number | boolean
#### LogLevel
| Members | Value |
| ------------- | -------------- |
| Debug | 0 |
| Warning | 1 |
| Error | 2 |
| Trace | 3 |
| Info | 4 |
| Fatal` | 5 |