Commit Graph
72 Commits
Author SHA1 Message Date
Gareth Jones fb072dd70d 0.6.20 2014-08-26 09:59:10 +10:00
Gareth Jones ae04cc9a4a 0.6.19 2014-08-21 21:21:16 +10:00
Gareth Jones ab77895555 0.6.18 2014-08-20 09:12:13 +10:00
Gareth Jones ceffdf92e4 Removed hook.io appender, because hook.io does not build on systems without python 2014-08-16 12:23:50 +10:00
Gareth Jones fb9948145c 0.6.17 2014-08-15 18:32:32 +10:00
Gareth Jones eaa77b0454 0.6.16 2014-07-12 17:46:03 +10:00
Gareth Jones a703f2dc12 0.6.15 2014-07-03 08:16:07 +10:00
Gareth Jones ca5272aacc 0.6.14 2014-04-22 10:06:04 +10:00
Gareth Jones 0c2baa9690 0.6.13 2014-04-09 07:44:23 +10:00
Gareth Jones 492919b940 0.6.12 2014-03-05 13:17:15 +11:00
Gareth Jones cd2ee14bde 0.6.11 2014-03-05 09:25:03 +11:00
Gareth Jones 72bfb5d980 0.6.10 2014-02-11 08:51:21 +11:00
Gareth Jones 83ad0babf3 changed my email address 2014-02-11 08:50:36 +11:00
Gareth Jones d2f044a451 0.6.9 2013-09-30 08:48:15 +10:00
Gareth Jones 731e217505 removed dequeue from dependencies 2013-08-22 15:46:42 +10:00
Gareth Jones 3018a49bde 0.6.8 2013-08-22 11:52:25 +10:00
Felix Böhm 7a1a895e46 browserify support 2013-08-20 18:48:27 +02:00
Gareth Jones 1e17f88ded 0.6.7 2013-08-02 11:38:34 +10:00
Gareth Jones 8383dfc4f4 0.6.6 2013-05-25 13:10:46 +10:00
Gareth Jones fdc9d253c9 0.6.5 2013-05-16 16:57:25 +10:00
Gareth Jones af6ae7af98 new version for alwaysIncludePattern 2013-05-05 14:01:40 +10:00
Gareth Jones 7844b0d2e4 0.6.3 2013-04-11 22:29:13 +10:00
Gareth Jones 8b49ba9f3d added node 0.8 to travis config and package.json 2013-04-11 21:49:08 +10:00
Gareth Jones ed7462885f backporting new streams to node 0.8 for issue #129 2013-04-11 21:45:16 +10:00
Gareth Jones 36c5175a55 0.6.2 2013-04-02 12:02:47 +11:00
Gareth Jones 6352632fb2 fix version of node supported 2013-04-02 10:02:48 +11:00
Gareth Jones 65e490cbd2 Fixes for version v0.10 streams, breaks log4js for older versions of node 2013-03-20 09:14:27 +11:00
Gareth Jones 5e242c9dc9 bumped version 2013-02-25 16:33:48 +11:00
Nicolas Pelletier b75e3660f4 Speed up file logging for high rate of logging.
During an evaluation of multiple loggers, I saw a slow down when trying to
quickly log more than 100,000 messages to a file:
```javascript
    counter = 150000;
    while (counter) {
        logger.info('Message[' + counter + ']');
        counter -= 1;
    }
```

My detailed test can be found here:
 - https://gist.github.com/NicolasPelletier/4773843

The test demonstrate that writing 150,000 lines straight in a FileStream
takes about 22 seconds until the file content stabilizes. When calling
logger.debug() 150,000 times, the file stabilizes to its final content
after 229s ( almost 4 minutes ! ).

After investigation, it turns out that the problem is using an Array() to
accumulate the data. Pushing the data in the Array with Array.push() is
quick, but the code flushing the buffer uses Array.shift(), which forces
re-indexing of all 149,999 elements remaining in the Array. This is
exponentially slower as the buffer grows.

The solution is to use something else than an Array to accumulate the
messages. The fix was made using a package called Dequeue
( https://github.com/lleo/node-dequeue ). By replacing the Array with
a Dequeue object, it brought the logging of 150,000 messages back down to
31s. Seven times faster than the previous 229s.

There is a caveat that each log event is slightly longer due to the need
to create an object to put in the double-ended queue inside the Dequeue
object. According to a quick test, it takes about 4% more time per call
to logger.debug().
2013-02-13 09:35:02 -05:00
Gareth Jones 3e1a27e522 New version, with colours in pattern layout 2012-12-03 09:59:36 +11:00
Gareth Jones a9307fd6da fix for issue #100, multiprocess appender and logLevelFilter don't play nicely 2012-11-09 16:02:16 +11:00
Gareth Jones 4739c65c68 Version 0.5.4 2012-10-16 11:54:21 +11:00
Gareth Jones 2bfad6362a Version 0.5.3 2012-09-26 09:49:58 +10:00
Gareth Jones 012b0d5ed7 version 0.5.2 2012-08-14 10:47:25 +10:00
Gareth Jones 40ba24a55d Renamed tests so that vows will pick them up automatically 2012-07-31 14:52:36 +10:00
Gareth Jones e3a20a1746 bumped npm version 2012-07-04 09:28:56 +10:00
Gareth Jones ad7e844d68 bumped npm version 2012-06-01 18:13:00 +10:00
Gareth Jones 05d5265554 updated hook.io version, was breaking travis build 2012-05-29 16:59:26 +10:00
Gareth Jones 9a29d6222e changed minimum node version to 0.6 2012-05-29 16:52:50 +10:00
Gareth Jones 38a89dcf3d manually merged TooTallNate's pull request #62 2012-05-29 16:49:12 +10:00
Gareth Jones c8157cef5c fixed file appender tests 2012-03-22 09:34:41 +11:00
Gareth Jones cff6928761 bumped npm version 2012-03-20 09:39:56 +11:00
Gareth Jones d276bbc2f8 Bumped version number, added travis status to readme 2012-02-22 14:37:45 +11:00
Arif Amirani 449893fd24 Added missing dependency on compress-buffer 2012-01-11 16:13:42 +05:30
Gareth Jones 78de73a274 Working version of fully-async log rolling file appender - tests need fixing though 2011-12-19 16:58:21 +11:00
Gareth Jones e5d0b3348f bumped version 2011-11-24 08:40:12 +11:00
Gareth Jones a3a0c55322 version 0.4.0 2011-11-21 16:17:46 +11:00
Gareth Jones 154c0dc299 changed web->url in bugs (issue #41) 2011-11-16 08:21:44 +11:00
Danny Brain a95117c0d3 Add tests for multiprocess file appender 2011-11-03 09:10:02 +11:00
Danny Brain 23a2758a6d Lazy load any new style appenders 2011-10-27 16:25:38 +11:00