@odg/json-log
v1.2.4
Published
parse your log in JSON formatter
Downloads
274
Readme
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