<!doctypehtml><meta charset=utf-8><meta content="text/html; charset=utf-8"http-equiv=Content-Type><title>
   Debugging · GitBook
  </title><meta content=IE=edge http-equiv=X-UA-Compatible><meta name=description><meta content="GitBook 3.2.3"name=generator><link href=../../gitbook/style.css rel=stylesheet><link href=../../gitbook/gitbook-plugin-feathers-versions/plugin.css rel=stylesheet><link href=../../gitbook/gitbook-plugin-advanced-emoji/emoji-website.css rel=stylesheet><link href=../../gitbook/gitbook-plugin-highlight/website.css rel=stylesheet><link href=../../gitbook/gitbook-plugin-search/search.css rel=stylesheet><link href=../../gitbook/gitbook-plugin-fontsettings/website.css rel=stylesheet><link href=../../styles/website.css rel=stylesheet><meta content=true name=HandheldFriendly><meta content=width=device-width,initial-scale=1,user-scalable=no name=viewport><meta content=yes name=apple-mobile-web-app-capable><meta content=black name=apple-mobile-web-app-status-bar-style><link href=../../gitbook/images/apple-touch-icon-precomposed-152.png rel=apple-touch-icon-precomposed sizes=152x152><link rel="shortcut icon"href=../../gitbook/images/favicon.ico type=image/x-icon><link href=configuration.html rel=next><link href=readme.html rel=prev><style>.legacy-warning {
      border: none !important;
      background-color: #ff7d7d;
    }

    .legacy-warning strong {
      color: #ccc !important;
    }

    .legacy-warning a {
      color: #fff !important;
    }</style><body><div class=book><div class=book-summary><div id=book-search-input role=search><input placeholder="Type to search"></div><nav role=navigation><ul class=summary><li class=chapter data-level=1.1 data-path=../../><a href=../../> Introduction </a><li class=chapter data-level=1.2 data-path=../readme.html><a href=../readme.html> Guides </a> <ul class=articles><li class=chapter data-level=1.2.1 data-path=../about/readme.html><a href=../about/readme.html> About Feathers </a> <ul class=articles><li class=chapter data-level=1.2.1.1 data-path=../about/features.html><a href=../about/features.html> Features </a><li class=chapter data-level=1.2.1.2 data-path=../about/philosophy.html><a href=../about/philosophy.html> Philosophy </a><li class=chapter data-level=1.2.1.3 data-path=../about/vs.html><a href=../about/vs.html> Feathers vs. X </a></ul><li class=chapter data-level=1.2.2 data-path=../step-by-step/readme.html><a href=../step-by-step/readme.html> The Basics </a> <ul class=articles><li class=chapter data-level=1.2.2.1 data-path=../step-by-step/intro/readme.html><a href=../step-by-step/intro/readme.html> Introduction </a><li class=chapter data-level=1.2.2.2 data-path=../step-by-step/intro/not-worry.html><a href=../step-by-step/intro/not-worry.html> What not to worry about </a><li class=chapter data-level=1.2.2.3 data-path=../step-by-step/preliminaries.html><a href=../step-by-step/preliminaries.html> Installing the Examples </a><li class=chapter data-level=1.2.2.4 data-path=../step-by-step/basic-feathers/readme.html><a href=../step-by-step/basic-feathers/readme.html> Basic Feathers </a><li class=chapter data-level=1.2.2.5 data-path=../step-by-step/basic-feathers/database-connector.html><a href=../step-by-step/basic-feathers/database-connector.html> A database connector </a><li class=chapter data-level=1.2.2.6 data-path=../step-by-step/basic-feathers/rest-api-server.html><a href=../step-by-step/basic-feathers/rest-api-server.html> A REST API server </a><li class=chapter data-level=1.2.2.7 data-path=../step-by-step/basic-feathers/rest-client.html><a href=../step-by-step/basic-feathers/rest-client.html> A Feathers REST client </a><li class=chapter data-level=1.2.2.8 data-path=../step-by-step/basic-feathers/socket-client.html><a href=../step-by-step/basic-feathers/socket-client.html> A Feathers WebSocket client </a><li class=chapter data-level=1.2.2.9 data-path=../step-by-step/basic-feathers/a-ha.html><a href=../step-by-step/basic-feathers/a-ha.html> The "a-ha!" moment </a><li class=chapter data-level=1.2.2.10 data-path=../step-by-step/basic-feathers/hooks-middleware.html><a href=../step-by-step/basic-feathers/hooks-middleware.html> Hooks middleware </a><li class=chapter data-level=1.2.2.11 data-path=../step-by-step/basic-feathers/all-about-hooks.html><a href=../step-by-step/basic-feathers/all-about-hooks.html> All about hooks </a><li class=chapter data-level=1.2.2.12 data-path=../step-by-step/basic-feathers/hooks-1.html><a href=../step-by-step/basic-feathers/hooks-1.html> Hooks, part 1 </a><li class=chapter data-level=1.2.2.13 data-path=../step-by-step/basic-feathers/hooks-2.html><a href=../step-by-step/basic-feathers/hooks-2.html> Hooks, part 2 </a><li class=chapter data-level=1.2.2.14 data-path=../step-by-step/basic-feathers/writing-hooks.html><a href=../step-by-step/basic-feathers/writing-hooks.html> Writing your own hooks </a><li class=chapter data-level=1.2.2.15 data-path=../step-by-step/basic-feathers/testing-hooks.html><a href=../step-by-step/basic-feathers/testing-hooks.html> Testing hooks </a><li class=chapter data-level=1.2.2.16 data-path=../step-by-step/basic-feathers/real-time.html><a href=../step-by-step/basic-feathers/real-time.html> Real-time </a></ul><li class=chapter data-level=1.2.3 data-path=../step-by-step/generators/readme.html><a href=../step-by-step/generators/readme.html> The Generator (CLI) </a> <ul class=articles><li class=chapter data-level=1.2.3.1 data-path=../step-by-step/generators/gen-app.html><a href=../step-by-step/generators/gen-app.html> Generate the application </a><li class=chapter data-level=1.2.3.2 data-path=../step-by-step/generators/gen-authentication.html><a href=../step-by-step/generators/gen-authentication.html> Add authentication </a><li class=chapter data-level=1.2.3.3 data-path=../step-by-step/generators/gen-service.html><a href=../step-by-step/generators/gen-service.html> Add the teams service </a><li class=chapter data-level=1.2.3.4 data-path=../step-by-step/generators/gen-hook.html><a href=../step-by-step/generators/gen-hook.html> Add the populate hook </a><li class=chapter data-level=1.2.3.5 data-path=../step-by-step/generators/gen-run.html><a href=../step-by-step/generators/gen-run.html> Run the application </a></ul><li class=chapter data-level=1.2.4 data-path=../chat/readme.html><a href=../chat/readme.html> A Chat Application </a> <ul class=articles><li class=chapter data-level=1.2.4.1 data-path=../chat/creating.html><a href=../chat/creating.html> Creating the application </a><li class=chapter data-level=1.2.4.2 data-path=../chat/service.html><a href=../chat/service.html> Generating a service </a><li class=chapter data-level=1.2.4.3 data-path=../chat/frontend.html><a href=../chat/frontend.html> Building a frontend </a><li class=chapter data-level=1.2.4.4 data-path=../chat/authentication.html><a href=../chat/authentication.html> Adding authentication </a><li class=chapter data-level=1.2.4.5 data-path=../chat/processing.html><a href=../chat/processing.html> Processing data </a></ul><li class=chapter data-level=1.2.5 data-path=../frameworks/readme.html><a href=../frameworks/readme.html> Frameworks </a> <ul class=articles><li class=chapter data-level=1.2.5.1><span> React and React Native </span><li class=chapter data-level=1.2.5.2><span> VueJS </span><li class=chapter data-level=1.2.5.3><span> Angular </span><li class=chapter data-level=1.2.5.4><span> Others </span></ul><li class=chapter data-level=1.2.6 data-path=../auth/readme.html><a href=../auth/readme.html> Authentication </a> <ul class=articles><li class=chapter data-level=1.2.6.1 data-path=../auth/how-jwt-works.html><a href=../auth/how-jwt-works.html> How JWT works </a><li class=chapter data-level=1.2.6.2><a href=https://github.com/feathersjs/feathers-authentication/blob/master/docs/new-1.0-features.md target=_blank> What's New (external link) </a><li class=chapter data-level=1.2.6.3><a href=https://github.com/feathersjs/feathers-authentication/blob/master/docs/migrating.md target=_blank> Migration Guide (external link) </a><li class=chapter data-level=1.2.6.4 data-path=../auth/recipe.customize-response.html><a href=../auth/recipe.customize-response.html> Recipe: Custom Login Response </a><li class=chapter data-level=1.2.6.5 data-path=../auth/recipe.customize-jwt-payload.html><a href=../auth/recipe.customize-jwt-payload.html> Recipe: Custom JWT Payload </a><li class=chapter data-level=1.2.6.6 data-path=../auth/recipe.mixed-auth.html><a href=../auth/recipe.mixed-auth.html> Recipe: Mixed Auth Endpoints </a><li class=chapter data-level=1.2.6.7 data-path=../auth/recipe.oauth-basic.html><a href=../auth/recipe.oauth-basic.html> Recipe: Basic OAuth </a><li class=chapter data-level=1.2.6.8 data-path=../auth/recipe.custom-auth-strategy.html><a href=../auth/recipe.custom-auth-strategy.html> Recipe: Custom Auth Strategies </a></ul><li class=chapter data-level=1.2.7 data-path=../offline-first/readme.html><a href=../offline-first/readme.html> Offline first </a> <ul class=articles><li class=chapter data-level=1.2.7.1 data-path=../offline-first/strategies.html><a href=../offline-first/strategies.html> Strategies </a><li class=chapter data-level=1.2.7.2 data-path=../offline-first/snapshot.html><a href=../offline-first/snapshot.html> Snapshot </a><li class=chapter data-level=1.2.7.3 data-path=../offline-first/realtime.html><a href=../offline-first/realtime.html> Realtime </a><li class=chapter data-level=1.2.7.4 data-path=../offline-first/optimistic-mutation.html><a href=../offline-first/optimistic-mutation.html> Optimistic mutation </a><li class=chapter data-level=1.2.7.5 data-path=../offline-first/owndata-ownnet.html><a href=../offline-first/owndata-ownnet.html> Own-data, own-net </a><li class=chapter data-level=1.2.7.6 data-path=../offline-first/syncdata-syncnet.html><a href=../offline-first/syncdata-syncnet.html> Sync-data, sync-net </a><li class=chapter data-level=1.2.7.7 data-path=../offline-first/configure-snapshot.html><a href=../offline-first/configure-snapshot.html> Configure snapshot </a><li class=chapter data-level=1.2.7.8 data-path=../offline-first/configure-realtime.html><a href=../offline-first/configure-realtime.html> Configure realtime </a><li class=chapter data-level=1.2.7.9 data-path=../offline-first/configure-publication.html><a href=../offline-first/configure-publication.html> Configure publication </a><li class=chapter data-level=1.2.7.10 data-path=../offline-first/example-snapshot.html><a href=../offline-first/example-snapshot.html> Example snapshot </a><li class=chapter data-level=1.2.7.11 data-path=../offline-first/example-realtime.html><a href=../offline-first/example-realtime.html> Example realtime & publication </a><li class=chapter data-level=1.2.7.12 data-path=../offline-first/example-optimistic.html><a href=../offline-first/example-optimistic.html> Example optimistic mutation </a><li class=chapter data-level=1.2.7.13 data-path=../offline-first/example-tests.html><a href=../offline-first/example-tests.html> Tests as examples </a><li class=chapter data-level=1.2.7.14 data-path=../offline-first/example-more.html><a href=../offline-first/example-more.html> More examples </a></ul><li class=chapter data-level=1.2.8 data-path=readme.html><a href=readme.html> Advanced topics </a> <ul class=articles><li class="chapter active"data-level=1.2.8.1 data-path=debugging.html><a href=debugging.html> Debugging </a><li class=chapter data-level=1.2.8.2 data-path=configuration.html><a href=configuration.html> Configuration </a><li class=chapter data-level=1.2.8.3 data-path=file-uploading.html><a href=file-uploading.html> File uploads </a><li class=chapter data-level=1.2.8.4 data-path=creating-a-plugin.html><a href=creating-a-plugin.html> Creating a Feathers plugin </a><li class=chapter data-level=1.2.8.5 data-path=seeding-services.html><a href=seeding-services.html> Seeding services </a><li class=chapter data-level=1.2.8.6 data-path=using-a-view-engine.html><a href=using-a-view-engine.html> Using a view engine </a><li class=chapter data-level=1.2.8.7 data-path=scaling.html><a href=scaling.html> Scaling </a></ul></ul><li class=chapter data-level=1.3 data-path=../../api/readme.html><a href=../../api/readme.html> API </a> <ul class=articles><li class=chapter data-level=1.3.1><span> Core </span> <ul class=articles><li class=chapter data-level=1.3.1.1 data-path=../../api/application.html><a href=../../api/application.html> Application </a><li class=chapter data-level=1.3.1.2 data-path=../../api/services.html><a href=../../api/services.html> Services </a><li class=chapter data-level=1.3.1.3 data-path=../../api/hooks.html><a href=../../api/hooks.html> Hooks </a><li class=chapter data-level=1.3.1.4 data-path=../../api/hooks-common.html><a href=../../api/hooks-common.html> Common Hooks </a><li class=chapter data-level=1.3.1.5 data-path=../../api/client.html><a href=../../api/client.html> Client </a><li class=chapter data-level=1.3.1.6 data-path=../../api/events.html><a href=../../api/events.html> Events </a><li class=chapter data-level=1.3.1.7 data-path=../../api/errors.html><a href=../../api/errors.html> Errors </a></ul><li class=chapter data-level=1.3.2><span> Transports </span> <ul class=articles><li class=chapter data-level=1.3.2.1 data-path=../../api/rest.html><a href=../../api/rest.html> REST </a><li class=chapter data-level=1.3.2.2 data-path=../../api/express.html><a href=../../api/express.html> Express </a><li class=chapter data-level=1.3.2.3 data-path=../../api/socketio.html><a href=../../api/socketio.html> Socket.io </a><li class=chapter data-level=1.3.2.4 data-path=../../api/primus.html><a href=../../api/primus.html> Primus </a></ul><li class=chapter data-level=1.3.3><span> Authentication </span> <ul class=articles><li class=chapter data-level=1.3.3.1 data-path=../../api/authentication/server.html><a href=../../api/authentication/server.html> Server </a><li class=chapter data-level=1.3.3.2 data-path=../../api/authentication/client.html><a href=../../api/authentication/client.html> Client </a><li class=chapter data-level=1.3.3.3 data-path=../../api/authentication/local.html><a href=../../api/authentication/local.html> Local </a><li class=chapter data-level=1.3.3.4 data-path=../../api/authentication/local-management.html><a href=../../api/authentication/local-management.html> Local management </a><li class=chapter data-level=1.3.3.5 data-path=../../api/authentication/jwt.html><a href=../../api/authentication/jwt.html> JWT </a><li class=chapter data-level=1.3.3.6 data-path=../../api/authentication/oauth1.html><a href=../../api/authentication/oauth1.html> OAuth1 </a><li class=chapter data-level=1.3.3.7 data-path=../../api/authentication/oauth2.html><a href=../../api/authentication/oauth2.html> OAuth2 </a><li class=chapter data-level=1.3.3.8 data-path=../../api/authentication/hooks.html><a href=../../api/authentication/hooks.html> Hooks </a></ul><li class=chapter data-level=1.3.4><span> Databases </span> <ul class=articles><li class=chapter data-level=1.3.4.1 data-path=../../api/databases/common.html><a href=../../api/databases/common.html> Common API </a><li class=chapter data-level=1.3.4.2 data-path=../../api/databases/querying.html><a href=../../api/databases/querying.html> Querying </a><li class=chapter data-level=1.3.4.3 data-path=../../api/databases/memory.html><a href=../../api/databases/memory.html> Memory </a><li class=chapter data-level=1.3.4.4 data-path=../../api/databases/nedb.html><a href=../../api/databases/nedb.html> NeDb </a><li class=chapter data-level=1.3.4.5 data-path=../../api/databases/localstorage.html><a href=../../api/databases/localstorage.html> LocalStorage </a><li class=chapter data-level=1.3.4.6 data-path=../../api/databases/mongodb.html><a href=../../api/databases/mongodb.html> MongoDB </a><li class=chapter data-level=1.3.4.7 data-path=../../api/databases/mongoose.html><a href=../../api/databases/mongoose.html> Mongoose </a><li class=chapter data-level=1.3.4.8 data-path=../../api/databases/sequelize.html><a href=../../api/databases/sequelize.html> Sequelize </a><li class=chapter data-level=1.3.4.9 data-path=../../api/databases/knexjs.html><a href=../../api/databases/knexjs.html> Knex </a><li class=chapter data-level=1.3.4.10 data-path=../../api/databases/rethinkdb.html><a href=../../api/databases/rethinkdb.html> RethinkDB </a><li class=chapter data-level=1.3.4.11 data-path=../../api/databases/elasticsearch.html><a href=../../api/databases/elasticsearch.html> Elasticsearch </a></ul></ul><li class=chapter data-level=1.4 data-path=../../SECURITY.html><a href=../../SECURITY.html> Security </a><li class=chapter data-level=1.5 data-path=../../ecosystem/readme.html><a href=../../ecosystem/readme.html> Ecosystem </a><li class=chapter data-level=1.6 data-path=../../help/readme.html><a href=../../help/readme.html> Help </a><li class=chapter data-level=1.7 data-path=../../faq/readme.html><a href=../../faq/readme.html> FAQ </a><li class=chapter data-level=1.8 data-path=../../contributing/readme.html><a href=../../contributing/readme.html> Contributing </a><li class=chapter data-level=1.9 data-path=../../license.html><a href=../../license.html> License </a><li class=divider><li><a class=gitbook-link href=https://www.gitbook.com target=blank> Published with GitBook </a></ul></nav></div><div class=book-body><div class=body-inner><div class=book-header role=navigation><h1><i class="fa fa-circle-o-notch fa-spin"> </i> <a href=../..> Debugging </a></h1></div><div class=page-wrapper role=main tabindex=-1><div class=page-inner><div id=book-search-results><div class=search-noresults><section class="normal markdown-section"><blockquote class=legacy-warning><p><strong> Important: </strong> This is the documentation for a previous version of Feathers. <br> For the latest documentation please visit <a href=https://docs.feathersjs.com> docs.feathersjs.com </a> .</blockquote><h1 id=debugging-your-feathers-app>Debugging your Feathers app</h1><p>You can debug your Feathers app the same as you would any other Node app. There are <a href=https://spin.atomicobject.com/2015/09/25/debug-node-js/ target=_blank> a few different options </a> you can resort to. NodeJS has a <a href=https://nodejs.org/api/debugger.html target=_blank> built in debugger </a> that works really well by simply running:<pre><code class=lang-bash>node debug src/
