1.0.3 • Published 1 year ago

eslint-plugin-require-logging v1.0.3

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

eslint-plugin-require-logging

An ESLint plugin that requires logging statements in all functions.

Installation

You can install the plugin using npm:

npm install eslint-plugin-require-logging --save-dev

Usage

Add require-logging to the plugins section of your ESLint configuration file, and then configure the rule to suit your needs.

.eslintrc.json

{
  "plugins": ["require-logging"],
  "rules": {
    "require-logging/require-logging": [
      "warn",
      {
        "smallFunctionMaxLines": 5,
        "smallFunctionLogs": { "debug": 1, "info": 1, "warn": 0, "error": 0, "verbose": 0 },
        "largeFunctionLogs": { "debug": 2, "info": 1, "warn": 1, "error": 0, "verbose": 0 }
      }
    ]
  }
}

Rule Options

smallFunctionMaxLines: The maximum number of lines for a function to be considered small. smallFunctionLogs: An object specifying the required number of log statements for small functions. largeFunctionLogs: An object specifying the required number of log statements for large functions.

Each log configuration object can have the following properties:

debug: Number of required debug log statements. info: Number of required info log statements. warn: Number of required warn log statements. error: Number of required error log statements. verbose: Number of required verbose log statements.

Examples

Valid

function fetchData() {
  console.debug('Fetching data...');
  console.info('Data fetched');
  return data;
}

const fetchDataFunc = function() {
  Logger.debug('Fetching data...');
  Logger.info('Data fetched');
  return data;
};

Invalid

function fetchData() {
  console.debug('Fetching data...');
  return data;
}

// ESLint will report: "Function [fetchData] is missing required logging statements. Expected 1 info log(s), found 0."

License

MIT

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago