1.4.1 โข Published 7 months ago
@odg/json-log v1.4.1
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 buildandyarn startagain
yarn build && yarn start
# or
yarn dev๐งช Teste Code
To Test execute this command
yarn test
# or
yarn test:watch