Commit graph

250 commits

Author SHA1 Message Date
Trent Mick
b33b7e523d add notes about writing good serializer functions, prompted from issue #464 2017-03-07 19:02:13 -08:00
Samuel Tribehou
2d535a6395 Anonymise some functions to work around Safari bug
Some Safari versions will error with a syntax error if a function has the same name as
one of its parameter.
Found the bug in safari included with iOS 9.3.5.
Fixed for me with this patch.
2017-03-03 20:45:52 -08:00
Trent Mick
741bcaeb5d Fix a breakage I made in a last minute "fix 'make check'". 1.8.8 2017-03-03 14:39:44 -08:00
Trent Mick
907489d816 fix 'make check'; version 1.8.7 2017-03-03 13:37:30 -08:00
Justin McConnell
55f8c9d172 Don't throw errors in older versions of node/V8 that don't support the Set object. (#485)
Fixes #484.
2017-03-03 13:33:40 -08:00
Todd Whiteman
550ea90e1c Bunyan's safeCycles is too slow when logging large objects. Fixes #474 2017-03-03 10:39:51 -08:00
Cody Peter Mello
3cde7bcb3b trentm/node-bunyan#401 mkLogEmitter closures unnecessary for disabled log levels and have perf impact 2016-11-14 18:26:52 +00:00
Trent Mick
c04e84313f v1.8.4; fix 'src' usage with node v7
Fixes #454
2016-10-25 11:22:43 -07:00
Trent Mick
06dbebd168 drop unnecessary check, because typeof(null) already is "object", excluded in the first guard 2016-10-18 13:36:33 -07:00
Trent Mick
2390bf8df2 v1.8.3. Fix log.info(null) crash that resulted from #426 in v1.8.2.
Fixes #450
2016-10-18 13:13:20 -07:00
Trent Mick
a41539bfbd change 'make cutarelease' style to not do autocommits and version bumping as part of releasing 2016-10-17 16:30:55 -07:00
Trent Mick
09742317fd Ensure log.info({err: err}) results in a "msg" value, just like log.info(err)
Fixes #426
2016-08-26 00:01:04 -07:00
Trent Mick
cbfaa9a7bd bumpver for subsequent work 2016-04-21 01:00:52 -07:00
Trent Mick
dfa12b2c97 beef up RotatingFileStream internal debugging 2016-04-21 00:31:46 -07:00
Frankie O'Rourke
084f38c005 rotate() OR _setupNextRot() on start 2016-04-21 00:09:59 -07:00
Trent Mick
ffc6355b6f bumpver for subsequent work 2016-03-16 22:52:27 -07:00
Trent Mick
69e7c7fa9c verbump and changelog for #329, #330 2016-03-06 22:31:43 -08:00
Paul Milham
46d2be4642 rotating-file: auto rotate file on startup if needed
Fixes #239
2016-03-06 22:21:06 -08:00
Trent Mick
bb1ab77c3e bumpver for subsequent work 2016-02-28 22:45:37 -08:00
Michael Nisi
cf1926fef6 Ensure stream for type='stream' stream is a writable stream :)
Fixes #332
2016-02-28 22:35:56 -08:00
Martijn Schrage
d9c5970be2 Don't advance to next rotation time when timeout fires early
Fixes #344
2016-02-28 21:44:40 -08:00
Trent Mick
f36943bb2d bumpver for subsequent work 2016-02-21 17:18:54 -08:00
Trent Mick
cd7dc6a92c Improve the runtime environment detection to fix running under NW.js.
Contributions by Adam Lynch (#310), Jeremy Ruppel (#311),
and Aleksey Timchenko (#302).
2016-02-21 13:31:57 -08:00
Trent Mick
8b94e81fa7 'reemitErrorEvents' bool on Bunyan streams to control error event handling
Related to PR #318.
2016-02-20 18:04:47 -08:00
Trent Mick
6fdc5ff209 Style/changelog/readme/test case for "error" event re-emitting.
PR: #318
2016-02-10 23:38:23 -08:00
Marc Udoff
e0e06d3af5 Any stream with an on function will register for error 2016-02-10 23:29:48 -08:00
Trent Mick
904c29eebd prep for future dev 2016-02-10 22:36:32 -08:00
Trent Mick
6ff1f36abc momentjs: avoid for default fast path; make required only for local time
Make the default (long output format, UTC time) for the bunyan CLI a
fast path that doesn't use moment.js. Admittedly I haven't measured
percentage impact of `moment(rec.time).utc().format(...)` for
many bunyan records.

Also make moment dep *optional*. The bunyan CLI will error out without
the moment dep *only if local time is requested.*
2016-02-10 22:13:01 -08:00
Trent Mick
788ad7cefe fix LOG.child(...) to *not* override the "hostname" field of the parent
Fixes #291. Fixes #303.
2016-02-02 23:45:31 -08:00
Trent Mick
2a5e1fc715 Allow one to set level: 0 in createLogger to turn on logging for all levels.
Fixes #325.
2016-02-02 23:12:02 -08:00
Trent Mick
4619d33b57 prep for future dev 2015-09-07 14:45:14 -07:00
Trent Mick
86b6769087 Fix src: true, which was broken in v1.5.0.
Also add a test case for `src: true` which is how 1.5.0 got released
without noticing this.

Fixes #296.
2015-09-07 14:37:29 -07:00
Trent Mick
2975178220 prep for future dev 2015-09-07 01:27:17 -07:00
Trent Mick
27d60578a9 strict mode
Should fix usage with bundles including bunyan and using strict mode.
Had to fix a surprise effect that 'window === this' is no longer
true in strict mode:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode
"""That means, among other things, that in browsers it's no longer
possible to reference the window object through this inside a strict
mode function."""

Fixes #236, #231, and #223.
2015-09-07 01:21:43 -07:00
Trent Mick
bf994a34b3 fix 'make check'; add some recent authors 2015-09-07 00:29:17 -07:00
Denis Izmaylov
466829dc73 Fix issues to work with webpack 2015-09-07 00:18:50 -07:00
Trent Mick
5e3e86cec3 bump to 1.5.0 2015-09-06 23:03:32 -07:00
Trent Mick
9d309c5dc4 comment tweak 2015-07-25 22:29:53 -07:00
Trent Mick
930ce61533 prep for future dev 2015-06-07 11:07:49 -07:00
Trent Mick
ff50cd3741 update versions to match 2015-06-07 11:07:31 -07:00
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