Hi Giovanni,
Two things.
1. I don't know your code, but I'd consider having your stream deal with reconnection logic (e.g. using node-backoff or similar).
2. There is the `<log>.addStream` method that you can use to *add* a stream to a Logger instance. There is no formal API right now to replace or remove streams from a logger. However, currently at least, `log.streams` is just an array, so if you know the index of the stream to remove, then you can do so like this:
```
> var bunyan = require('bunyan')
undefined
> var log = bunyan.createLogger({name: 'play'})
undefined
> log.streams
[ { type: 'stream',
stream:
{ _connecting: false,
_handle: [Object],
_readableState: [Object],
readable: false,
domain: null,
_events: [Object],
_maxListeners: 10,
_writableState: [Object],
writable: true,
allowHalfOpen: false,
onend: null,
destroyed: false,
bytesRead: 0,
_bytesDispatched: 240,
_pendingData: null,
_pendingEncoding: '',
columns: 136,
rows: 51,
_type: 'tty',
fd: 1,
_isStdio: true,
destroySoon: [Function],
destroy: [Function] },
closeOnExit: false,
level: 30,
raw: false } ]
> log.addStream({type: 'file', path: '/var/tmp/play.log'});
undefined
> log.streams
[ { type: 'stream',
stream:
{ _connecting: false,
_handle: [Object],
_readableState: [Object],
readable: false,
domain: null,
_events: [Object],
_maxListeners: 10,
_writableState: [Object],
writable: true,
allowHalfOpen: false,
onend: null,
destroyed: false,
bytesRead: 0,
_bytesDispatched: 1784,
_pendingData: null,
_pendingEncoding: '',
columns: 136,
rows: 51,
_type: 'tty',
fd: 1,
_isStdio: true,
destroySoon: [Function],
destroy: [Function] },
closeOnExit: false,
level: 30,
raw: false },
{ type: 'file',
path: '/var/tmp/play.log',
raw: false,
level: 30,
stream:
{ _writableState: [Object],
writable: true,
domain: null,
_events: [Object],
_maxListeners: 10,
path: '/var/tmp/play.log',
fd: 11,
flags: 'a',
mode: 438,
start: undefined,
pos: undefined,
bytesWritten: 0 },
closeOnExit: true } ]
> log.streams = log.streams.slice(1)
[ { type: 'file',
path: '/var/tmp/play.log',
raw: false,
level: 30,
stream:
{ _writableState: [Object],
writable: true,
domain: null,
_events: [Object],
_maxListeners: 10,
path: '/var/tmp/play.log',
fd: 11,
flags: 'a',
mode: 438,
start: undefined,
pos: undefined,
bytesWritten: 0 },
closeOnExit: true } ]
```