Commit Graph

249 Commits (4d4663758e33ad29f3acca7224ce384ddc954905)

Author SHA1 Message Date
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
Trent Mick bed6fbfb66 prep for future dev 2015-01-17 22:05:16 -08:00