UNPKG

nuxt-browser-console

Version:

show server-side & clinet-side logs/errors/warnings inside browser console

129 lines (90 loc) 3.82 kB
# nuxt-browser-console [![npm version][npm-version-src]][npm-version-href] [![npm downloads][npm-downloads-src]][npm-downloads-href] [![Github Actions CI][github-actions-ci-src]][github-actions-ci-href] [![Codecov][codecov-src]][codecov-href] [![License][license-src]][license-href] > receive server-side and client-side logs/errors/warnings inside the browser console <br> With this module, you can use browser console methods. No matter you are using this module inside the server or client, the messages are always shown in the browser console. A good and cheap way to monitoring server events in the production environment (for example, Axios request and response information can be logged into the browser console). [📖 **Release Notes**](./CHANGELOG.md) ## Setup 1. Add `nuxt-browser-console` dependency with `yarn` or `npm` to your project ```bash yarn add nuxt-browser-console # or npm install nuxt-browser-console ``` 2. Add `nuxt-browser-console` to the `modules` section of `nuxt.config.js` ```js { modules: [ // Simple usage 'nuxt-browser-console', // With options ['nuxt-browser-console', { /* module options */ }] ], browserConsole: { /* module options */ } } ``` ## Options Module default options: | Option | Default | Description | | ------ | ------- | ----------- | | namespace | `console` | the namespace of the module. `this.$console.log(...)` or `$console.log(...)` inserted fom nuxt [context](https://nuxtjs.org/docs/2.x/concepts/context-helpers) | ```js { browserConsole: { namespace: 'console' } } ``` ## Usage You can simply use this module through `this` or context `$console` almost every where in your Nuxt app. ```js this.$console.log(...args) ``` Available methods: ```js $console.log(obj1 [, obj2, ..., objN]) $console.info(obj1 [, obj2, ..., objN]) $console.warn(obj1 [, obj2, ..., objN]) $console.error(obj1 [, obj2, ..., objN]) $console.clear() $console.groupCollapsed([label]) $console.groupEnd() ``` An example to show how to use this module to log some data inside the browser (no matter server-side/client-side). ```js export default function ({$axios, $console}) { const style = "background: #d32f2f;border-radius: 0.5em;color: white;font-weight: bold;padding: 2px 0.5em;"; $axios.interceptors.response.use((x) => { $console.groupCollapsed('', `%cRequest to ${x.config.url.split("?")[0]}`, style); $console.info('URL:', `${x.config.baseURL}${x.config.url}`); $console.info('Method:', x.config.method.toUpperCase()); $console.info('Status:', `${x.statusText || 'OK'} (${x.status})`); $console.groupEnd(); return x; }); } ``` ## Development 1. Clone this repository 2. Install dependencies using `yarn install` or `npm install` 3. Start development server using `yarn dev` or `npm run dev` ## Todo * [ ] error stack trace correction * [x] module separation ## License [MIT License](./LICENSE) Copyright (c) Mohammad Saleh Fadaei ([@ms-fadaei](https://github.com/ms-fadaei)) <!-- Badges --> [npm-version-src]: https://img.shields.io/npm/v/nuxt-browser-console/latest.svg [npm-version-href]: https://npmjs.com/package/nuxt-browser-console [npm-downloads-src]: https://img.shields.io/npm/dt/nuxt-browser-console.svg [npm-downloads-href]: https://npmjs.com/package/nuxt-browser-console [github-actions-ci-src]: https://github.com/ms-fadaei/nuxt-browser-console/workflows/ci/badge.svg [github-actions-ci-href]: https://github.com/ms-fadaei/nuxt-browser-console/actions?query=workflow%3Aci [codecov-src]: https://img.shields.io/codecov/c/github/ms-fadaei/nuxt-browser-console.svg [codecov-href]: https://codecov.io/gh/ms-fadaei/nuxt-browser-console [license-src]: https://img.shields.io/npm/l/nuxt-browser-console.svg [license-href]: https://npmjs.com/package/nuxt-browser-console