</code></pre><h2 id=debugging-with-visual-studio-code>Debugging with Visual Studio Code</h2><p><a href=https://blog.feathersjs.com/debugging-feathers-with-visual-studio-code-406e6adf2882 target=_blank> <strong> Debugging Feathers with Visual Studio Code </strong> </a> <br> Learn how to setup an excellent, free debugger for your Feathers application. This guide also covers some basics for those who are new to debugging and/or Feathers.<h2 id=moar-logs>Moar Logs!</h2><p>In addition to setting breakpoints we also use the fabulous <a href=https://github.com/visionmedia/debug target=_blank> debug </a> module throughout Feathers core and many of the plug-ins. This allows you to get visibility into what is happening inside all of Feathers by simply setting a <code>
            DEBUG
           </code> environmental variable to the scope of modules that you want visibility into.<ul><li><p>Debug logs for all the things</p> <pre><code class=lang-bash>  DEBUG=* npm start
</code></pre><li><p>Debug logs for all Feathers modules</p> <pre><code class=lang-bash>  DEBUG=feathers* npm start
</code></pre><li><p>Debug logs for a specific module</p> <pre><code class=lang-bash>  DEBUG=feathers-authentication* npm start
</code></pre><li><p>Debug logs for a specific part of a module</p> <pre><code class=lang-bash>  DEBUG=feathers-authentication:middleware npm start
</code></pre></ul><h2 id=using-hooks>Using Hooks</h2><p>Since <a href=../../api/hooks.html> hooks </a> can be registered dynamically anywhere in your app, using them to debug your state at any point in the hook chain (either before or after a service call) is really handy. For example,<pre><code class=lang-js><span class=hljs-keyword>const</span> hooks = <span class=hljs-built_in>require</span>(<span class=hljs-string>'feathers-authentication'</span>).hooks;

