With the latest changes in console.log behavior in [email protected] when the developer logs an unexisting object, we are dumping the whole object. This is causing the terminal to be overflowed with information (often due to cycling structures that are printed as well) and as a result, anything printed before the object is not easily reachable.
Steps to reproduce:
console.log on this lineResult: Instead of printing something like Cannot resolve fakeMethod of undefined it dumps an object in hundreds of lines that are making all previous input hardly reachable.
Sample dump from the above (console.log(this.nonexistingObj.fakeMethod());)
JS: ERROR TypeError: Cannot read property 'fakeMethod' of undefined
JS: ERROR CONTEXT {
JS: "view": {
JS: "def": {
JS: "nodeFlags": 33669121,
JS: "rootNodeFlags": 33554433,
JS: "nodeMatchedQueries": 0,
JS: "flags": 0,
JS: "nodes": [
JS: {
JS: "nodeIndex": 0,
JS: "parent": null,
JS: "renderParent": null,
JS: "bindingIndex": 0,
JS: "outputIndex": 0,
JS: "checkIndex": 0,
JS: "flags": 33554433,
JS: "childFlags": 114688,
JS: "directChildFlags": 114688,
JS: "childMatchedQueries": 0,
JS: "matchedQueries": {},
JS: "matchedQueryIds": 0,
JS: "references": {},
JS: "ngContentIndex": null,
JS: "childCount": 1,
JS: "bindings": [],
JS: "bindingFlags": 0,
JS: "outputs": [],
JS: "element": {
JS: "ns": "",
JS: "name": "ns-items",
JS: "attrs": [],
JS: "template": null,
JS: "componentProvider": {
JS: "nodeIndex": 1,
JS: "parent": "[Circular]",
JS: "renderParent": "[Circular]",
JS: "bindingIndex": 0,
JS: "outputIndex": 0,
JS: "checkIndex": 1,
JS: "flags": 114688,
JS: "childFlags": 0,
JS: "directChildFlags": 0,
JS: "childMatchedQueries": 0,
JS: "matchedQueries": {},
JS: "matchedQueryIds": 0,
JS: "references": {},
JS: "ngContentIndex": -1,
JS: "childCount": 0,
JS: "bindings": [],
JS: "bindingFlags": 0,
JS: "outputs": [],
JS: "element": null,
JS: "provider": {
JS: "deps": [
JS: {
JS: "flags": 0,
JS: "tokenKey": "ItemService_60"
JS: }
JS: ]
JS: },
JS: "text": null,
JS: "query": null,
JS: "ngContent": null
JS: },
JS: "componentRendererType": null,
JS: "publicProviders": {
JS: "ItemsComponent_76": "[Circular]"
JS: },
JS: "allProviders": "[Circular]"
JS: },
JS: "provider": null,
JS: "text": null,
JS: "query": null,
JS: "ngContent": null
JS: },
JS: "[Circular]"
JS: ],
JS: "bindingCount": 0,
JS: "outputCount": 0,
JS: "lastRenderRootNode": "[Circular]"
JS: },
JS: "parent": null,
JS: "viewContainerParent": {
JS: "def": {
JS: "nodeFlags": 50380801,
JS: "rootNodeFlags": 50331649,
JS: "nodeMatchedQueries": 0,
JS: "flags": 0,
JS: "nodes": [
JS: {
JS: "nodeIndex": 0,
JS: "parent": null,
JS: "renderParent": null,
JS: "bindingIndex": 0,
JS: "outputIndex": 0,
JS: "checkIndex": 0,
JS: "flags": 50331649,
JS: "childFlags": 49152,
JS: "directChildFlags": 49152,
JS: "childMatchedQueries": 0,
JS: "matchedQueries": {},
JS: "matchedQueryIds": 0,
JS: "references": {},
JS: "ngContentIndex": null,
JS: "childCount": 1,
JS: "bindings": [],
JS: "bindingFlags": 0,
JS: "outputs": [],
JS: "element": {
JS: "ns": "",
JS: "name": "DetachedContainer",
JS: "attrs": [],
JS: "template": null,
JS: "componentProvider": {
JS: "nodeIndex": 1,
JS: "parent": "[Circular]",
JS: "renderParent": "[Circular]",
JS: "bindingIndex": 0,
JS: "outputIndex": 0,
JS: "checkIndex": 1,
JS: "flags": 49152,
JS: "childFlags": 0,
JS: "directChildFlags": 0,
JS: "childMatchedQueries": 0,
JS: "matchedQueries": {},
JS: "matchedQueryIds": 0,
JS: "references": {},
JS: "ngContentIndex": -1,
JS: "childCount": 0,
JS: "bindings": [],
JS: "bindingFlags": 0,
JS: "outputs": [],
JS: "element": null,
JS: "provider": {
JS: "deps": [
JS:
JS: {
JS: "flags": 0,
JS: "tokenKey": "ComponentFactoryResolver_9"
JS: },
JS: {
JS: "flags": 0,
JS: "tokenKey": "ChangeDetectorRef_7"
JS: },
JS: {
JS: "flags": 0,
JS: "tokenKey": "ViewContainerRef_5"
JS: }
JS: ]
JS: },
JS: "text": null,
JS: "query": null,
JS: "ngContent": null
JS: },
JS: "componentRendererType": null,
JS: "publicProviders": {
JS: "DetachedLoader_75": "[Circular]"
JS: },
JS: "allProviders": "[Circular]"
JS: },
JS: "provider": null,
JS: "text": null,
JS: "query": null,
JS: "ngContent": null
JS: },
JS: "[Circular]"
JS: ],
JS: "bindingCount": 0,
JS: "outputCount": 0,
JS: "lastRenderRootNode": "[Circular]"
JS: },
JS: "parent": null,
JS: "viewContainerParent": {
JS: "def": {
JS: "nodeFlags": 16990211,
JS: "rootNodeFlags": 16777219,
JS: "nodeMatchedQueries": 0,
JS: "flags": 0,
JS: "nodes": [
JS: {
JS: "nodeIndex": 0,
JS: "parent": null,
JS: "renderParent": null,
JS: "bindingIndex": 0,
JS: "outputIndex": 0,
JS: "checkIndex": -1,
JS: "flags": 2,
JS: "childFlags": 0,
JS: "directChildFlags": 0,
JS: "childMatchedQueries": 0,
JS: "matchedQueries": {},
JS: "matchedQueryIds": 0,
JS: "references": {},
JS: "ngContentIndex": null,
JS: "childCount": 0,
JS: "bindings": [],
JS: "bindingFlags": 8,
JS: "outputs": [],
JS: "element": null,
JS: "provider": null,
JS: "text": {
JS: "prefix": "\n"
JS: },
JS: "query": null,
JS: "ngContent": null
JS: },
JS: {
JS: "nodeIndex": 1,
JS: "parent": null,
JS: "renderParent": null,
JS: "bindingIndex": 0,
JS: "outputIndex": 0,
JS: "checkIndex": 1,
JS: "flags": 16777217,
JS: "childFlags": 212992,
JS: "directChildFlags": 212992,
JS: "childMatchedQueries": 0,
JS: "matchedQueries": {},
JS: "matchedQueryIds": 0,
JS: "references": {},
JS: "ngContentIndex": null,
JS: "childCount": 1,
JS: "bindings": [],
JS: "bindingFlags": 0,
JS: "outputs": [],
JS: "element": {
JS: "ns": "",
JS: "name": "page-router-outlet",
JS: "attrs": [],
JS: "template": null,
JS: "componentProvider": null,
JS: "componentView": null,
JS: "componentRendererType": null,
JS: "publicProviders": {
JS: "PageRouterOutlet_73": {
JS: "nodeIndex": 2,
JS: "parent": "[Circular]",
JS: "renderParent": "[Circular]",
JS: "bindingIndex": 0,
JS: "outputIndex": 0,
JS: "checkIndex": 2,
JS: "flags": 212992,
JS: "childFlags": 0,
JS: "directChildFlags": 0,
JS: "childMatchedQueries": 0,
JS: "matchedQueries": {},
JS: "matchedQueryIds": 0,
JS: "references": {},
JS: "ngContentIndex": -1,
JS: "childCount": 0,
JS: "bindings": [],
JS: "bindingFlags": 0,
JS: "outputs": [],
JS: "element": null,
JS: "provider": {
JS: "deps": [
JS: {
JS: "flags": 0,
JS: "tokenKey": "ChildrenOutletContexts_38"
JS:
JS: },
JS: {
JS: "flags": 0,
JS: "tokenKey": "ViewContainerRef_5"
JS: },
JS: {
JS: "flags": 8,
JS: "token": null,
JS: "tokenKey": "null_71"
JS: },
JS: {
JS: "flags": 0,
JS: "tokenKey": "NSLocationStrategy_18"
JS: },
JS: {
JS: "flags": 0,
JS: "tokenKey": "ComponentFactoryResolver_9"
JS: },
JS: {
JS: "flags": 0,
JS: "tokenKey": "ComponentFactoryResolver_9"
JS: },
JS: {
JS: "flags": 0,
JS: "tokenKey": "ChangeDetectorRef_7"
JS: },
JS: {
JS: "flags": 0,
JS: "token": {
JS: "_desc": "platform device",
JS: "ngMetadataName": "InjectionToken"
JS: },
JS: "tokenKey": "InjectionToken platform device_13"
JS: },
JS: {
JS: "flags": 0,
JS: "token": {
JS: "_desc": "page factory",
JS: "ngMetadataName": "InjectionToken"
JS: },
JS: "tokenKey": "InjectionToken page factory_72"
JS: },
JS: {
JS: "flags": 0,
JS: "tokenKey": "NSRouteReuseStrategy_36"
JS: },
JS: {
JS: "flags": 0,
JS: "tokenKey": "ElementRef_4"
JS: }
JS: ]
JS: },
JS: "text": null,
JS: "query": null,
JS: "ngContent": null
JS: }
JS: },
JS: "allProviders": "[Circular]"
JS: },
JS: "provider": null,
JS: "text": null,
JS: "query": null,
JS: "ngContent": null
JS: },
JS: "[Circular]"
JS: ],
JS: "bindingCount": 0,
JS: "outputCount": 0,
JS: "lastRenderRootNode": "[Circular]"
JS: },
JS: "parent": {
JS: "def": {
JS: "nodeFlags": 33603585,
JS: "rootNodeFlags": 33554433,
JS: "nodeMatchedQueries": 0,
JS: "flags": 0,
JS: "nodes": [
JS: {
JS: "nodeIndex": 0,
JS: "parent": null,
JS: "renderParent": null,
JS: "bindingIndex": 0,
JS: "outputIndex": 0,
JS: "checkIndex": 0,
JS: "flags": 33554433,
JS: "childFlags": 49152,
JS: "directChildFlags": 49152,
JS: "childMatchedQueries": 0,
JS: "matchedQueries": {},
JS: "matchedQueryIds": 0,
JS: "references": {},
JS: "ngContentIndex": null,
JS: "childCount": 1,
JS: "bindings": [],
JS: "bindingFlags": 0,
JS: "outputs": [],
JS: "element": {
JS: "ns": "",
JS: "name": "ns-app",
JS: "attrs": [],
JS: "template": null,
JS: "componentProvider": {
JS: "nodeIndex": 1,
JS: "parent": "[Circular]",
JS: "renderParent": "[Circular]",
JS: "bindingIndex": 0,
JS: "outputIndex": 0,
JS: "checkIndex": 1,
JS: "flags": 49152,
JS: "childFlags": 0,
JS: "directChildFlags": 0,
JS: "childMatchedQueries": 0,
JS: "matchedQueries"
JS: : {},
JS: "matchedQueryIds": 0,
JS: "references": {},
JS: "ngContentIndex": -1,
JS: "childCount": 0,
JS: "bindings": [],
JS: "bindingFlags": 0,
JS: "outputs": [],
JS: "element": null,
JS: "provider": {
JS: "deps": []
JS: },
JS: "text": null,
JS: "query": null,
JS: "ngContent": null
JS: },
JS: "componentRendererType": null,
JS: "publicProviders": {
JS: "AppComponent_69": "[Circular]"
JS: },
JS: "allProviders": "[Circular]"
JS: },
JS: "provider": null,
JS: "text": null,
JS: "query": null,
JS: "ngContent": null
JS: },
JS: "[Circular]"
JS: ],
JS: "bindingCount": 0,
JS: "outputCount": 0,
JS: "lastRenderRootNode": "[Circular]"
JS: },
JS: "parent": null,
JS: "viewContainerParent": null,
JS: "parentNodeDef": null,
JS: "context": {},
JS: "component": "[Circular]",
JS: "nodes": [
JS: {
JS: "renderElement": {
JS: "_observers": {},
JS: "_onLoadedCalled": false,
JS: "_onUnloadedCalled": false,
JS: "_cssState": {
JS: "view": "[Circular]"
JS: },
JS: "pseudoClassAliases": {
JS: "highlighted": [
JS: "active",
JS: "pressed"
JS: ]
JS: },
JS: "cssClasses": {},
JS: "cssPseudoClasses": {},
JS: "_domId": 1,
JS: "_style": {
JS: "_observers": {},
JS: "view": "[Circular]"
JS: },
JS: "_gestureObservers": {},
JS: "nodeName": "AppHostView",
JS: "meta": {
JS: "skipAddToDom": false
JS: },
JS: "nodeType": 1,
JS: "firstChild": {
JS: "_observers": {},
JS: "_onLoadedCalled": false,
JS: "_onUnloadedCalled": false,
JS: "_cssState": {
JS: "view": "[Circular]",
JS: "_matchInvalid": true
JS: },
JS: "pseudoClassAliases": {
JS: "highlighted": [
JS: "active",
JS: "pressed"
JS: ]
JS: },
JS: "cssClasses": {},
JS: "cssPseudoClasses": {},
JS: "_domId": 2,
JS: "_style": {
JS: "_observers": {},
JS: "view": "[Circular]"
JS: },
JS: "_gestureObservers": {},
JS: "nodeType": 1,
JS: "nodeName": "TextNode",
JS: "meta": {
JS: "skipAddToDom": true
JS: },
JS: "_templateParent": "[Circular]",
JS: "nextSibling": {
JS: "_observers": {},
JS: "_onLoadedCalled": false,
JS: "_onUnloadedCalled": false,
JS: "_cssState": {
JS: "view": "[Circular]"
JS: },
JS: "pseudoClassAliases": {
JS: "highlighted": [
JS: "active",
JS: "pressed"
JS: ]
JS: },
JS: "cssClasses": {},
JS: "cssPseudoClasses": {},
JS: "_domId": 3,
JS: "_style": {
JS: "_observers": {},
JS: "view": "[Circular]"
JS: },
JS: "_gestureObservers": {},
JS: "_backStack": [],
JS: "_navigationQueue": [
JS: {
JS: "entry": {
JS:
JS: "entry": {
JS: "clearHistory": false,
JS: "animated": true
JS: },
JS: "resolvedPage": {
JS: "_observers": {
JS: "navigatedFrom": [
JS: {}
JS: ]
JS: },
JS: "_onLoadedCalled": false,
JS: "_onUnloadedCalled": false,
JS: "_cssState": {
JS: "view": "[Circular]"
JS: },
JS: "pseudoClassAliases": {
JS: "highlighted": [
JS: "active",
JS: "pressed"
JS: ]
JS: },
JS: "cssClasses": {},
JS: "cssPseudoClasses": {},
JS: "_domId": 4,
JS: "_style": {
JS: "_observers": {},
JS: "view": "[Circular]"
JS: },
JS: "_gestureObservers": {},
JS: "hasActionBar": true,
JS: "_actionBar": {
JS: "_observers": {},
JS: "_onLoadedCalled": false,
JS: "_onUnloadedCalled": false,
JS: "_cssState": {
JS: "view": "[Circular]",
JS: "_matchInvalid": true
JS: },
JS: "pseudoClassAliases": {
JS: "highlighted": [
JS: "active",
JS: "pressed"
JS: ]
JS: },
JS: "cssClasses": {},
JS: "cssPseudoClasses": {},
JS: "_domId": 10,
JS: "_style": {
JS: "_observers": {},
JS: "view": "[Circular]"
JS: },
JS: "_gestureObservers": {},
JS: "_actionItems": {
JS: "_items": [],
JS: "_actionBar": "[Circular]"
JS: },
JS: "_android": {
JS: "_iconVisibility": "auto",
JS: "_actionBar": "[Circular]"
JS: },
JS: "nodeName": "ActionBar",
JS: "meta": {
JS: "skipAddToDom": true
JS: },
JS: "nodeType": 1,
JS: "ngCssClasses": {},
JS: "parent": "[Circular]",
JS: "nextSibling": {
JS: "_observers": {},
JS: "_onLoadedCalled": false,
JS: "_onUnloadedCalled": false,
JS: "_cssState": {
JS: "view": "[Circular]",
JS: "_matchInvalid": true
JS: },
JS: "pseudoClassAliases": {
JS: "highlighted": [
JS: "active",
JS: "pressed"
JS: ]
JS: },
JS: "cssClasses": {},
JS: "cssPseudoClasses": {},
JS: "_domId": 12,
JS: "_style": {
JS: "_observers": {},
JS: "view": "[Circular]"
JS:
JS: },
JS: "_gestureObservers": {},
JS: "nodeType": 1,
JS: "nodeName": "TextNode",
JS: "meta": {
JS: "skipAddToDom": true
JS: },
JS: "_templateParent": {
JS: "_observers": {},
JS: "_onLoadedCalled": false,
JS: "_onUnloadedCalled": false,
JS: "_cssState": {
JS: "view": "[Circular]"
JS: },
JS: "pseudoClassAliases": {
JS: "highlighted": [
JS: "active",
JS: "pressed"
JS: ]
JS: },
JS: "cssClasses": {},
JS: "cssPseudoClasses": {},
JS: "_domId": 7,
JS: "_style": {
JS: "_observers": {},
JS: "view": "[Circular]"
JS: },
JS: "_gestureObservers": {},
JS: "_subViews": [
JS: {
JS: "_observers": {},
JS: "_onLoadedCalled": false,
JS: "_onUnloadedCalled": false,
JS: "_cssState": {
JS: "view": "[Circular]",
JS: "_matchInvalid": true
JS: },
JS: "pseudoClassAliases": {
JS: "highlighted": [
JS: "active",
JS: "pressed"
JS: ]
JS: },
JS: "cssClasses": {},
JS: "cssPseudoClasses": {},
JS: "_domId": 14,
JS: "_style": {
JS: "_observers": {},
JS: "view": "[Circular]"
JS: },
JS: "_gestureObservers": {},
JS: "_subViews": [
JS: {
JS: "_observers": {
JS: "itemLoading": [
JS: {
JS: "thisArg": {
JS: "_iterableDiffers": {
JS: "factories": [
JS: {}
JS: ]
JS: },
JS: "setupItemView": {
JS: "_isScalar": false,
JS: "observers": [],
JS: "closed": false,
JS: "isStopped": false,
JS: "hasError": false,
JS: "thrownError": null,
JS: "__isAsync": false
JS: },
JS: "listView": "[Circular]",
JS: "lo
JS: ader": {
JS: "_view": {
JS: "def": {
JS: "nodeFlags": 419430403,
JS: "rootNodeFlags": 402653187,
JS: "nodeMatchedQueries": 2,
JS: "flags": 2,
JS: "nodes": [
JS: {
JS: "nodeIndex": 0,
JS: "parent": null,
JS: "renderParent": null,
JS: "bindingIndex": 0,
JS: "outputIndex": 0,
JS: "checkIndex": -1,
JS: "flags": 402653184,
JS: "childFlags": 0,
JS: "directChildFlags": 0,
JS: "childMatchedQueries": 0,
JS: "ngContentIndex": -1,
JS: "matchedQueries": {},
JS: "matchedQueryIds": 0,
JS: "references": {},
JS: "childCount": 0,
JS: "bindings": [],
JS: "bindingFlags": 0,
JS: "outputs": [],
JS: "element": null,
JS: "provider": null,
JS: "text": null,
JS: "query": {
JS: "id": 1,
JS: "filterId": 2,
JS: "bindings": [
JS: {
JS: "propName": "loader",
JS: "bindingType": 0
JS: }
JS: ]
JS: },
JS: "ngContent": null
JS: },
JS: {
JS: "nodeIndex": 1,
JS: "parent": null,
JS: "renderParent": null,
JS: "bindingIndex": 0,
JS: "outputIndex": 0,
JS: "checkIndex": -1,
JS: "flags": 2,
JS: "childFlags": 0,
JS: "directChildFlags": 0,
JS: "childMatchedQueries": 0,
JS:
JS: "matchedQueries": {},
JS: "matchedQueryIds": 0,
JS: "references": {},
JS: "ngContentIndex": null,
JS: "childCount": 0,
JS: "bindings": [],
JS: "bindingFlags": 8,
JS: "outputs": [],
JS: "element": null,
JS: "provider": null,
JS: "text": {
JS: "prefix": "\n "
JS: },
JS: "query": null,
JS: "ngContent": null
JS: },
JS: {
JS: "nodeIndex": 2,
JS: "parent": null,
JS: "renderParent": null,
JS: "bindingIndex": 0,
JS: "outputIndex": 0,
JS: "checkIndex": 2,
JS: "flags": 1,
JS: "childFlags": 16777219,
JS: "directChildFlags": 16777219,
JS: "childMatchedQueries": 2,
JS: "matchedQueries": {},
JS: "matchedQueryIds": 0,
JS: "references": {},
JS: "ngContentIndex": null,
JS: "childCount": 3,
JS: "bindings": [],
JS: "bindingFlags": 0,
JS: "outputs": [],
JS: "element": {
JS: "ns": "",
JS: "name": "DetachedContainer",
JS: "attrs": [],
JS: "template": null,
JS: "componentProvider": null,
JS: "componentView": null,
JS: "componentRendererType": null,
JS: "publicProviders": {},
JS: "allProviders": "[Circular]"
JS: },
JS: "provider": null,
JS: "text": null,
JS: "query": null,
JS: "ngContent": null
JS: },
JS: {
JS:
JS: "nodeIndex": 3,
JS: "parent": "[Circular]",
JS: "renderParent": "[Circular]",
JS: "bindingIndex": 0,
JS: "outputIndex": 0,
JS: "checkIndex": -1,
JS: "flags": 2,
JS: "childFlags": 0,
JS: "directChildFlags": 0,
JS: "childMatchedQueries": 0,
JS: "matchedQueries": {},
JS: "matchedQueryIds": 0,
JS: "references": {},
JS: "ngContentIndex": null,
JS: "childCount": 0,
JS: "bindings": [],
JS: "bindingFlags": 8,
JS: "outputs": [],
JS: "element": null,
JS: "provider": null,
JS: "text": {
JS: "prefix": "\n "
JS: },
JS: "query": null,
JS: "ngContent": null
JS: },
JS: {
JS: "nodeIndex": 4,
JS: "parent": "[Circular]",
JS: "renderParent": "[Circular]",
JS: "bindingIndex": 0,
JS: "outputIndex": 0,
JS: "checkIndex": 4,
JS: "flags": 16777217,
JS: "childFlags": 0,
JS: "directChildFlags": 0,
JS: "childMatchedQueries": 0,
JS: "matchedQueries": {
JS: "1": 3
JS: },
JS: "matchedQueryIds": 2,
JS: "references": {
JS: "loader": 1
JS: },
JS: "ngContentIndex": null,
JS: "childCount": 0,
JS: "bindings": [],
JS: "bindingFlags": 0,
JS: "outputs": [],
JS: "element": {
JS: "ns": "",
JS: "name": "Placeholder",
JS:
JS: "attrs": [],
JS: "template": null,
JS: "componentProvider": null,
JS: "componentView": null,
JS: "componentRendererType": null,
JS: "publicProviders": "[Circular]",
JS: "allProviders": "[Circular]"
JS: },
JS: "provider": null,
JS: "text": null,
JS: "query": null,
JS: "ngContent": null
JS: },
JS: {
JS: "nodeIndex": 5,
JS: "parent": "[Circular]",
JS: "renderParent": "[Circular]",
JS: "bindingIndex": 0,
JS: "outputIndex": 0,
JS: "checkIndex": -1,
JS: "flags": 2,
JS: "childFlags": 0,
JS: "directChildFlags": 0,
JS: "childMatchedQueries": 0,
JS: "matchedQueries": {},
JS: "matchedQueryIds": 0,
JS: "references": {},
JS: "ngContentIndex": null,
JS: "childCount": 0,
JS: "bindings": [],
JS: "bindingFlags": 8,
JS: "outputs": [],
JS: "element": null,
JS: "provider": null,
JS: "text": {
JS: "prefix": "\n "
JS: },
JS: "query": null,
JS: "ngContent": null
JS: }
JS: ],
JS: "bindingCount": 0,
JS: "outputCount": 0,
JS: "lastRenderRootNode": "[Circular]"
JS: },
JS: "parent": {
JS: "def": {
JS: "nodeFlags": 370589699,
JS: "rootNodeFlags": 33554435,
JS: "nodeMatchedQueries": 2,
JS: "flags": 0,
JS: "nodes": [
JS:
JS: {
JS: "nodeIndex": 0,
JS: "parent": null,
JS: "renderParent": null,
JS: "bindingIndex": 0,
JS: "outputIndex": 0,
JS: "checkIndex": -1,
JS: "flags": 2,
JS: "childFlags": 0,
JS: "directChildFlags": 0,
JS: "childMatchedQueries": 0,
JS: "matchedQueries": {},
JS: "matchedQueryIds": 0,
JS: "references": {},
JS: "ngContentIndex": null,
JS: "childCount": 0,
JS: "bindings": [],
JS: "bindingFlags": 8,
JS: "outputs": [],
JS: "element": null,
JS: "provider": null,
JS: "text": {
JS: "prefix": "\n\n"
JS: },
JS: "query": null,
JS: "ngContent": null
JS: },
JS: {
JS: "nodeIndex": 1,
JS: "parent": null,
JS: "renderParent": null,
JS: "bindingIndex": 0,
JS: "outputIndex": 0,
JS: "checkIndex": -1,
JS: "flags": 2,
JS: "childFlags": 0,
JS: "directChildFlags": 0,
JS: "childMatchedQueries": 0,
JS: "matchedQueries": {},
JS: "matchedQueryIds": 0,
JS: "references": {},
JS: "ngContentIndex": null,
JS: "childCount": 0,
JS: "bindings": [],
JS: "bindingFlags": 8,
JS: "outputs": [],
JS: "element": null,
JS: "provider": null,
JS: "text": {
JS: "prefix": "\n"
JS:
JS: },
JS: "query": null,
JS: "ngContent": null
JS: },
JS: {
JS: "nodeIndex": 2,
JS: "parent": null,
JS: "renderParent": null,
JS: "bindingIndex": 0,
JS: "outputIndex": 0,
JS: "checkIndex": 2,
JS: "flags": 33554433,
JS: "childFlags": 49154,
JS: "directChildFlags": 49154,
JS: "childMatchedQueries": 0,
JS: "matchedQueries": {},
JS: "matchedQueryIds": 0,
JS: "references": {},
JS: "ngContentIndex": null,
JS: "childCount": 2,
JS: "bindings": [],
JS: "bindingFlags": 0,
JS: "outputs": [],
JS: "element": {
JS: "ns": "",
JS: "name": "ActionBar",
JS: "attrs": [
JS: [
JS: "",
JS: "class",
JS: "action-bar"
JS: ],
JS: [
JS: "",
JS: "title",
JS: "My App"
JS: ]
JS: ],
JS: "template": null,
JS: "componentProvider": {
JS: "nodeIndex": 3,
JS: "parent": "[Circular]",
JS: "renderParent": "[Circular]",
JS: "bindingIndex": 0,
JS: "outputIndex": 0,
JS: "checkIndex": 3,
JS: "flags": 49152,
JS: "childFlags": 0,
JS: "directChildFlags": 0,
JS: "childMatchedQueries": 0,
JS: "matchedQueries": {},
JS:
JS: "matchedQueryIds": 0,
JS: "references": {},
JS: "ngContentIndex": -1,
JS: "childCount": 0,
JS: "bindings": [],
JS: "bindingFlags": 0,
JS: "outputs": [],
JS: "element": null,
JS: "provider": {
JS: "deps": [
JS: {
JS: "flags": 0,
JS: "tokenKey": "ElementRef_4"
JS: },
JS: {
JS: "flags": 0,
JS: "tokenKey": "Page_50"
JS: }
JS: ]
JS: },
JS: "text": null,
JS: "query": null,
JS: "ngContent": null
JS: },
JS: "componentRendererType": null,
JS: "publicProviders": {
JS: "ActionBarComponent_78": "[Circular]"
JS: },
JS: "allProviders": "[Circular]"
JS: },
JS: "provider": null,
JS: "text": null,
JS: "query": null,
JS: "ngContent": null
JS: },
JS: "[Circular]",
JS: {
JS: "nodeIndex": 4,
JS: "parent": "[Circular]",
JS: "renderParent": "[Circular]",
JS: "bindingIndex": 0,
JS: "outputIndex": 0,
JS: "checkIndex": -1,
JS: "flags": 2,
JS: "childFlags": 0,
JS: "directChildFlags": 0,
JS: "childMatchedQueries": 0,
JS: "matchedQueries": {},
JS: "matchedQueryIds": 0,
JS: "referenc
JS: es": {},
JS: "ngContentIndex": 0,
JS: "childCount": 0,
JS: "bindings": [],
JS: "bindingFlags": 8,
JS: "outputs": [],
JS: "element": null,
JS: "provider": null,
JS: "text": {
JS: "prefix": "\n"
JS: },
JS: "query": null,
JS: "ngContent": null
JS: },
JS: {
JS: "nodeIndex": 5,
JS: "parent": null,
JS: "renderParent": null,
JS: "bindingIndex": 0,
JS: "outputIndex": 0,
JS: "checkIndex": -1,
JS: "flags": 2,
JS: "childFlags": 0,
JS: "directChildFlags": 0,
JS: "childMatchedQueries": 0,
JS: "matchedQueries": {},
JS: "matchedQueryIds": 0,
JS: "references": {},
JS: "ngContentIndex": null,
JS: "childCount": 0,
JS: "bindings": [],
JS: "bindingFlags": 8,
JS: "outputs": [],
JS: "element": null,
JS: "provider": null,
JS: "text": {
JS: "prefix": "\n\n"
JS: },
JS: "query": null,
JS: "ngContent": null
JS: },
JS: {
JS: "nodeIndex": 6,
JS: "parent": null,
JS: "renderParent": null,
JS: "bindingIndex": 0,
JS: "outputIndex": 0,
JS: "checkIndex": -1,
JS: "flags": 2,
JS: "childFlags": 0,
JS: "directChildFlags": 0,
JS: "childMatchedQueries": 0,
JS:
JS: "matchedQueries": {},
JS: "matchedQueryIds": 0,
JS: "references": {},
JS: "ngContentIndex": null,
JS: "childCount": 0,
JS: "bindings": [],
JS: "bindingFlags": 8,
JS: "outputs": [],
JS: "element": null,
JS: "provider": null,
JS: "text": {
JS: "prefix": "\n"
JS: },
JS: "query": null,
JS: "ngContent": null
JS: },
JS: {
JS: "nodeIndex": 7,
JS: "parent": null,
JS: "renderParent": null,
JS: "bindingIndex": 0,
JS: "outputIndex": 0,
JS: "checkIndex": 7,
JS: "flags": 1,
JS: "childFlags": 370589699,
JS: "directChildFlags": 33554435,
JS: "childMatchedQueries": 2,
JS: "matchedQueries": {},
JS: "matchedQueryIds": 0,
JS: "references": {},
JS: "ngContentIndex": null,
JS: "childCount": 8,
JS: "bindings": [],
JS: "bindingFlags": 0,
JS: "outputs": [],
JS: "element": {
JS: "ns": "",
JS: "name": "StackLayout",
JS: "attrs": [
JS: [
JS: "",
JS: "class",
JS: "page"
JS: ]
JS: ],
JS: "template": null,
JS: "componentProvider": null,
JS: "componentView": null,
JS: "componentRendererType": null,
JS: "publicProviders": {},
JS:
JS: "allProviders": "[Circular]"
JS: },
JS: "provider": null,
JS: "text": null,
JS: "query": null,
JS: "ngContent": null
JS: },
JS: {
JS: "nodeIndex": 8,
JS: "parent": "[Circular]",
JS: "renderParent": "[Circular]",
JS: "bindingIndex": 0,
JS: "outputIndex": 0,
JS: "checkIndex": -1,
JS: "flags": 2,
JS: "childFlags": 0,
JS: "directChildFlags": 0,
JS: "childMatchedQueries": 0,
JS: "matchedQueries": {},
JS: "matchedQueryIds": 0,
JS: "references": {},
JS: "ngContentIndex": null,
JS: "childCount": 0,
JS: "bindings": [],
JS: "bindingFlags": 8,
JS: "outputs": [],
JS: "element": null,
JS: "provider": null,
JS: "text": {
JS: "prefix": "\n "
JS: },
JS: "query": null,
JS: "ngContent": null
JS: },
JS: {
JS: "nodeIndex": 9,
JS: "parent": "[Circular]",
JS: "renderParent": "[Circular]",
JS: "bindingIndex": 0,
JS: "outputIndex": 0,
JS: "checkIndex": 9,
JS: "flags": 33554433,
JS: "childFlags": 337035267,
JS: "directChildFlags": 1490947,
JS: "childMatchedQueries": 2,
JS: "matchedQueries": {},
JS: "matchedQueryIds": 0,
JS: "references": {},
JS: "ngContentIndex": null,
JS: "childCount": 5,
JS: "bindings":
JS: [],
JS: "bindingFlags": 0,
JS: "outputs": [],
JS: "element": {
JS: "ns": "",
JS: "name": "ListView",
JS: "attrs": [
JS: [
JS: "",
JS: "class",
JS: "list-group"
JS: ]
JS: ],
JS: "template": null,
JS: "componentProvider": {
JS: "nodeIndex": 10,
JS: "parent": "[Circular]",
JS: "renderParent": "[Circular]",
JS: "bindingIndex": 0,
JS: "outputIndex": 0,
JS: "checkIndex": 10,
JS: "flags": 1490944,
JS: "childFlags": 335544320,
JS: "directChildFlags": 335544320,
JS: "childMatchedQueries": 0,
JS: "matchedQueries": {},
JS: "matchedQueryIds": 0,
JS: "references": {},
JS: "ngContentIndex": -1,
JS: "childCount": 1,
JS: "bindings": [
JS: {
JS: "flags": 8,
JS: "name": "items",
JS: "nonMinifiedName": "items",
JS: "ns": null,
JS: "securityContext": null,
JS: "suffix": null
JS: }
JS: ],
JS: "bindingFlags": 8,
JS: "outputs": [],
JS: "element": null,
JS: "provider": {
JS: "deps": [
JS: {
JS: "flags": 0,
JS: "tokenKey": "ElementRef_4"
JS: },
JS:
JS: {
JS: "flags": 0,
JS: "tokenKey": "IterableDiffers_45"
JS: }
JS: ]
JS: },
JS: "text": null,
JS: "query": null,
JS: "ngContent": null
JS: },
JS: "componentRendererType": null,
JS: "publicProviders": {
JS: "ListViewComponent_79": "[Circular]"
JS: },
JS: "allProviders": "[Circular]"
JS: },
JS: "provider": null,
JS: "text": null,
JS: "query": null,
JS: "ngContent": null
JS: },
JS: "[Circular]",
JS: {
JS: "nodeIndex": 11,
JS: "parent": "[Circular]",
JS: "renderParent": "[Circular]",
JS: "bindingIndex": 1,
JS: "outputIndex": 0,
JS: "checkIndex": -1,
JS: "flags": 335544320,
JS: "childFlags": 0,
JS: "directChildFlags": 0,
JS: "childMatchedQueries": 0,
JS: "ngContentIndex": -1,
JS: "matchedQueries": {},
JS: "matchedQueryIds": 0,
JS: "references": {},
JS: "childCount": 0,
JS: "bindings": [],
JS: "bindingFlags": 0,
JS: "outputs": [],
JS: "element": null,
JS: "provider": null,
JS: "text": null,
JS: "query": {
JS: "id": 1,
JS: "filterId": 2,
JS: "bindings": [
JS: {
JS: "propName": "itemTemplateQuery",
JS:
JS: "bindingType": 0
JS: }
JS: ]
JS: },
JS: "ngContent": null
JS: },
JS: {
JS: "nodeIndex": 12,
JS: "parent": "[Circular]",
JS: "renderParent": "[Circular]",
JS: "bindingIndex": 1,
JS: "outputIndex": 0,
JS: "checkIndex": -1,
JS: "flags": 2,
JS: "childFlags": 0,
JS: "directChildFlags": 0,
JS: "childMatchedQueries": 0,
JS: "matchedQueries": {},
JS: "matchedQueryIds": 0,
JS: "references": {},
JS: "ngContentIndex": null,
JS: "childCount": 0,
JS: "bindings": [],
JS: "bindingFlags": 8,
JS: "outputs": [],
JS: "element": null,
JS: "provider": null,
JS: "text": {
JS: "prefix": "\n "
JS: },
JS: "query": null,
JS: "ngContent": null
JS: },
JS: {
JS: "nodeIndex": 13,
JS: "parent": "[Circular]",
JS: "renderParent": "[Circular]",
JS: "bindingIndex": 1,
JS: "outputIndex": 0,
JS: "flags": 1,
JS: "checkIndex": -1,
JS: "childFlags": 0,
JS: "directChildFlags": 0,
JS: "childMatchedQueries": 0,
JS: "matchedQueries": {
JS: "1": 2
JS: },
JS: "matchedQueryIds": 2,
JS: "references": {},
JS: "ngContentIndex": null,
JS: "childCount": 0,
JS: "bindin
JS: gs": [],
JS: "bindingFlags": 0,
JS: "outputs": [],
JS: "element": {
JS: "ns": null,
JS: "name": null,
JS: "attrs": null,
JS: "template": {
JS: "nodeFlags": 16419,
JS: "rootNodeFlags": 3,
JS: "nodeMatchedQueries": 0,
JS: "flags": 0,
JS: "nodes": [
JS: {
JS: "nodeIndex": 0,
JS: "parent": null,
JS: "renderParent": null,
JS: "bindingIndex": 0,
JS: "outputIndex": 0,
JS: "checkIndex": -1,
JS: "flags": 2,
JS: "childFlags": 0,
JS: "directChildFlags": 0,
JS: "childMatchedQueries": 0,
JS: "matchedQueries": {},
JS: "matchedQueryIds": 0,
JS: "references": {},
JS: "ngContentIndex": null,
JS: "childCount": 0,
JS: "bindings": [],
JS: "bindingFlags": 8,
JS: "outputs": [],
JS: "element": null,
JS: "provider": null,
JS: "text": {
JS: "prefix": "\n "
JS: },
JS: "query": null,
JS: "ngContent": null
JS: },
JS: {
JS: "nodeIndex": 1,
JS: "parent": null,
JS: "renderParent": null,
JS: "bindingIndex": 0,
JS: "outputIndex": 0,
JS: "checkIndex": 1,
JS: "flags": 1,
JS:
JS: "childFlags": 16416,
JS: "directChildFlags": 16416,
JS: "childMatchedQueries": 0,
JS: "matchedQueries": {},
JS: "matchedQueryIds": 0,
JS: "references": {},
JS: "ngContentIndex": null,
JS: "childCount": 2,
JS: "bindings": [
JS: {
JS: "flags": 8,
JS: "ns": "",
JS: "name": "text",
JS: "nonMinifiedName": "text",
JS: "securityContext": 0
JS: }
JS: ],
JS: "bindingFlags": 8,
JS: "outputs": [
JS: {
JS: "type": 0,
JS: "target": null,
JS: "eventName": "tap",
JS: "propName": null
JS: }
JS: ],
JS: "element": {
JS: "ns": "",
JS: "name": "Label",
JS: "attrs": [
JS: [
JS: "",
JS: "class",
JS: "list-group-item"
JS: ]
JS: ],
JS: "template": null,
JS: "componentProvider": null,
JS: "componentView": null,
JS: "componentRendererType": null,
JS: "publicProviders": {
JS: "NSRouterLink_77": {
JS: "nodeIndex": 2,
JS: "parent": "[Circular]",
JS: "renderParent": "[Circular]",
JS:
JS: "bindingIndex": 1,
JS: "outputIndex": 1,
JS: "checkIndex": 2,
JS: "flags": 16384,
JS: "childFlags": 0,
JS: "directChildFlags": 0,
JS: "childMatchedQueries": 0,
JS: "matchedQueries": {},
JS: "matchedQueryIds": 0,
JS: "references": {},
JS: "ngContentIndex": -1,
JS: "childCount": 0,
JS: "bindings": [
JS: {
JS: "flags": 8,
JS: "name": "params",
JS: "nonMinifiedName": "params",
JS: "ns": null,
JS: "securityContext": null,
JS: "suffix": null
JS: }
JS: ],
JS: "bindingFlags": 8,
JS: "outputs": [],
JS: "element": null,
JS: "provider": {
JS: "deps": [
JS: {
JS: "flags": 0,
JS: "tokenKey": "Router_19"
JS: },
JS: {
JS: "flags": 0,
JS: "tokenKey": "RouterExtensions_54"
JS: },
JS: {
JS: "flags": 0,
JS: "tokenKey": "ActivatedRoute_55"
JS: }
JS: ]
JS: },
JS: "text": null,
JS: "query": null,
JS: "ngCont
JS: ent": null
JS: }
JS: },
JS: "allProviders": "[Circular]"
JS: },
JS: "provider": null,
JS: "text": null,
JS: "query": null,
JS: "ngContent": null
JS: },
JS: "[Circular]",
JS: {
JS: "nodeIndex": 3,
JS: "parent": "[Circular]",
JS: "renderParent": "[Circular]",
JS: "bindingIndex": 2,
JS: "outputIndex": 1,
JS: "checkIndex": 3,
JS: "flags": 32,
JS: "childFlags": 0,
JS: "directChildFlags": 0,
JS: "childMatchedQueries": 0,
JS: "matchedQueries": {},
JS: "matchedQueryIds": 0,
JS: "references": {},
JS: "ngContentIndex": -1,
JS: "childCount": 0,
JS: "bindings": [
JS: {
JS: "flags": 8,
JS: "ns": null,
JS: "securityContext": null,
JS: "suffix": null
JS: },
JS: {
JS: "flags": 8,
JS: "ns": null,
JS: "securityContext": null,
JS: "suffix": null
JS: }
JS: ],
JS: "bindingFlags": 8,
JS: "outputs": [],
JS: "element": null,
JS: "provider": null,
JS: "text": null,
JS: "query": null,
JS:
JS: "ngContent": null
JS: },
JS: {
JS: "nodeIndex": 4,
JS: "parent": null,
JS: "renderParent": null,
JS: "bindingIndex": 4,
JS: "outputIndex": 1,
JS: "checkIndex": -1,
JS: "flags": 2,
JS: "childFlags": 0,
JS: "directChildFlags": 0,
JS: "childMatchedQueries": 0,
JS: "matchedQueries": {},
JS: "matchedQueryIds": 0,
JS: "references": {},
JS: "ngContentIndex": null,
JS: "childCount": 0,
JS: "bindings": [],
JS: "bindingFlags": 8,
JS: "outputs": [],
JS: "element": null,
JS: "provider": null,
JS: "text": {
JS: "prefix": "\n "
JS: },
JS: "query": null,
JS: "ngContent": null
JS: }
JS: ],
JS: "bindingCount": 4,
JS: "outputCount": 1,
JS: "lastRenderRootNode": "[Circular]"
JS: },
JS: "componentProvider": null,
JS: "componentView": null,
JS: "componentRendererType": null,
JS: "publicProviders": "[Circular]",
JS: "allProviders": "[Circular]"
JS: },
JS: "provider": null,
JS: "text": null,
JS: "query": null,
JS: "ngContent": null
JS: },
JS: {
JS: "nodeIndex": 14,
JS: "parent": "[Circular]",
JS:
JS: "renderParent": "[Circular]",
JS: "bindingIndex": 1,
JS: "outputIndex": 0,
JS: "checkIndex": -1,
JS: "flags": 2,
JS: "childFlags": 0,
JS: "directChildFlags": 0,
JS: "childMatchedQueries": 0,
JS: "matchedQueries": {},
JS: "matchedQueryIds": 0,
JS: "references": {},
JS: "ngContentIndex": null,
JS: "childCount": 0,
JS: "bindings": [],
JS: "bindingFlags": 8,
JS: "outputs": [],
JS: "element": null,
JS: "provider": null,
JS: "text": {
JS: "prefix": "\n "
JS: },
JS: "query": null,
JS: "ngContent": null
JS: },
JS: {
JS: "nodeIndex": 15,
JS: "parent": "[Circular]",
JS: "renderParent": "[Circular]",
JS: "bindingIndex": 1,
JS: "outputIndex": 0,
JS: "checkIndex": -1,
JS: "flags": 2,
JS: "childFlags": 0,
JS: "directChildFlags": 0,
JS: "childMatchedQueries": 0,
JS: "matchedQueries": {},
JS: "matchedQueryIds": 0,
JS: "references": {},
JS: "ngContentIndex": null,
JS: "childCount": 0,
JS: "bindings": [],
JS: "bindingFlags": 8,
JS: "outputs": [],
JS: "element": null,
JS: "provider": null,
JS: "text": {
JS: "prefix": "\n"
JS: },
JS: "query": null,
JS: "ngContent": null
JS:
JS: }
JS: ],
JS: "bindingCount": 1,
JS: "outputCount": 0,
JS: "lastRenderRootNode": "[Circular]"
JS: },
JS: "parent": "[Circular]",
JS: "viewContainerParent": null,
JS: "parentNodeDef": "[Circular]",
JS: "context": {
JS: "itemService": {
JS: "items": [
JS: {
JS: "id": 1,
JS: "name": "Ter Stegen",
JS: "role": "Goalkeeper"
JS: },
JS: {
JS: "id": 3,
JS: "name": "Piqu茅",
JS: "role": "Defender"
JS: },
JS: {
JS: "id": 4,
JS: "name": "I. Rakitic",
JS: "role": "Midfielder"
JS: },
JS: {
JS: "id": 5,
JS: "name": "Sergio",
JS: "role": "Midfielder"
JS: },
JS: {
JS: "id": 6,
JS: "name": "Denis Su谩rez",
JS: "role": "Midfielder"
JS: },
JS: {
JS: "id": 7,
JS: "name": "Arda",
JS: "role": "Midfielder"
JS: },
JS: {
JS: "id": 8,
JS: "name": "A. Iniesta",
JS: "role": "Midfielder"
JS: },
JS: {
JS: "id": 9,
JS: "name": "Su谩rez",
JS: "role": "Forward"
JS: },
JS: {
JS: "id": 10,
JS:
@NickIliev I'd like to point out that the reason you see such a big log is because for whatever reason the nativescript-angular implementation intercepts JavaScript errors and instead of logging the error, logs the (seemingly) entire Angular context, which is what you see in the logs. I'd look into the nativescript-angular's error handling implementation for a possible place where a fix can be done.
Unfortunately the root cause for this log resides inside the @angular core error handling and not inside the nativescript-angular module: https://gitlab.epidemium.cc/root/idea/blob/7f3ba14246f7d96c8880480d070d76b2ab56018d/node_modules/@angular/core/@angular/core.js#L1040
So the only viable fix I see for the moment is to impose a reasonable limit on the size of the logged objects and truncate if the limit is reached.
Hi, what is the timeline on this particular fix? (is 4.1 due soon?)
It is literally impossible to work with the console log anymore, any workaround except of rolling back to 3.4??
Thanks!
@tigrenok00 We are going to release 4.1 next week, you can also try the Release Candidate android@rc
@tigrenok00 Should we add any switch in order to make it work ? I mean , we do want context but not that much. ( or is it revereted completly like 3.4.2 ???)
@RoyiNamir, in 4.1 log messages sent to logcat are automatically truncated after 1024 symbols. You can control this value with the maxLogcatObjectSize property in package.json (https://github.com/NativeScript/android-runtime/pull/1045).
Most helpful comment
@RoyiNamir, in 4.1 log messages sent to logcat are automatically truncated after 1024 symbols. You can control this value with the
maxLogcatObjectSizeproperty in package.json (https://github.com/NativeScript/android-runtime/pull/1045).