Security News
NIST Misses 2024 Deadline to Clear NVD Backlog
NIST has failed to meet its self-imposed deadline of clearing the NVD's backlog by the end of the fiscal year. Meanwhile, CVE's awaiting analysis have increased by 33% since June.
fluent-logger
Advanced tools
fluent-logger implementation for Node.js inspired by [fluent-logger-python].
fluent-logger implementation for Node.js inspired by fluent-logger-python.
$ npm install fluent-logger
Fluent daemon should listen on TCP port.
Simple configuration is following:
<source>
@type forward
port 24224
</source>
<match **.*>
@type stdout
</match>
Singleton style
var logger = require('fluent-logger')
// The 2nd argument can be omitted. Here is a default value for options.
logger.configure('tag_prefix', {
host: 'localhost',
port: 24224,
timeout: 3.0,
reconnectInterval: 600000 // 10 minutes
});
// send an event record with 'tag.label'
logger.emit('label', {record: 'this is a log'});
Instance style
var logger = require('fluent-logger').createFluentSender('tag_prefix', {
host: 'localhost',
port: 24224,
timeout: 3.0,
reconnectInterval: 600000 // 10 minutes
});
The emit method has following signature
.emit([label string], <record object>, [timestamp number/date], [callback function])
Where only the record
argument is required. If the label is set it will be
appended to the configured tag.
Before using [log4js] support, you should install it IN YOUR APPLICATION.
var log4js = require('log4js');
log4js.addAppender(require('fluent-logger').support.log4jsAppender('mytag', {
host: 'localhost',
port: 24224,
timeout: 3.0
}));
var logger = log4js.getLogger('foo');
logger.info('this log record is sent to fluent daemon');
You can add log level after tag automatically.
var log4js = require('log4js');
log4js.addAppender(require('fluent-logger').support.log4jsAppender('mytag', {
host: 'localhost',
port: 24224,
timeout: 3.0,
levelTag: true
}));
var logger = log4js.getLogger('foo');
logger.info('this log record is sent to fluent daemon');
If levelTag
is true
, tag is "mytag.INFO". If levelTag
is false
, tag is "mytag".
You can handle inner events such as 'error' it is raised when fluentd is down.
var log4js = require('log4js');
var appender = require('fluent-logger').support.log4jsAppender('mytag', {
host: 'localhost',
port: 24224,
timeout: 3.0
});
appender.on('error', function(err) {
// Handle err object
console.log(err);
});
log4js.addAppender(appender);
Before using winston support, you should install it IN YOUR APPLICATION.
var winston = require('winston');
var config = {
host: 'localhost',
port: 24224,
timeout: 3.0
};
var fluentTransport = require('fluent-logger').support.winstonTransport();
var logger = new (winston.Logger)({
transports: [new fluentTransport('mytag', config), new (winston.transports.Console)()]
});
logger.log('info', 'this log record is sent to fluent daemon');
logger.info('this log record is sent to fluent daemon');
Several libraries use stream as output.
var sender = require('fluent-logger').createFluentSender('tag_prefix', {
host: 'localhost',
port: 24224,
timeout: 3.0,
reconnectInterval: 600000 // 10 minutes
});
var logger = new Console(sender.toStream('stdout'), sender.toStream('stderr'));
logger.log('this log record is sent to fluent daemon');
tag_prefix
The tag prefix string.
You can specify null
when you use FluentSender
directly.
In this case, you must specify label
when you call emit
.
host
The hostname. Default value = 'localhost'.
See socket.connect
port
The port to listen to. Default value = 24224.
See socket.connect
path
The path to your Unix Domain Socket.
If you set path
then fluent-logger ignores host
and port
.
See socket.connect
timeout
Set the socket to timetout after timeout
milliseconds of inactivity
on the socket.
reconnectInterval
Set the reconnect interval in milliseconds. If error occurs then reconnect after this interval.
requireAckResponse
Change the protocol to at-least-once. The logger waits the ack from destination.
ackResponseTimeout
This option is used when requireAckResponse is true. The default is 190. This default value is based on popular tcp_syn_retries
.
Apache License, Version 2.0.
This package is compatible with NodeJS versions > 4.
v2.2.0 - 2016-10-18
FAQs
fluent-logger implementation for Node.js inspired by [fluent-logger-python].
The npm package fluent-logger receives a total of 29,351 weekly downloads. As such, fluent-logger popularity was classified as popular.
We found that fluent-logger demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
NIST has failed to meet its self-imposed deadline of clearing the NVD's backlog by the end of the fiscal year. Meanwhile, CVE's awaiting analysis have increased by 33% since June.
Security News
Cloudflare has launched a setup wizard allowing users to easily create and manage a security.txt file for vulnerability disclosure on their websites.
Security News
The Socket Research team breaks down a malicious npm package targeting the legitimate DOMPurify library. It uses obfuscated code to hide that it is exfiltrating browser and crypto wallet data.