fix LOG.child(...)
to *not* override the "hostname" field of the parent
Fixes #291. Fixes #303.
This commit is contained in:
parent
c3b76b1f15
commit
788ad7cefe
4 changed files with 31 additions and 1 deletions
1
AUTHORS
1
AUTHORS
|
@ -26,3 +26,4 @@ Denis Izmaylov (https://github.com/DenisIzmaylov)
|
||||||
Guillermo Grau Panea (https://github.com/guigrpa)
|
Guillermo Grau Panea (https://github.com/guigrpa)
|
||||||
Mark LeMerise (https://github.com/MarkLeMerise)
|
Mark LeMerise (https://github.com/MarkLeMerise)
|
||||||
https://github.com/sometimesalready
|
https://github.com/sometimesalready
|
||||||
|
Charly Koza (https://github.com/Cactusbone)
|
||||||
|
|
|
@ -8,6 +8,10 @@ Known issues:
|
||||||
|
|
||||||
## 1.5.2 (not yet released)
|
## 1.5.2 (not yet released)
|
||||||
|
|
||||||
|
- [pull #291, issue #303] Fix `LOG.child(...)` to *not* override the "hostname"
|
||||||
|
field of the parent. A use case is when one manually sets "hostname" to
|
||||||
|
something other than `os.hostname()`. (By github.com/Cactusbone.)
|
||||||
|
|
||||||
- [issue #325] Allow one to set `level: 0` in `createLogger` to turn on
|
- [issue #325] Allow one to set `level: 0` in `createLogger` to turn on
|
||||||
logging for all levels. (Adapted from #336 by github.com/sometimesalready.)
|
logging for all levels. (Adapted from #336 by github.com/sometimesalready.)
|
||||||
|
|
||||||
|
|
|
@ -478,7 +478,7 @@ function Logger(options, _childOptions, _childSimple) {
|
||||||
if (this.serializers) {
|
if (this.serializers) {
|
||||||
this._applySerializers(fields);
|
this._applySerializers(fields);
|
||||||
}
|
}
|
||||||
if (!fields.hostname) {
|
if (!fields.hostname && !self.fields.hostname) {
|
||||||
fields.hostname = os.hostname();
|
fields.hostname = os.hostname();
|
||||||
}
|
}
|
||||||
if (!fields.pid) {
|
if (!fields.pid) {
|
||||||
|
|
|
@ -134,3 +134,28 @@ test('child can set level of inherited streams and add streams', function (t) {
|
||||||
|
|
||||||
t.end();
|
t.end();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// issue #291
|
||||||
|
test('child should not lose parent "hostname"', function (t) {
|
||||||
|
var stream = new CapturingStream();
|
||||||
|
var dad = bunyan.createLogger({
|
||||||
|
name: 'hostname-test',
|
||||||
|
hostname: 'bar0',
|
||||||
|
streams: [ {
|
||||||
|
type: 'raw',
|
||||||
|
stream: stream,
|
||||||
|
level: 'info'
|
||||||
|
} ]
|
||||||
|
});
|
||||||
|
var son = dad.child({component: 'son'});
|
||||||
|
|
||||||
|
dad.info('HI');
|
||||||
|
son.info('hi');
|
||||||
|
|
||||||
|
t.equal(stream.recs.length, 2);
|
||||||
|
t.equal(stream.recs[0].hostname, 'bar0');
|
||||||
|
t.equal(stream.recs[1].hostname, 'bar0');
|
||||||
|
t.equal(stream.recs[1].component, 'son');
|
||||||
|
|
||||||
|
t.end();
|
||||||
|
});
|
||||||
|
|
Loading…
Reference in a new issue