fix(core): update

This commit is contained in:
Philipp Kunz 2020-06-08 18:51:11 +00:00
parent 3fbd87cab1
commit 9c79a26d04
4 changed files with 34 additions and 8 deletions

View File

@ -1,24 +1,38 @@
import { expect, tap } from '@pushrocks/tapbundle'; import { expect, tap } from '@pushrocks/tapbundle';
import * as smartlog from '../ts/index'; import * as smartlog from '../ts/index';
let defaultLogger: smartlog.Smartlog; let testConsoleLog: smartlog.ConsoleLog;
let testSmartLog: smartlog.Smartlog;
tap.test('should produce a valid ConsoleLog instance', async () => {
testConsoleLog = new smartlog.ConsoleLog();
testConsoleLog.log('ok', 'this is ok');
})
tap.test('should produce instance of Smartlog', async () => { tap.test('should produce instance of Smartlog', async () => {
defaultLogger = smartlog.defaultLogger; testSmartLog = new smartlog.Smartlog({
expect(defaultLogger).to.be.instanceOf(smartlog.Smartlog); logContext: {
environment: 'test',
runtime: 'node',
zone: 'gitzone',
company: 'Lossless GmbH',
companyunit: 'Lossless Cloud',
containerName: 'testing'
}
});
}); });
tap.test('should enable console logging', async () => { tap.test('should enable console logging', async () => {
defaultLogger.enableConsole({ testSmartLog.enableConsole({
captureAll: true captureAll: true
}); });
console.log('this is a normal log that should be captured'); console.log('this is a normal log that should be captured');
console.log(new Error('hi there')); console.log(new Error('hi there'));
defaultLogger.log('info', 'this should only be printed once'); testSmartLog.log('info', 'this should only be printed once');
}); });
tap.test('should be able to log things', async () => { tap.test('should be able to log things', async () => {
defaultLogger.log('silly', 'hi'); testSmartLog.log('silly', 'hi');
}); });
tap.start(); tap.start();

View File

@ -1,4 +1,6 @@
import * as plugins from './smartlog.plugins'; import * as plugins from './smartlog.plugins';
import { ConsoleLog } from './smartlog.classes.consolelog';
import { LogGroup } from './smartlog.classes.loggroup';
import { Smartlog } from './smartlog.classes.smartlog'; import { Smartlog } from './smartlog.classes.smartlog';
export { Smartlog }; export { ConsoleLog, LogGroup, Smartlog };

View File

@ -0,0 +1,10 @@
import * as plugins from './smartlog.plugins';
/**
* a console log optimized for smartlog
*/
export class ConsoleLog {
public log(logLevelArg: plugins.smartlogInterfaces.TLogLevel, logMessageArg: string) {
console.log(`__# ${logLevelArg}: ${logMessageArg}`);
}
}

View File

@ -34,7 +34,7 @@ export class Smartlog implements plugins.smartlogInterfaces.ILogDestination {
* enables console logging * enables console logging
*/ */
public enableConsole(optionsArg?: { captureAll: boolean }) { public enableConsole(optionsArg?: { captureAll: boolean }) {
if (optionsArg && optionsArg.captureAll) { if (process && optionsArg && optionsArg.captureAll) {
const write = process.stdout.write; const write = process.stdout.write;
/* import * as fs from 'fs'; /* import * as fs from 'fs';
const fileStream = fs.createWriteStream(plugins.path.join(paths.nogitDir, 'output.txt'), { const fileStream = fs.createWriteStream(plugins.path.join(paths.nogitDir, 'output.txt'), {