new-relic-logs
Version:
Post logs to new relic
48 lines (38 loc) • 1.26 kB
JavaScript
const fetch = require('node-fetch')
const newrelic = require('newrelic')
const newRelicLogUrl = 'https://log-api.newrelic.com/log/v1'
const logType = {
info: 'info',
warning: 'warning',
error: 'error'
}
const createLog = async (logtype, inputMessages) => {
try {
const message = inputMessages.join('')
let traceData = newrelic.getLinkingMetadata()
const requestBody = {
"message": message,
"level": logtype,
"timestamp": new Date().getTime(),
...traceData
}
const config = {
method: 'POST',
headers: {
'Content-Type': "application/json",
'X-License-Key': process.env.NEW_RELIC_LICENSE_KEY
},
body: JSON.stringify(requestBody)
}
const response = await fetch(newRelicLogUrl, config)
if (!response.ok) throw Error(response.message);
const data = await response.json();
return data;
} catch (error) {
console.log(`Error al crear log en new-relic de ${process.env.NEW_RELIC_APP_NAME}: ${error}`);
}
}
module.exports = {
createLog: createLog,
logType, logType
}