It's a javascript client to use Logger api.
- ECMAScript 6 to use last functionalities like class, promise, async/await, etc... http://es6-features.org
- Webpack to manage modules https://webpack.js.org/
- Babel to compile the javascript to be compatible with old browsers https://babeljs.io/
- Tools executed with Node.js version 10 https://nodejs.org/en/
- Packages managed with
npm
https://nodejs.org/en/ - ESLing to linting the code https://eslint.org/
- Execute command
npm i
- Generate development file: execute command
npm run dev
(result path:dist/logger-client.js
)
It will keep a process to re-generate the file each times you change the sources - Generate dist file: execute command
npm run build
(result path:dist/logger-client.js
) - Execute unit tests: execute command
npm run test
(code coverage page path:coverage/index.html
) - When you push your changes, don't forget to generate dist file !
- Update the npm package:
npm login
(to log with yoctu account) andnpm publish
(don't forget to change version in package.json)
- Fetch the project files (download, clone, etc...)
- Add a
<script>
to use file indist/logger-client.js
- Fetch the project files (download, clone, etc...)
- Import the client with
import * as LoggerClient from 'logger-client-js''
You will be able to import only the feature you want (see the example below).
First you need to configure the client using the configure
function. You only need to do this once in your project. If you don't do it, you'll get an exception when using the client.
import { configure } from 'logger-client-js';
configure({
url:'http://127.0.0.1:8080/api/notifications',
filterLevel: LoggerClient.Notification.LVL_DEBUG,
isHttpServer: true, // if node process is running a http server
});
import { Notification, notify } from 'logger-client-js';
var notif = new Notification({
message: `Test message à la date du ${Date.now()}`,
user: 'Yoctu',
server: 'http://server.com',
command: 'pkg',
origin: 'cli',
category: Notification.BUSINESS,
level: Notification.LVL_DEBUG,
reportedAt: new Date('2020-02-14'),
context: [
{
key: 'Key1',
value: 'Value1',
},
]
});
notify(notif)
.then(response => {
console.log('The result is', response);
})
.catch(err => console.log('The was an error', err));
import { Notification, retrieve } from 'logger-client-js';
retrieve({
notification_message: 'tests',
notification_operator: 'like'
})
.then(response => {
console.log(response);
})
.catch((err) => {
console.log(err.statusText);
});