Commit Graph
68 Commits
Author SHA1 Message Date
Gareth Jones a136404021 bumping the version 2013-09-24 07:33:50 +10:00
Gareth Jones 3142497e98 bumped streamroller version 2013-08-29 22:36:05 +10:00
Gareth Jones 09d4300875 removed async, semver, readable-stream deps 2013-08-29 22:23:32 +10:00
Gareth Jones 72c4fb48db extracted streams, date-format into separate modules 2013-08-29 22:15:50 +10:00
Gareth Jones fe1f1228ca removed underscore from dev dependencies 2013-08-29 08:42:22 +10:00
Gareth Jones 50074842ad replaced my debug lib with standard one 2013-08-25 11:55:26 +10:00
Gareth Jones 6c09a6fb71 fixed trailing comma 2013-08-23 08:42:26 +10:00
Gareth Jones 5f68db41b4 merge from master 2013-08-22 15:51:08 +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 c60d629608 added mocha, simplified logger by removing levels and making immutable 2013-08-08 08:56:09 +10:00
Gareth Jones 9c510f7705 added weak references dep 2013-08-05 07:51:21 +10: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
Danny Brain 3b77a42706 Added a hookio appender, this allows you to run a 'master' log4js instance and 'worker' so only one process writes to file 2011-10-27 12:38:13 +11:00
Cliffano Subagio b78fd77015 Add sandboxed-module to dev dependencies. 2011-09-15 11:03:54 +10:00
Gareth Jones 12e71bda4e fixed to work with node 0.5.x 2011-09-15 08:13:04 +10:00
Gareth Jones 53a481d4da Added filtering to appender loader - was choking on .svn files 2011-08-11 16:27:37 +10:00