I would like to use Winston as logger for Socket.io. I have seen [this issue](https://github.com/LearnBoost/socket.io/issues/800) where it says:

```
var io = require('socket.io').listen(8080);
io.set('logger', { debug: <log function>, info: … , error: .., warn: .. })

```

Unfortunately, it is not described what the `log function` should look like.

Some playing around and a look into the [Socket.io logger documentation](https://github.com/LearnBoost/Socket.IO/blob/0.9.14/lib/logger.js) told me that there is no fixed set of parameters: There are log messages with one, two and three parameters. Perhaps there are even more, I don't know.

I think that this is definitely not a good practice to have an undefined number of parameters, especially if this is your interface to external components.

Anyway ... does anybody have some experience with this? Can anyone point out what to watch out for?