# Performance

Rules that flag suboptimal code.
Table of Contents

## AvoidConsoleStatements

Since: PMD 7.5.0

Priority: Medium (3)

Using the console for logging in production might negatively impact performance. In addition, logging could expose sensitive data.

This rule is defined by the following XPath expression:

    //FunctionCall[PropertyGet
        [Name[1][@Identifier = 'console']]
        [Name[2][@Identifier]]
      ]
    |
    //FunctionCall[PropertyGet
        [PropertyGet[1]
            [Name[1][@Identifier = 'window']]
            [Name[2][@Identifier = 'console']]
        ]
        [Name[1][@Identifier]]
      ]

Example(s):

    var myObj = getData();
    console.log(myObj); // bad
    console.debug("myObj:", myObj); // bad

Use this rule by referencing it:

    <rule ref="category/ecmascript/performance.xml/AvoidConsoleStatements" />