{ "domain": "Console", "description": "Console domain defines methods and events for interaction with the JavaScript console. Console collects messages created by means of the JavaScript Console API. One needs to enable this domain using enable command in order to start receiving the console messages. Browser collects messages issued while console domain is not enabled as well and reports them using messageAdded notification upon enabling.", "types": [ { "id": "ChannelSource", "type": "string", "enum": ["xml", "javascript", "network", "console-api", "storage", "appcache", "rendering", "css", "security", "content-blocker", "media", "webrtc", "other"], "description": "Channels for different types of log messages." }, { "id": "ChannelLevel", "type": "string", "enum": ["off", "basic", "verbose"], "description": "Level of logging." }, { "id": "Channel", "description": "Logging channel.", "type": "object", "properties": [ { "name": "source", "$ref": "ChannelSource" }, { "name": "level", "$ref": "ChannelLevel" } ] }, { "id": "ConsoleMessage", "type": "object", "description": "Console message.", "properties": [ { "name": "source", "$ref": "ChannelSource"}, { "name": "level", "type": "string", "enum": ["log", "info", "warning", "error", "debug"], "description": "Message severity." }, { "name": "text", "type": "string", "description": "Message text." }, { "name": "type", "type": "string", "optional": true, "enum": ["log", "dir", "dirxml", "table", "trace", "clear", "startGroup", "startGroupCollapsed", "endGroup", "assert", "timing", "profile", "profileEnd"], "description": "Console message type." }, { "name": "url", "type": "string", "optional": true, "description": "URL of the message origin." }, { "name": "line", "type": "integer", "optional": true, "description": "Line number in the resource that generated this message." }, { "name": "column", "type": "integer", "optional": true, "description": "Column number on the line in the resource that generated this message." }, { "name": "repeatCount", "type": "integer", "optional": true, "description": "Repeat count for repeated messages." }, { "name": "parameters", "type": "array", "items": { "$ref": "Runtime.RemoteObject" }, "optional": true, "description": "Message parameters in case of the formatted message." }, { "name": "stackTrace", "type": "array", "items": { "$ref": "CallFrame" }, "optional": true, "description": "JavaScript stack trace for assertions and error messages." }, { "name": "networkRequestId", "$ref": "Network.RequestId", "optional": true, "description": "Identifier of the network request associated with this message." } ] }, { "id": "CallFrame", "type": "object", "description": "Stack entry for console errors and assertions.", "properties": [ { "name": "functionName", "type": "string", "description": "JavaScript function name." }, { "name": "url", "type": "string", "description": "JavaScript script name or url." }, { "name": "scriptId", "$ref": "Debugger.ScriptId", "description": "Script identifier." }, { "name": "lineNumber", "type": "integer", "description": "JavaScript script line number." }, { "name": "columnNumber", "type": "integer", "description": "JavaScript script column number." } ] }, { "id": "StackTrace", "description": "Call frames for async function calls, console assertions, and error messages.", "type": "object", "properties": [ { "name": "callFrames", "type": "array", "items": { "$ref": "CallFrame" } }, { "name": "topCallFrameIsBoundary", "type": "boolean", "optional": true, "description": "Whether the first item in callFrames is the native function that scheduled the asynchronous operation (e.g. setTimeout)." }, { "name": "truncated", "type": "boolean", "optional": true, "description": "Whether one or more frames have been truncated from the bottom of the stack." }, { "name": "parentStackTrace", "$ref": "StackTrace", "optional": true, "description": "Parent StackTrace." } ] } ], "commands": [ { "name": "enable", "description": "Enables console domain, sends the messages collected so far to the client by means of the messageAdded notification." }, { "name": "disable", "description": "Disables console domain, prevents further console messages from being reported to the client." }, { "name": "clearMessages", "description": "Clears console messages collected in the browser." }, { "name": "getLoggingChannels", "description": "List of the different message sources that are non-default logging channels.", "returns": [ { "name": "channels", "type": "array", "items": { "$ref": "Channel"}, "description": "Logging channels." } ] }, { "name": "setLoggingChannelLevel", "description": "Modify the level of a channel.", "parameters": [ { "name": "source", "$ref": "ChannelSource", "description": "Logging channel to modify." }, { "name": "level", "$ref": "ChannelLevel", "description": "New level." } ] } ], "events": [ { "name": "messageAdded", "description": "Issued when new console message is added.", "parameters": [ { "name": "message", "$ref": "ConsoleMessage", "description": "Console message that has been added." } ] }, { "name": "messageRepeatCountUpdated", "description": "Issued when subsequent message(s) are equal to the previous one(s).", "parameters": [ { "name": "count", "type": "integer", "description": "New repeat count value." } ] }, { "name": "messagesCleared", "description": "Issued when console is cleared. This happens either upon clearMessages command or after page navigation." }, { "name": "heapSnapshot", "description": "Issued from console.takeHeapSnapshot.", "parameters": [ { "name": "timestamp", "type": "number" }, { "name": "snapshotData", "$ref": "Heap.HeapSnapshotData", "description": "Snapshot at the end of tracking." }, { "name": "title", "type": "string", "optional": true, "description": "Optional title provided to console.takeHeapSnapshot." } ] } ] }