<span class=hljs-keyword>const</span> myDebugHook = <span class=hljs-function><span class=hljs-keyword>function</span>(<span class=hljs-params>hook</span>) </span>{
  <span class=hljs-comment>// check to see what is in my hook object after</span>
  <span class=hljs-comment>// the token was verified.</span>
  <span class=hljs-built_in>console</span>.log(hook);
};

<span class=hljs-comment>// Must be logged in do anything with messages.</span>
app.service(<span class=hljs-string>'messages'</span>).before({
  all: [
    hooks.verifyToken(),
    myDebugHook,
    hooks.populateUser(),
    hooks.restrictToAuthenticated()
  ]
});
</code></pre><p>You can then move that hook around the hook chain and inspect what your <code>
            hook
           </code> object looks like.</section></div><div class=search-results><div class=has-results><h1 class=search-results-title><span class=search-results-count> </span> results matching " <span class=search-query> </span> "</h1><ul class=search-results-list></ul></div><div class=no-results><h1 class=search-results-title>No results matching " <span class=search-query> </span> "</h1></div></div></div></div></div></div><a aria-label="Previous page: Advanced topics"class="navigation navigation-prev"href=readme.html> <i class="fa fa-angle-left"> </i> </a><a aria-label="Next page: Configuration"class="navigation navigation-next"href=configuration.html> <i class="fa fa-angle-right"> </i> </a></div><script>var gitbook = gitbook || [];
        gitbook.push(function() {
            gitbook.page.hasChanged({"page":{"title":"Debugging","level":"1.2.8.1","depth":3,"next":{"title":"Configuration","level":"1.2.8.2","depth":3,"path":"guides/advanced/configuration.md","ref":"guides/advanced/configuration.md","articles":[]},"previous":{"title":"Advanced topics","level":"1.2.8","depth":2,"path":"guides/advanced/readme.md","ref":"guides/advanced/readme.md","articles":[{"title":"Debugging","level":"1.2.8.1","depth":3,"path":"guides/advanced/debugging.md","ref":"guides/advanced/debugging.md","articles":[]},{"title":"Configuration","level":"1.2.8.2","depth":3,"path":"guides/advanced/configuration.md","ref":"guides/advanced/configuration.md","articles":[]},{"title":"File uploads","level":"1.2.8.3","depth":3,"path":"guides/advanced/file-uploading.md","ref":"guides/advanced/file-uploading.md","articles":[]},{"title":"Creating a Feathers plugin","level":"1.2.8.4","depth":3,"path":"guides/advanced/creating-a-plugin.md","ref":"guides/advanced/creating-a-plugin.md","articles":[]},{"title":"Seeding services","level":"1.2.8.5","depth":3,"path":"guides/advanced/seeding-services.md","ref":"guides/advanced/seeding-services.md","articles":[]},{"title":"Using a view engine","level":"1.2.8.6","depth":3,"path":"guides/advanced/using-a-view-engine.md","ref":"guides/advanced/using-a-view-engine.md","articles":[]},{"title":"Scaling","level":"1.2.8.7","depth":3,"path":"guides/advanced/scaling.md","ref":"guides/advanced/scaling.md","articles":[]}]},"dir":"ltr"},"config":{"gitbook":"*","theme":"default","variables":{},"plugins":["feathers-collapsible-menu","heading-anchors","include-codeblock","edit-link","ga","feathers-versions","advanced-emoji"],"pluginsConfig":{"search":{},"lunr":{"maxIndexSize":1000000000,"ignoreSpecialCharacters":false},"fontsettings":{"theme":"white","family":"sans","size":2},"heading-anchors":{},"highlight":{},"feathers-versions":{},"ga":{"configuration":"auto","token":"UA-64904930-1"},"versions":{"gitbookConfigURL":"https://rawgit.com/feathersjs/feathers-docs/master/book.json","options":[{"value":"https://docs.feathersjs.com","text":"Latest Stable - Auk"},{"value":"https://buzzard.docs.feathersjs.com","text":"Next Release - Buzzard"},{"value":"https://legacy.docs.feathersjs.com","text":"Legacy"}]},"advanced-emoji":{"embedEmojis":false},"include-codeblock":{},"sharing":{"facebook":true,"twitter":true,"google":false,"weibo":false,"instapaper":false,"vk":false,"all":["facebook","google","twitter","weibo","instapaper"]},"edit-link":{"label":"Edit This Page","placement":"left","base":"https://github.com/feathersjs/feathers-docs/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"feathers-collapsible-menu":{}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"styles":{"website":"styles/website.css"}},"file":{"path":"guides/advanced/debugging.md","mtime":"2020-01-25T00:07:28.251Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2020-01-25T00:08:28.695Z"},"basePath":"../..","book":{"language":""}});
        });</script></div><script src=../../gitbook/gitbook.js></script><script src=../../gitbook/theme.js></script><script src=../../gitbook/gitbook-plugin-feathers-collapsible-menu/plugin.js></script><script src=https://cdnjs.cloudflare.com/ajax/libs/anchor-js/1.2.1/anchor.min.js></script><script src=../../gitbook/gitbook-plugin-heading-anchors/anchor-style.js></script><script src=../../gitbook/gitbook-plugin-edit-link/plugin.js></script><script src=../../gitbook/gitbook-plugin-ga/plugin.js></script><script src=../../gitbook/gitbook-plugin-feathers-versions/plugin.js></script><script src=../../gitbook/gitbook-plugin-search/search-engine.js></script><script src=../../gitbook/gitbook-plugin-search/search.js></script><script src=../../gitbook/gitbook-plugin-lunr/lunr.min.js></script><script src=../../gitbook/gitbook-plugin-lunr/search-lunr.js></script><script src=../../gitbook/gitbook-plugin-sharing/buttons.js></script><script src=../../gitbook/gitbook-plugin-fontsettings/fontsettings.js></script>