Home Reference Source

slogger-repo/test/file_test.js

const path = require('path');
var slogger = require('../index');
const sinon  = require('sinon');
const assert = require('assert');
var spyWrite = null;
const VALUE_FLUSH_INTERVAL = 100;
const WRITE_COUNT = 100;


describe('write log to file #',function() {
    before('init',function() {
        slogger = slogger.init({
            flushInterval:VALUE_FLUSH_INTERVAL,
            logFiles:[
                {category:'warn',filename:path.join(__dirname , './log/warn.log')}
            ]
        });
        spyWrite = sinon.spy(slogger._printer._levelFileMap['warn'].streams[0],'write');
    });

    it('write to file ' + WRITE_COUNT + ' times',function(done) {
        for (var i=0;i<WRITE_COUNT;i++) {
            slogger.warn(i);
        }
        setTimeout(function() {
            assert(spyWrite.called);
            done();
        },VALUE_FLUSH_INTERVAL + 100);
    });
    after(function() {
        spyWrite.restore();
    });
});