var logfmt = require('../logfmt'), assert = require('assert'); var logfmt = new logfmt; var OutStream = require('./outstream'); suite('logfmt.error', function() { test('logs an error', function() { var err = new Error('testing'); logfmt.stream = new(require('./outstream')); logfmt.error(err); var id = logfmt.stream.lines[0].match(/id=(\d+)/)[1]; var line1 = logfmt.parse(logfmt.stream.lines[0]) assert.equal(line1.error, true); assert.equal(line1.id, id); assert(line1.now); assert.equal(line1.message, 'testing'); var line2 = logfmt.parse(logfmt.stream.lines[1]) assert.equal(line2.error, true); assert.equal(line2.id, id); assert(line2.now); assert.equal(line2.line, '0'); assert.equal(line2.trace, 'Error: testing'); }); test('sends only a max number of log lines', function() { var err = new Error('testing'); logfmt.stream = new(require('./outstream')); logfmt.maxErrorLines = 2; logfmt.error(err); assert.equal(logfmt.stream.lines.length, 3); }); test("doesn't blow up on a bad error object", function(){ logfmt.error({}) }) })