Coder Social home page Coder Social logo

log4js-tcp's Introduction

log4js-tcp

log4js tcp appender.

Demo

var log4js = require('log4js');
log4js.loadAppender('log4j-tcp');

log4js.configure({
    appenders: [{
        type: 'log4j-tcp',
        loggerPort: 33333,
        loggerHost: "127.0.0.1",
        category: 'cheese',
    }]
});

var logger = log4js.getLogger('cheese');
logger.setLevel('ERROR');

logger.trace('Entering cheese testing');
logger.debug('Got cheese.');
logger.info('Cheese is Gouda.');
logger.warn('Cheese is quite smelly.');
logger.error('Cheese is too ripe!');
logger.fatal('Cheese was breeding ground for listeria.');

log4js-tcp's People

Contributors

tianyk avatar

Stargazers

Eldo Loguzzo avatar

Watchers

James Cloos avatar  avatar

log4js-tcp's Issues

Unable to connect log4js with tcp

please help almost 3 days waste

// tcpserver.js

// TCPSERVER SETUP
// tcpserver.js for all socket connections exchange communication

var net = require('net');
var log4js = require('log4js');
var socketUtil = require("./app/utils/socketutils.js");

// Set port and host against tcp server
var HOST = process.env.TCPHOST || '127.0.0.1';
var PORT = process.env.TCPPORT || 8889;

//create objects and properties
var tcpServer = net.createServer();
var canWrite = false;
var buffer = [];
var END_MSG = 'LOG4JS';

//Set up logger things
log4js.configure({
appenders: [{
type: 'console'
}, {
type: 'file',
filename: "logs/default.log", // specify the path where u want logs folder error.log
category: 'etm_android_log'
// maxLogSize: 20480,
// backups: 10
}]
});

// initialize the logger var to use.
var logger = log4js.getLogger('etm_android_log');
//logger.info("Time:", new Date());'''

tcpServer.on('connection', function(socket){

console.log('connection established....');
socketUtil.socketAddress(socket);

// 'getConnection' event handler to count the number of tcp connections
tcpServer.getConnections(function(error, count) {
	console.log('Concurrent tcp connections= ' + count);
});

// add an 'end' event handler to this instance of socket
socket.on('end', function() {
	socketUtil.socketStats(socket);
	console.log('end event on socket fired');
});

// add an 'close' event handler to this instance of socket
socket.on('close', function() {
	console.log('close event on socket fired');
})

// add a 'data' event handler to this instance of socket
socket.on('data', function(data) {
	console.log('data received from the tcp client');
	emptyBuffer(data);
	logger.info('This is Information Logger');
	canWrite = true;
	// var flushed = socket.write('TCP Server Reply: ' + data);
	// console.log(flushed);
	// socketUtil.socketStats(socket);
	//socket.emit('error', new Error('forcefully injected error'));
});

// add a 'error' event handler to this instance of socket
socket.on('error', function(error) {
	if (error.code == 'ECONNRESET') {
		console.log('ECONNRESET is ' + error.messsage )
	} else {
		console.log('something wrong happpened here' + error.messsage);
	}
	//socket.end('socket can send some more data but it will be ended');
	//socket.destroy();
});

socket.setTimeout(600000);
socket.on('timeout', function() {
	socket.end('timed out...');
});

// Logging Stack Events
function emptyBuffer(evtData) {
	console.log('Buffer Calling');
	//var evt;
	while ((evt = buffer.shift())) {
		console.write('my event data is ' + evtData);
		write(evtData);
	}
}

function write(loggingEvent) {
	// JSON.stringify(new Error('test')) returns {}, which is not really useful for us.
	// The following allows us to serialize errors correctly.
	console.write('my loggingEvent is ' + evt);
	if (loggingEvent && loggingEvent.stack && JSON.stringify(loggingEvent) === '{}') { // Validate that we really are in this case
		loggingEvent = {
			stack: loggingEvent.stack
		};
	}
	socket.write(JSON.stringify(loggingEvent), 'utf8');
	socket.write(END_MSG, 'utf8');

	if (canWrite) {
		write(loggingEvent);
	} else {
		buffer.push(loggingEvent);
	}
}

});

tcpServer.maxConnections=10;

/setTimeout(function() {
tcpServer.close(function() {
console.log('server closed');
})
}, 600000);
/

tcpServer.on('close', function() {
console.log('second server close event handler');
});

// tcpServer.listen(PORT);
// tcpServer.listen(PORT, HOST);

tcpServer.listen(PORT, HOST, function() {
/var host = server.address().address,
port = server.address().port;
console.log('TCP Server started listening on HOST: ' + host + ' & PORT: ' + port);
/

console.log('TCP Server started listening on HOST: ' + HOST + ' & PORT: ' + PORT);

});
'''

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.