Commit graph

210 commits

Author SHA1 Message Date
Trent Mick
15f2bb1133 prep for future dev 2015-06-01 22:13:17 -07:00
Trent Mick
a5bc7911d3 prep for future dev 2015-04-12 22:18:52 -07:00
Trent Mick
2828e462aa prep for future dev 2015-02-20 14:55:15 -08:00
Trent Mick
c25ce3a5bd Allow log.child(...) to work even if the logger is a *sub-class* of Bunyan's Logger class. 2015-02-20 14:52:37 -08:00
Trent Mick
a7c646191d Hide 'source-map-support' require from browserify. Fixes #219 2015-02-19 20:41:34 -08:00
Trent Mick
22669dbd32 Reset haveNonRawStreams on <logger>.addStream
Fixed #218
2015-02-05 21:45:55 -08:00
Trent Mick
6cabaa9a0b prep for future dev 2015-01-26 09:24:03 -08:00
Trent Mick
ffd9903d74 prep for future dev 2015-01-18 23:29:43 -08:00
Trent Mick
64b8fd1004 test cases for #182, style tweaks, changelog, etc. 2015-01-18 23:27:28 -08:00
Martin Gausby
c0ca774238 Defend against throwing defined props in stringify
If an object has a defined property, that is enumerable, and this
property throws an error, it will make JSON stringify throw an
error, and potentially bring down the program.

The solution so far is to try-catch with the usual json stringifyer,
that guards against circular references. If this throws an error
we will attempt to guard against defined properties; and return
[Throws] if a property throws an error when accesed.

The following examples illustrate the problem:

```js
var obj = {};
obj.__defineGetter__('foo', function() { throw new Error('ouch!'); });

JSON.stringify(obj.foo); // error thrown
```

And using `Object.defineProperty`:
```js
var obj = {};
Object.defineProperty(obj, 'foo', {
    get: function() { throw new Error('ouch!'); }
    enumerable: true // enumerable is false by default
});

JSON.stringify(obj.foo); // error thrown
```

The cases we have seen in production is third party modules that
has enumerable getters that try to access properties on undefined
objects.

Fixes #182.
2015-01-18 23:27:06 -08:00
Trent Mick
bed6fbfb66 prep for future dev 2015-01-17 22:05:16 -08:00
Trent Mick
08a4bab1ba fix 'make check' 2015-01-17 22:04:39 -08:00
Trent Mick
b9e3a0d3cb export 'bunyan.RotatingFileStream' 2015-01-17 21:56:46 -08:00
Trent Mick
83f33890de added integration with source-map-support for integration with sourcemaps
Style updates, changelog, etc. Fixes #122
2015-01-17 21:15:38 -08:00
Trent Mick
1ed684d110 Ensure a top-level level given in bunyan.createLogger is *used* for given streams
Fixes #164
2015-01-17 20:39:06 -08:00
Trent Mick
b975c3a9f8 prep for future dev 2015-01-17 13:34:33 -08:00
Trent Mick
838b1995ef correct version 2015-01-17 13:34:02 -08:00
Trent Mick
f4b97a4952 fix 'make check'; correct version 2015-01-17 13:33:12 -08:00
Trent Mick
da440c9324 Merge pull request #203 from cb1kenobi/useless_level
Removed useless level check.
2015-01-16 22:33:45 -08:00
Trent Mick
7dfde13ac3 Correct error added in commit d77f8247
Also, bump minor ver for `-L` CLI addition and coming release.
2015-01-16 22:31:50 -08:00
Trent Mick
d77f824723 improve rotating-file assert on 'count' field
Fixes #207, #208
2015-01-16 09:00:13 -08:00
Trent Mick
783b1c4e39 prep for future dev 2015-01-15 22:20:21 -08:00
Trent Mick
4009692cdb fix 'make check' 2015-01-15 22:19:59 -08:00
Trent Mick
7c0b566e63 [issue #210] Export bunyan.nameFromLevel and bunyan.levelFromName 2015-01-15 22:18:29 -08:00
Chris Barber
ee5d9b8082 Removed unless level check. 2014-12-28 21:37:21 -08:00
Trent Mick
2f95bb8091 Gracefully handle use of an unbound Logger.{info,debug,...} 2014-12-08 10:43:33 -08:00
Connor Peet
1e793b182c Don't make objCopy crash on non-objects 2014-12-05 22:23:43 -05:00
Trent Mick
79fc7178bd prep for future dev 2014-11-17 21:46:54 -08:00
Trent Mick
980e281096 #185 add some comments, const, Daniel to authors, and changelog 2014-11-17 21:45:41 -08:00
Daniel Juhl
a280863be6 Handle far future timeouts for logrotation
Limit the delay to 2147483647 and then check in rotate() whether we should actually rotate the files or just issue another timeout.

Fixes #184, #185.
2014-11-17 21:43:45 -08:00
Trent Mick
48a903c040 prep for future dev 2014-11-13 23:15:55 -08:00
Trent Mick
74a2a1c57d allow Logger level values outside TRACE..FATAL 2014-11-13 23:15:21 -08:00
Trent Mick
e43a1a405f prep for future dev 2014-10-25 21:06:13 -07:00
Trent Mick
04de162a02 prep for future dev 2014-10-17 14:34:49 -07:00
Trent Mick
6fc941c9b4 Restore dtrace-provider in optionalDependencies
dtrace-provider v0.3.0 fixes build issues of yore. This fixes things
for node 0.11/0.12 usage.

Fixes #157
2014-10-15 22:18:11 -07:00
Trent Mick
5598700713 prep for future dev 2014-09-27 21:50:14 -07:00
Trent Mick
bd149b924b prep for future dev 2014-09-27 21:26:15 -07:00
Trent Mick
a5ca41a150 Fix a breakage in log.info(err) on a logger with no serializers. 2014-09-27 21:22:17 -07:00
Trent Mick
b9f347b757 prep for future dev 2014-09-27 21:08:53 -07:00
Trent Mick
d3929226a8 Fix 'make check' 2014-09-27 21:04:14 -07:00
Trent Mick
bc49f14cfa Merge pull request #168 from matomesc/master_matomesc
Use the correct error serializer
2014-09-27 21:02:15 -07:00
Trent Mick
594cc82da1 Better browser sniffing suggested at 414f33563d (commitcomment-7936060) 2014-09-26 20:46:27 -07:00
Trent Mick
9c150d9c6e prep for future dev 2014-09-21 21:21:06 -07:00
Trent Mick
414f33563d browserify support, bump ver to 1.1.0 2014-09-21 21:20:43 -07:00
Mihai Tomescu
576e500b11 use the correct error serializer 2014-09-13 20:12:09 -04:00
Trent Mick
cb703ef474 prep for future dev 2014-08-25 00:51:14 -07:00
Trent Mick
7ef6b120db 'make check' clean 2014-08-25 00:50:53 -07:00
Trent Mick
eaa88a74b6 Merge pull request #138 from andreineculau/patch-1
fix #105: export addStream and addSerializers
2014-08-25 00:30:16 -07:00
Ryan Graham
c3b8dd26a7 Fix parent instanceof guard
The ! operator is higher priority than the instanceof operator, so the
expression (! this instanceof X) is the same as ((!this) instanceof X),
which will always evaluate to false.
2014-08-08 18:28:29 -07:00
Ryan Graham
58df808325 Fix ctor instanceof guard
The ! operator is higher priority than the instanceof operator, so the
expression (! this instanceof X) is the same as ((!this) instanceof X),
which will always evaluate to false.
2014-08-08 18:26:07 -07:00