logging-n3xgen-cg-lib
Version:
Library to save logs into desire destiny, the current implementation is Opensearch.
80 lines (63 loc) • 2.39 kB
Markdown
[](https://www.cloudgensys.com/)
The purpose of this library is to provide a method that allow us to send information for auditing or tracking of any
component
to ths server elastic search. The information will be can when error produces or when we need send info for the
execution for the process in the
components
The library can be installed from npm page with some of the following commands:
**`npm install logging-n3xgen-cg-lib`**, **`npm i logging-n3xgen-cg-lib`** or **`yarn install logging-n3xgen-cg-lib`**
*
The library contains only one object, `objectLESReq`, this object will be contained the credentials valid to connect
with logging server, and it has the following properties:
***Values and Example***:
```javascript
{
"method":"POST", // it's the method http to connect with th server
"api_url":"https://elastic.n3xgen.cgdemos.com/proyect/trxlogs/", // it's api url or link to connect
"auth":"Basic ZWxhc3RpGzplbGFzdGlj" //it's the key of auth with the server
}
```
_Example with `axios` library:_
```javascript
axios.defaults.headers.common['Authorization'] = `${objectLESReq.auth}`;
resultApi = await axios({
method: objectLESReq.method,
url: objectLESReq.api_url,
data: {
...
}
});
```
---
*
The library only contains one method that allows us to connect with the server and send the data, `logging_n3xgen`,
The method receives two parameters, the first parameter is to send the information, the second is to indicate the
level
of the info, the following levels are available.
**_Levels_**:
```javascript
{
info: "info",
error: "error",
debug: "debug",
warn: "warn"
}
```
Example using the method:
```javascript
try {
const content = req.body;
const result = await logging_n3xgen(content, constants.log_levels.info);
let {
data
} = result;
res.status(200).json(data);
} catch (e) {
logging_n3xgen(e, constants.log_levels.error);
log.error(e.toString());
res.status(500).json(e);
}
```
> The method is async, but is recommended use it without an async, how block catch in example