1.2.4 โข Published 6 months ago
@odg/json-log v1.2.4
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
- Node.js 16 or later
- Yarn Optional/Recommended
- ODG TsConfig Last Version
- error-stack-parser Last Version
โฉ 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
andyarn start
again
yarn build && yarn start
# or
yarn dev
๐งช Teste Code
To Test execute this command
yarn test
# or
yarn test:watch