Elastic transport
Index your logged data to elasticsearch.
npm install @churchill/elastic @elastic/elasticsearch@^7.0.0
Usage
const churchill = require("@churchill/core");
const Elastic = require("@churchill/elastic");
const elasticTransport = Elastic.create({
node: "http://localhost:9200",
index: "churchill-logs",
format: info => ({
level: info.level,
namespace: info.namespace,
timestamp: info.timestamp,
payload: JSON.stringify(info.args)
})
})
elasticTransport.on("error", (err) => {
// ... you should handle errors
});
const createNamespace = churchill({
transports: [elasticTransport]
});
const logger = createNamespace("worker:1");
logger.info("...");
Options
Option | Description | Example |
---|
client | Elasticsearch client (or just pass a node URL) | new Client({ node: "..." }) |
node | Elasticsearch node URL | { node: "http://localhost:9200" } |
index | Index where to store logs. | churchill-log |
format | Custom formatting function. | { format: (info, out, logger) => ... } |
maxLevel | Max level to log into this transport. | { maxLevel: "warn" } |
Events
Name | Params | Description |
---|
error | error: Error | Emited when indexing throws an Error |