Skip to content

Instantly share code, notes, and snippets.

@kenperkins
Last active December 31, 2015 20:58
Show Gist options
  • Save kenperkins/8043342 to your computer and use it in GitHub Desktop.
Save kenperkins/8043342 to your computer and use it in GitHub Desktop.
Logging with pkgcloud & winston

To use this test, copy to a local folder and then:

  • npm install
  • > node app.js your-user-name your-api-key
var pkgcloud = require('pkgcloud'),
winston = require('winston');
// setup a winston logger
var logger = new winston.Logger({
levels: {
debug: 0,
verbose: 1,
info: 3,
warn: 4,
error: 5
},
colors: {
debug: 'grey',
verbose: 'cyan',
info: 'green',
warn: 'yellow',
error: 'red'
},
transports: [
new winston.transports.Console({
level: 'debug',
prettyPrint: true,
colorize: true
})
]
});
// create your client (for your specific provider obviously)
var client = pkgcloud.providers.rackspace.compute.createClient({
username: process.argv[2],
apiKey: process.argv[3]
});
// bind logging everything to logger
client.on('log::*', function (message, object) {
if (object) {
logger.log(this.event.split('::')[1], message, object);
}
else {
logger.log(this.event.split('::')[1], message);
}
});
client.getServers(function (err, servers) {
console.dir(servers);
});
{
"name": "logging-test",
"version": "0.0.1",
"dependencies": {
"pkgcloud": "0.8.16",
"winston": "*"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment