ethers.js/docs/api/utils/logger/index.html
2020-02-17 17:56:50 -05:00

25 lines
24 KiB
HTML

<html><head><title>Logger</title><link rel="stylesheet" type="text/css" href="/static/style.css"></head><body><div class="sidebar"><div class="header"><div class="logo"><a href="/"><div class="image"></div><div class="name">ethers</div><div class="version">v5.0-beta</div></a></div></div><div class="toc"><div><div class="link title"><a href="/">Documentation</a></div><div class="base show link depth-1"><a href="/getting-started/">Getting Started</a></div><div class="hide link depth-2"><a href="/getting-started/#installing">Installing</a></div><div class="hide link depth-2"><a href="/getting-started/#importing">Importing</a></div><div class="base show link depth-1"><a href="/concepts/">Concepts</a></div><div class="hide link depth-2"><a href="/concepts/events/">Events</a></div><div class="hide link depth-3"><a href="/concepts/events/#solidity-topics">Solidity Topics</a></div><div class="hide link depth-2"><a href="/concepts/gas/">Gas</a></div><div class="hide link depth-3"><a href="/concepts/gas/#gas-price">Gas Price</a></div><div class="hide link depth-3"><a href="/concepts/gas/#gas-limit">Gas Limit</a></div><div class="base ancestor show link depth-1"><a href="/api/">Application Programming Interface</a></div><div class="show link depth-2"><a href="/api/contract/">Contracts</a></div><div class="hide link depth-3"><a href="/api/contract/#buckets">Buckets</a></div><div class="show link depth-2"><a href="/api/signer/">Signers</a></div><div class="hide link depth-3"><a href="/api/signer/#signer">Signer</a></div><div class="hide link depth-3"><a href="/api/signer/#wallet">Wallet</a></div><div class="hide link depth-3"><a href="/api/signer/#voidsigner">VoidSigner</a></div><div class="hide link depth-3"><a href="/api/signer/#externallyownedaccount">ExternallyOwnedAccount</a></div><div class="show link depth-2"><a href="/api/providers/">Providers</a></div><div class="hide link depth-3"><a href="/api/providers/provider/">Provider</a></div><div class="hide link depth-4"><a href="/api/providers/provider/#accounts-methods">Accounts Methods</a></div><div class="hide link depth-4"><a href="/api/providers/provider/#blocks-methods">Blocks Methods</a></div><div class="hide link depth-4"><a href="/api/providers/provider/#ethereum-naming-service-(ens)-methods">Ethereum Naming Service (ENS) Methods</a></div><div class="hide link depth-4"><a href="/api/providers/provider/#logs-methods">Logs Methods</a></div><div class="hide link depth-4"><a href="/api/providers/provider/#network-status-methods">Network Status Methods</a></div><div class="hide link depth-4"><a href="/api/providers/provider/#transactions-methods">Transactions Methods</a></div><div class="hide link depth-4"><a href="/api/providers/provider/#event-emitter-methods">Event Emitter Methods</a></div><div class="hide link depth-4"><a href="/api/providers/provider/#inspection-methods">Inspection Methods</a></div><div class="hide link depth-3"><a href="/api/providers/jsonrpc-provider/">JsonRpcProvider</a></div><div class="hide link depth-4"><a href="/api/providers/jsonrpc-provider/#jsonrpcsigner">JsonRpcSigner</a></div><div class="hide link depth-4"><a href="/api/providers/jsonrpc-provider/#jsonrpcuncheckedsigner">JsonRpcUncheckedSigner</a></div><div class="hide link depth-3"><a href="/api/providers/api-providers/">API Providers</a></div><div class="hide link depth-4"><a href="/api/providers/api-providers/#etherscanprovider">EtherscanProvider</a></div><div class="hide link depth-4"><a href="/api/providers/api-providers/#infuraprovider">InfuraProvider</a></div><div class="hide link depth-4"><a href="/api/providers/api-providers/#alchemyprovider">AlchemyProvider</a></div><div class="hide link depth-4"><a href="/api/providers/api-providers/#cloudfrontprovider">CloudfrontProvider</a></div><div class="hide link depth-3"><a href="/api/providers/other/">Other Providers</a></div><div class="hide link depth-4"><a href="/api/providers/other/#fallbackprovider">FallbackProvider</a></div><div class="hide link depth-4"><a href="/api/providers/other/#ipcprovider">IpcProvider</a></div><div class="hide link depth-4"><a href="/api/providers/other/#urljsonrpcprovider">UrlJsonRpcProvider</a></div><div class="hide link depth-4"><a href="/api/providers/other/#web3provider">Web3Provider</a></div><div class="hide link depth-3"><a href="/api/providers/types/">Types</a></div><div class="hide link depth-4"><a href="/api/providers/types/#network">Network</a></div><div class="hide link depth-4"><a href="/api/providers/types/#block">Block</a></div><div class="hide link depth-4"><a href="/api/providers/types/#events-and-logs">Events and Logs</a></div><div class="hide link depth-4"><a href="/api/providers/types/#transactions">Transactions</a></div><div class="ancestor show link depth-2"><a href="/api/utils/">Utilities</a></div><div class="show link depth-3"><a href="/api/utils/abi/">Application Binary Interface</a></div><div class="hide link depth-4"><a href="/api/utils/abi/#formats">Formats</a></div><div class="hide link depth-4"><a href="/api/utils/abi/#interface">Interface</a></div><div class="hide link depth-4"><a href="/api/utils/abi/#fragment">Fragment</a></div><div class="hide link depth-4"><a href="/api/utils/abi/#constructorfragment">ConstructorFragment</a></div><div class="hide link depth-4"><a href="/api/utils/abi/#eventfragment">EventFragment</a></div><div class="hide link depth-4"><a href="/api/utils/abi/#functionfragment">FunctionFragment</a></div><div class="hide link depth-4"><a href="/api/utils/abi/#paramtype">ParamType</a></div><div class="show link depth-3"><a href="/api/utils/address/">Addresses</a></div><div class="hide link depth-4"><a href="/api/utils/address/#address-formats">Address Formats</a></div><div class="hide link depth-4"><a href="/api/utils/address/#functions">Functions</a></div><div class="show link depth-3"><a href="/api/utils/bignumber/">BigNumber</a></div><div class="hide link depth-4"><a href="/api/utils/bignumber/#types">Types</a></div><div class="hide link depth-4"><a href="/api/utils/bignumber/#creating-instances">Creating Instances</a></div><div class="hide link depth-4"><a href="/api/utils/bignumber/#methods">Methods</a></div><div class="hide link depth-4"><a href="/api/utils/bignumber/#notes">Notes</a></div><div class="show link depth-3"><a href="/api/utils/bytes/">Byte Manipulation</a></div><div class="hide link depth-4"><a href="/api/utils/bytes/#types">Types</a></div><div class="hide link depth-4"><a href="/api/utils/bytes/#inspection">Inspection</a></div><div class="hide link depth-4"><a href="/api/utils/bytes/#converting-between-arrays-and-hexstrings">Converting between Arrays and Hexstrings</a></div><div class="hide link depth-4"><a href="/api/utils/bytes/#array-manipulation">Array Manipulation</a></div><div class="hide link depth-4"><a href="/api/utils/bytes/#hexstring-manipulation">Hexstring Manipulation</a></div><div class="hide link depth-4"><a href="/api/utils/bytes/#signature-conversion">Signature Conversion</a></div><div class="hide link depth-4"><a href="/api/utils/bytes/#random-bytes">Random Bytes</a></div><div class="show link depth-3"><a href="/api/utils/constants/">Constants</a></div><div class="hide link depth-4"><a href="/api/utils/constants/#bytes">Bytes</a></div><div class="hide link depth-4"><a href="/api/utils/constants/#strings">Strings</a></div><div class="hide link depth-4"><a href="/api/utils/constants/#bignumber">BigNumber</a></div><div class="show link depth-3"><a href="/api/utils/display-logic/">Display Logic and Input</a></div><div class="hide link depth-4"><a href="/api/utils/display-logic/#units">Units</a></div><div class="hide link depth-4"><a href="/api/utils/display-logic/#functions">Functions</a></div><div class="show link depth-3"><a href="/api/utils/encoding/">Encoding Utilities</a></div><div class="hide link depth-4"><a href="/api/utils/encoding/#base58">Base58</a></div><div class="hide link depth-4"><a href="/api/utils/encoding/#base64">Base64</a></div><div class="hide link depth-4"><a href="/api/utils/encoding/#recursive-length-prefix">Recursive-Length Prefix</a></div><div class="show link depth-3"><a href="/api/utils/fixednumber/">FixedNumber</a></div><div class="hide link depth-4"><a href="/api/utils/fixednumber/#creating-instances">Creating Instances</a></div><div class="hide link depth-4"><a href="/api/utils/fixednumber/#properties">Properties</a></div><div class="hide link depth-4"><a href="/api/utils/fixednumber/#methods">Methods</a></div><div class="hide link depth-4"><a href="/api/utils/fixednumber/#fixedformat">FixedFormat</a></div><div class="show link depth-3"><a href="/api/utils/hashing/">Hashing Algorithms</a></div><div class="hide link depth-4"><a href="/api/utils/hashing/#cryptographic-hashing">Cryptographic Hashing</a></div><div class="hide link depth-4"><a href="/api/utils/hashing/#common-hashing-helpers">Common Hashing Helpers</a></div><div class="hide link depth-4"><a href="/api/utils/hashing/#solidity-hashing-algorithms">Solidity Hashing Algorithms</a></div><div class="show link depth-3"><a href="/api/utils/hdnode/">HD Wallet</a></div><div class="hide link depth-4"><a href="/api/utils/hdnode/#types">Types</a></div><div class="hide link depth-4"><a href="/api/utils/hdnode/#hdnode">HDNode</a></div><div class="hide link depth-4"><a href="/api/utils/hdnode/#other-functions">Other Functions</a></div><div class="myself ancestor ancestor show link depth-3"><a href="/api/utils/logger/">Logger</a></div><div class="child link depth-4"><a href="/api/utils/logger/#errors">Errors</a></div><div class="child link depth-4"><a href="/api/utils/logger/#creating-instances">Creating instances</a></div><div class="show link depth-3"><a href="/api/utils/properties/">Property Utilities</a></div><div class="show link depth-3"><a href="/api/utils/signing-key/">Signing Key</a></div><div class="hide link depth-4"><a href="/api/utils/signing-key/#other-functions">Other Functions</a></div><div class="show link depth-3"><a href="/api/utils/strings/">Strings</a></div><div class="hide link depth-4"><a href="/api/utils/strings/#bytes32string">Bytes32String</a></div><div class="hide link depth-4"><a href="/api/utils/strings/#utf-8-strings">UTF-8 Strings</a></div><div class="hide link depth-4"><a href="/api/utils/strings/#unicodenormalizationform">UnicodeNormalizationForm</a></div><div class="hide link depth-4"><a href="/api/utils/strings/#custom-utf-8-error-handling">Custom UTF-8 Error Handling</a></div><div class="show link depth-3"><a href="/api/utils/transactions/">Transactions</a></div><div class="hide link depth-4"><a href="/api/utils/transactions/#types">Types</a></div><div class="hide link depth-4"><a href="/api/utils/transactions/#functions">Functions</a></div><div class="show link depth-3"><a href="/api/utils/web/">Web Utilities</a></div><div class="show link depth-3"><a href="/api/utils/wordlists/">Wordlists</a></div><div class="hide link depth-4"><a href="/api/utils/wordlists/#wordlist">Wordlist</a></div><div class="hide link depth-4"><a href="/api/utils/wordlists/#languages">Languages</a></div><div class="show link depth-2"><a href="/api/other/">Other Libraries</a></div><div class="hide link depth-3"><a href="/api/other/assembly/">Assembly</a></div><div class="hide link depth-4"><a href="/api/other/assembly/dialect/">Ethers ASM Dialect</a></div><div class="hide link depth-5"><a href="/api/other/assembly/dialect/#opcodes">Opcodes</a></div><div class="hide link depth-5"><a href="/api/other/assembly/dialect/#labels">Labels</a></div><div class="hide link depth-5"><a href="/api/other/assembly/dialect/#literals">Literals</a></div><div class="hide link depth-5"><a href="/api/other/assembly/dialect/#comments">Comments</a></div><div class="hide link depth-5"><a href="/api/other/assembly/dialect/#scopes">Scopes</a></div><div class="hide link depth-5"><a href="/api/other/assembly/dialect/#data-segment">Data Segment</a></div><div class="hide link depth-5"><a href="/api/other/assembly/dialect/#links">Links</a></div><div class="hide link depth-5"><a href="/api/other/assembly/dialect/#stack-placeholders">Stack Placeholders</a></div><div class="hide link depth-5"><a href="/api/other/assembly/dialect/#evaluation-and-excution">Evaluation and Excution</a></div><div class="hide link depth-4"><a href="/api/other/assembly/api/">Utilities</a></div><div class="hide link depth-5"><a href="/api/other/assembly/api/#assembler">Assembler</a></div><div class="hide link depth-5"><a href="/api/other/assembly/api/#disassembler">Disassembler</a></div><div class="hide link depth-5"><a href="/api/other/assembly/api/#opcode">Opcode</a></div><div class="hide link depth-4"><a href="/api/other/assembly/ast/">Abstract Syntax Tree</a></div><div class="hide link depth-5"><a href="/api/other/assembly/ast/#types">Types</a></div><div class="hide link depth-5"><a href="/api/other/assembly/ast/#nodes">Nodes</a></div><div class="hide link depth-3"><a href="/api/other/hardware/">Hardware Wallets</a></div><div class="hide link depth-4"><a href="/api/other/hardware/#ledgersigner">LedgerSigner</a></div><div class="base show link depth-1"><a href="/cli/">Command Line Interfaces</a></div><div class="hide link depth-2"><a href="/cli/ethers/">Sandbox Utility</a></div><div class="hide link depth-3"><a href="/cli/ethers/#help">Help</a></div><div class="hide link depth-3"><a href="/cli/ethers/#examples">Examples</a></div><div class="hide link depth-2"><a href="/cli/asm/">Assembler</a></div><div class="hide link depth-3"><a href="/cli/asm/#help">Help</a></div><div class="hide link depth-3"><a href="/cli/asm/#example-input-files">Example Input Files</a></div><div class="hide link depth-3"><a href="/cli/asm/#assembler-examples">Assembler Examples</a></div><div class="hide link depth-3"><a href="/cli/asm/#disassembler-examples">Disassembler Examples</a></div><div class="hide link depth-2"><a href="/cli/ens/">ENS</a></div><div class="hide link depth-3"><a href="/cli/ens/#help">Help</a></div><div class="hide link depth-3"><a href="/cli/ens/#examples">Examples</a></div><div class="hide link depth-2"><a href="/cli/typescript/">TypeScript</a></div><div class="hide link depth-3"><a href="/cli/typescript/#help">Help</a></div><div class="hide link depth-3"><a href="/cli/typescript/#examples">Examples</a></div><div class="hide link depth-2"><a href="/cli/plugin/">Making Your Own</a></div><div class="hide link depth-3"><a href="/cli/plugin/#cli">CLI</a></div><div class="hide link depth-3"><a href="/cli/plugin/#plugin">Plugin</a></div><div class="hide link depth-3"><a href="/cli/plugin/#argparser">ArgParser</a></div><div class="base show link depth-1"><a href="/cookbook/">Cookbook</a></div><div class="base show link depth-1"><a href="/migration/">Migration Guide</a></div><div class="hide link depth-2"><a href="/migration/web3/">Migration: From Web3.js</a></div><div class="hide link depth-3"><a href="/migration/web3/#contracts">Contracts</a></div><div class="hide link depth-3"><a href="/migration/web3/#providers">Providers</a></div><div class="hide link depth-3"><a href="/migration/web3/#numbers">Numbers</a></div><div class="hide link depth-3"><a href="/migration/web3/#utilities">Utilities</a></div><div class="hide link depth-2"><a href="/migration/ethers-v4/">Migration: From Ethers v4</a></div><div class="hide link depth-3"><a href="/migration/ethers-v4/#bignumber">BigNumber</a></div><div class="hide link depth-3"><a href="/migration/ethers-v4/#contracts">Contracts</a></div><div class="hide link depth-3"><a href="/migration/ethers-v4/#errors">Errors</a></div><div class="hide link depth-3"><a href="/migration/ethers-v4/#interface">Interface</a></div><div class="hide link depth-3"><a href="/migration/ethers-v4/#utilities">Utilities</a></div><div class="hide link depth-3"><a href="/migration/ethers-v4/#wallet">Wallet</a></div><div class="base show link depth-1"><a href="/testing/">Testing</a></div><div class="base show link depth-1"><a href="/contributing/">Contributing and Hacking</a></div><div class="hide link depth-2"><a href="/contributing/#building">Building</a></div><div class="base show link depth-1"><a href="/documentation/">Flatworm Docs</a></div><div class="hide link depth-2"><a href="/documentation/#fragments">Fragments</a></div><div class="hide link depth-2"><a href="/documentation/#markdown">Markdown</a></div><div class="hide link depth-2"><a href="/documentation/#configuration">Configuration</a></div><div class="hide link depth-2"><a href="/documentation/#extended-directive-functions">Extended Directive Functions</a></div><div class="base show link depth-1"><a href="/license/">License and Copyright</a></div></div></div></div><div class="content"><div class="breadcrumbs"><a href="/">Documentation</a>&nbsp;&nbsp;&raquo;&nbsp;&nbsp;<a href="/api/">Application Programming Interface</a>&nbsp;&nbsp;&raquo;&nbsp;&nbsp;<a href="/api/utils/">Utilities</a>&nbsp;&nbsp;&raquo;&nbsp;&nbsp;<span class="current">Logger</span></div>
<a name="logger"></a><a name="logger"></a><h1 class="show-anchors"><div>Logger<div class="anchors"><a class="self" href="#logger"></a></div></div></h1>
<a name="logger-errors"></a><a name="errors"></a><h2 class="show-anchors"><div>Errors<div class="anchors"><a class="self" href="#logger-errors"></a></div></div></h2>
<div class="property show-anchors"><div class="signature"><span class="path">Logger</span> . <span class="path">errors</span> . <span class="method">UNKNOWN_ERROR</span><div class="anchors"></div></div><div class="body"><p>A generic unknown error.</p></div></div>
<div class="property show-anchors"><div class="signature"><span class="path">Logger</span> . <span class="path">errors</span> . <span class="method">NOT_IMPLEMENTED</span><div class="anchors"></div></div><div class="body"><p>The operation is not implemented.</p></div></div>
<div class="property show-anchors"><div class="signature"><span class="path">Logger</span> . <span class="path">errors</span> . <span class="method">UNSUPPORTED_OPERATION</span><div class="anchors"></div></div><div class="body"><p>The operation is not supported.</p></div></div>
<div class="property show-anchors"><div class="signature"><span class="path">Logger</span> . <span class="path">errors</span> . <span class="method">NETWORK_ERROR</span><div class="anchors"></div></div><div class="body"><p>An Ethereum network validation error, such as an invalid chain ID.</p></div></div>
<div class="property show-anchors"><div class="signature"><span class="path">Logger</span> . <span class="path">errors</span> . <span class="method">SERVER_ERROR</span><div class="anchors"></div></div><div class="body"><p>There was an error communicating with a server.</p></div></div>
<div class="property show-anchors"><div class="signature"><span class="path">Logger</span> . <span class="path">errors</span> . <span class="method">TIMEOUT</span><div class="anchors"></div></div><div class="body"><p>A timeout occurred.</p></div></div>
<div class="property show-anchors"><div class="signature"><span class="path">Logger</span> . <span class="path">errors</span> . <span class="method">BUFFER_OVERRUN</span><div class="anchors"></div></div><div class="body"><p>The amount of data needed is more than the amount of data required, which would cause the data buffer to read past its end.</p></div></div>
<div class="property show-anchors"><div class="signature"><span class="path">Logger</span> . <span class="path">errors</span> . <span class="method">NUMERIC_FAULT</span><div class="anchors"></div></div><div class="body"><p>There was an invalid operation done on numeric values.</p><p>Common cases of this occur when there is <a href="https://en.wikipedia.org/wiki/Integer_overflow">overflow</a>, <a href="https://en.wikipedia.org/wiki/Arithmetic_underflow">arithmetic underflow</a> in fixed numeric types or division by zero.</p></div></div>
<div class="property show-anchors"><div class="signature"><span class="path">Logger</span> . <span class="path">errors</span> . <span class="method">MISSING_NEW</span><div class="anchors"></div></div><div class="body"><p>An object is a Class, but is now being called with <code class="inline">new</code>.</p></div></div>
<div class="property show-anchors"><div class="signature"><span class="path">Logger</span> . <span class="path">errors</span> . <span class="method">INVALID_ARGUMENT</span><div class="anchors"></div></div><div class="body"><p>The type or value of an argument is invalid. This will generally also include the <code class="inline">name</code> and <code class="inline">value</code> of the argument. Any function which accepts sensitive data (such as a private key) will include the string <code class="inline">[REDACTED]]</code> instead of the value passed in.</p></div></div>
<div class="property show-anchors"><div class="signature"><span class="path">Logger</span> . <span class="path">errors</span> . <span class="method">MISSING_ARGUMENT</span><div class="anchors"></div></div><div class="body"><p>An expected parameter was not specified.</p></div></div>
<div class="property show-anchors"><div class="signature"><span class="path">Logger</span> . <span class="path">errors</span> . <span class="method">UNEXPECTED_ARGUMENT</span><div class="anchors"></div></div><div class="body"><p>Too many parameters we passed into a function.</p></div></div>
<div class="property show-anchors"><div class="signature"><span class="path">Logger</span> . <span class="path">errors</span> . <span class="method">CALL_EXCEPTION</span><div class="anchors"></div></div><div class="body"><p>An attempt to call a blockchain contract (getter) resulted in a revert or other error.</p></div></div>
<div class="property show-anchors"><div class="signature"><span class="path">Logger</span> . <span class="path">errors</span> . <span class="method">INSUFFICIENT_FUNDS</span><div class="anchors"></div></div><div class="body"><p>The account is attempting to make a transaction which costs more than is available.</p><p>A sending account must have enough ether to pay for the value, the gas limit (at the gas price) as well as the intrinsic cost of data. The intrinsic cost of data is 4 gas for each zero byte and 68 gas for each non-zero byte.</p></div></div>
<div class="property show-anchors"><div class="signature"><span class="path">Logger</span> . <span class="path">errors</span> . <span class="method">NONCE_EXPIRED</span><div class="anchors"></div></div><div class="body"><p>The nonce being specified has already been used in a mined transaction.</p></div></div>
<div class="property show-anchors"><div class="signature"><span class="path">Logger</span> . <span class="path">errors</span> . <span class="method">REPLACEMENT_UNDERPRICED</span><div class="anchors"></div></div><div class="body"><p>When replacing a transaction, by using a nonce which has already been sent to the network, but which has not been mined yet the new transaction must specify a higher gas price.</p><p>This error occurs when the gas price is insufficient to <i>bribe</i> the transaction pool to prefer the new transaction over the old one. Generally, the new gas price should be about 50% + 1 wei more, so if a gas price of 10 gwei was used, the replacement should be 15.000000001 gwei.</p></div></div>
<div class="property show-anchors"><div class="signature"><span class="path">Logger</span> . <span class="path">errors</span> . <span class="method">UNPREDICTABLE_GAS_LIMIT</span><div class="anchors"></div></div><div class="body"><p>When estimating the required amount of gas for a transaction, a node is queried for its best guess.</p><p>If a node is unable (or unwilling) to predict the cost, this error occurs.</p><p>The best remedy for this situation is to specify a gas limit in the transaction manually.</p><p>This error can also indicate that the transaction is expected to fail regardless, if for example an account with no tokens is attempting to send a token.</p></div></div>
<a name="creating-instances"></a><h2 class="show-anchors"><div>Creating instances<div class="anchors"><a class="self" href="#creating-instances"></a></div></div></h2>
<div class="property show-anchors"><div class="signature"><span class="modifier">new </span><span class="path">ethers</span> . <span class="path">utils</span> . <span class="method">Logger</span> ( <span class="param">version</span> ) <div class="anchors"></div></div><div class="body"><p>Create a new logger which will include <i>version</i> in all errors thrown.</p></div></div><div class="footer"><div class="nav previous"><a href="/api/utils/hdnode/"><span class="arrow">&larr;</span>HD Wallet</a></div> <div class="nav next"><a href="/api/utils/properties/">Property Utilities<span class="arrow">&rarr;</span></a></div></div><div class="copyright">The content of this site is licensed under the <a href="https://choosealicense.com/licenses/cc-by-4.0/">Creative Commons Attribution 4.0 International License</a>.</div></div><script src="/script.js" type="text/javascript"></script></body></html><!-- ContentHash:c20c6fa1b263ed58707271b1d721d05273f57d090a98e82be9dae291428d393d -->