1.2.4 โ€ข Published 6 months ago

@odg/json-log v1.2.4

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

codecov Stargazers Made by ODGodinho Forks Repository size GitHub last commit License StyleCI

Table of Contents


๐ŸŽ‡ Benefits

  • ๐Ÿš€ Speed start new project or package using typescript
  • ๐Ÿšจ Over 800 rules for pattern, possible errors and errors in Linter
  • ๐ŸŽ‡ Log Pattern default format

๐Ÿ“— Libraries

๐Ÿ“ Dependencies

โฉ Get Started


๐Ÿ”˜ Use Plugin

install this plugin with

yarn add @odg/json-log

๐ŸŽฒ Implementation

const logger = new Logger(); // Or Other Class Logger
const consoleLogger = new ConsoleLogger(); // Or Other Class Logger
const processor = new JSONLoggerPlugin(
    "appName",
);
logger.pushHandler(consoleLogger);
logger.pushProcessor(processor);

// If you need convert Request and response request headers body, params in string before log
logger.pushProcessor(RequestStringPlugin);

plugin.setIdentifier(randomUUID());

๐Ÿ’Œ Send Log

try {
    throw new Exception("Example");
} catch (error) {
    await logger.error(error);
}

LOG JSON Return

{
    "type": "error",
    "index": "appName",
    "instance": "ContainerID",
    "identifier": "00000000-0000-0000-0000-00000", // use setIdentifier in plugin to change log group
    "gitRelease": "v1.0.0",
    "gitBranch": "main",
    "exception": {
        "type": "string", // ExceptionClassName
        "message": "string", // Example
        "fileException": "string", // index.js
        "functionName": null, // OPTIONAL:
        "fileLine": "number", // 1
        "fileColumn": "number", // 1
        "stack": "stack",
    },
    "exceptionPreview": null, // OPTIONAL: This is preview second property on new Exceptions("Example", error);
    "request": {
        "url": "string",
        "baseURL": "string",
        "method": "Methods | string",
        "headers": {
            "header-key": "header-value"
        },
        "params": "ParametersInterface",
        "data": "RequestData",
        "timeout": "number",
        "responseType": "ResponseType",
        "maxContentLength": "number",
        "validateStatus": "((status: number) => boolean) | null",
        "maxBodyLength": "number",
        "maxRedirects": "number",
        "socketPath": "string | null",
        "proxy": "ProxyConfigInterface | false",
        "response": { // OPTIONAL: This is response from axios
            "data": "any",
            "status": "number",
            "headers": {
                "string": "string"
            },
        }
    },
    "createdAt": "Date",
}

๐Ÿ’ป Prepare To Develop

Copy .env.example to .env and add the values according to your needs.

๐Ÿ“ Start Project

First install dependencies with the following command

yarn install
# or
npm install

๐Ÿ“จ Build and Run

To build the project, you can use the following command

if you change files, you need to run yarn build and yarn start again

yarn build && yarn start
# or
yarn dev

๐Ÿงช Teste Code

To Test execute this command

yarn test
# or
yarn test:watch
1.2.0

7 months ago

1.1.0

8 months ago

1.2.4

6 months ago

1.2.3

7 months ago

1.2.2

7 months ago

1.2.1

7 months ago

1.0.0

1 year ago

0.0.1

1 year ago