Skip to content
This repository was archived by the owner on Jun 18, 2020. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,6 @@ setting of logging levels and convenient work with groups. Among other things, y
- [Add css classes](#example-css-classes)
- [Output pretty json `stringify`](#example-pretty-json)
- [Copy `json, object, text` to clipboard](#example-clipboard)
- [Basic decorators](#example-decorators)
- [Decorator groups](#example-decorator-groups)
- [Decorator groups with function title](#example-decorator-group-with-function-title)
- [Configuration `Angular Logger`](#example-full-configurations)

* [Todo](#todo)
Expand Down
20 changes: 10 additions & 10 deletions helpers/custom-colors.enum.ts
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
export enum CUSTOM_COLORS {
TRACE = 'BlueViolet',
DEBUG = 'CornflowerBlue',
INFO = 'DarkGreen',
WARN = 'Coral',
ERROR = 'Crimson'
TRACE = 'BlueViolet',
DEBUG = 'CornflowerBlue',
INFO = 'DarkGreen',
WARN = 'Coral',
ERROR = 'Crimson'
}

export enum CUSTOM_LABELS {
TRACE = 'trace:',
DEBUG = 'debug:',
INFO = 'info:',
WARN = 'warning:',
ERROR = 'error:'
TRACE = 'trace:',
DEBUG = 'debug:',
INFO = 'info:',
WARN = 'warning:',
ERROR = 'error:'
}
130 changes: 62 additions & 68 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,70 +1,64 @@
{
"name": "logger",
"version": "0.0.0",
"scripts": {
"ng": "ng",
"jest": "jest",
"start": "ng serve",
"copy-readme": "ts-node --project tsconfig.tools.json ./tools/copy-readme",
"build": "ng build logger && npm run copy-readme",
"build.meta": "echo 'prebuild'",
"test": "jest --config ./jest.app.config.js --coverage",
"lint": "ng lint",
"format": "prettier --write \"*/**/*.ts\"",
"coverage": "jest --config ./jest.app.config.js --coverage && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage"
},
"husky": {
"hooks": {
"pre-commit": "npm run format"
}
},
"private": true,
"dependencies": {
"@angular/animations": "~7.2.0",
"@angular/common": "~7.2.0",
"@angular/compiler": "~7.2.0",
"@angular/core": "~7.2.0",
"@angular/forms": "~7.2.0",
"@angular/platform-browser": "~7.2.0",
"@angular/platform-browser-dynamic": "~7.2.0",
"@angular/router": "~7.2.0",
"core-js": "^2.5.4",
"devtools-detect": "^3.0.0",
"rxjs": "~6.3.3",
"tslib": "^1.9.0",
"zone.js": "~0.8.26"
},
"devDependencies": {
"@angular-devkit/build-angular": "^0.13.9",
"@angular-devkit/build-ng-packagr": "~0.13.0",
"@angular/cli": "~7.3.8",
"@angular/compiler-cli": "~7.2.0",
"@angular/language-service": "~7.2.0",
"@types/jasmine": "~2.8.8",
"@types/jasminewd2": "~2.0.3",
"@types/node": "~8.9.4",
"codelyzer": "^4.5.0",
"coveralls": "^3.0.3",
"husky": "^2.3.0",
"jasmine-core": "~2.99.1",
"jasmine-spec-reporter": "~4.2.1",
"jest": "24.0.0",
"jest-cli": "^24.8.0",
"jest-preset-angular": "^7.1.0",
"karma": "~4.0.0",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~2.0.1",
"karma-jasmine": "~1.1.2",
"karma-jasmine-html-reporter": "^0.2.2",
"ng-packagr": "^5.1.0",
"prettier": "^1.17.1",
"protractor": "~5.4.0",
"ts-node": "^7.0.1",
"tsickle": ">=0.34.0",
"tslib": "^1.9.0",
"tslint": "~5.11.0",
"tslint-eslint-rules": "^5.4.0",
"tslint-sonarts": "^1.9.0",
"typescript": "~3.2.2"
}
"name": "logger",
"version": "0.0.0",
"scripts": {
"ng": "ng",
"jest": "jest",
"start": "ng serve",
"copy-readme": "ts-node --project tsconfig.tools.json ./tools/copy-readme",
"build": "ng build logger && npm run copy-readme",
"build.meta": "echo 'prebuild'",
"test": "jest --config ./jest.app.config.js --coverage",
"lint": "ng lint",
"format": "prettier --write \"*/**/*.ts\"",
"coverage": "jest --config ./jest.app.config.js --coverage && cat ./coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js && rm -rf ./coverage"
},
"private": true,
"dependencies": {
"@angular/animations": "~7.2.0",
"@angular/common": "~7.2.0",
"@angular/compiler": "~7.2.0",
"@angular/core": "~7.2.0",
"@angular/forms": "~7.2.0",
"@angular/platform-browser": "~7.2.0",
"@angular/platform-browser-dynamic": "~7.2.0",
"@angular/router": "~7.2.0",
"core-js": "^2.5.4",
"devtools-detect": "^3.0.0",
"rxjs": "~6.3.3",
"tslib": "^1.9.0",
"zone.js": "~0.8.26"
},
"devDependencies": {
"@angular-devkit/build-angular": "^0.13.9",
"@angular-devkit/build-ng-packagr": "~0.13.0",
"@angular/cli": "~7.3.8",
"@angular/compiler-cli": "~7.2.0",
"@angular/language-service": "~7.2.0",
"@types/jasmine": "~2.8.8",
"@types/jasminewd2": "~2.0.3",
"@types/node": "~8.9.4",
"codelyzer": "^4.5.0",
"coveralls": "^3.0.3",
"jasmine-core": "~2.99.1",
"jasmine-spec-reporter": "~4.2.1",
"jest": "24.0.0",
"jest-cli": "^24.8.0",
"jest-preset-angular": "^7.1.0",
"karma": "~4.0.0",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~2.0.1",
"karma-jasmine": "~1.1.2",
"karma-jasmine-html-reporter": "^0.2.2",
"ng-packagr": "^5.1.0",
"prettier": "^1.17.1",
"protractor": "~5.4.0",
"ts-node": "^7.0.1",
"tsickle": ">=0.34.0",
"tslib": "^1.9.0",
"tslint": "~5.11.0",
"tslint-eslint-rules": "^5.4.0",
"tslint-sonarts": "^1.9.0",
"typescript": "~3.2.2"
}
}
2 changes: 1 addition & 1 deletion projects/logger/src/lib/logger.interfaces.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { LoggerService } from './logger.service';
import { LoggerLevel } from './logger.config';
import { InjectionToken } from '@angular/core';

export type Pipeline<T = any> = (logger: LoggerService) => T;
export type Pipeline = (logger: LoggerService) => any;

export interface GroupMethods extends Function {
group(label: string, pipeline?: Pipeline): LoggerService;
Expand Down
10 changes: 5 additions & 5 deletions projects/logger/src/lib/logger.options.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ export class LoggerConfigurator implements LoggerOptions {
public cssClassMap: object = {};
public useLevelGroup: boolean = true;
public labelColors: ObjectKeyMap<string> = {
[LoggerLevel.TRACE]: COLORS.TRACE,
[LoggerLevel.DEBUG]: COLORS.DEBUG,
[LoggerLevel.INFO]: COLORS.INFO,
[LoggerLevel.WARN]: COLORS.WARN,
[LoggerLevel.ERROR]: COLORS.ERROR
[LoggerLevel.TRACE]: COLORS.TRACE,
[LoggerLevel.DEBUG]: COLORS.DEBUG,
[LoggerLevel.INFO]: COLORS.INFO,
[LoggerLevel.WARN]: COLORS.WARN,
[LoggerLevel.ERROR]: COLORS.ERROR
};

public labelNames: ObjectKeyMap<string> = {
Expand Down
3 changes: 1 addition & 2 deletions projects/logger/src/lib/logger.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ import { ClipboardFactory } from './services/clipboard-factory.service';

@Injectable()
export class LoggerService {
private readonly DEFAULT_DEPTH: number = 2;
constructor(
public readonly clipboard: ClipboardFactory,
public readonly cssFactory: CssFactory,
Expand Down Expand Up @@ -114,7 +113,7 @@ export class LoggerService {
}

public prettyJSON(json: ObjectKeyMap): string[] {
return this.jsonFactory.colorsJSON(JSON.stringify(json, null, this.DEFAULT_DEPTH));
return this.jsonFactory.colorsJSON(JSON.stringify(json, null, 2));
}

public cssClass(cssClassName: string): LoggerService {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ import { Clipboard, SetDataType } from '../logger.interfaces';

@Injectable()
export class ClipboardFactory implements Clipboard {
private readonly DEFAULT_DEPTH: number = 4;
public get clipboardSetData(): SetDataType {
const dataTransfer: DataTransfer = (window as any).clipboardData;
return dataTransfer && dataTransfer.setData;
Expand All @@ -14,7 +13,7 @@ export class ClipboardFactory implements Clipboard {
}

public copyOnBuffer(data: any): boolean {
const text: string = typeof data !== 'string' ? JSON.stringify(data, null, this.DEFAULT_DEPTH) : data;
const text: string = typeof data !== 'string' ? JSON.stringify(data, null, 4) : data;
let isExec: boolean = false;

if (this.clipboardSetData) {
Expand Down
17 changes: 7 additions & 10 deletions projects/logger/src/lib/services/group-factory.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,25 +29,24 @@ export class GroupFactory {
}
}

public group<T = any>(title: string, pipeline: Pipeline<T>, logger: LoggerService, level: LoggerLevel): T {
public group(title: string, pipeline: Pipeline, logger: LoggerService, level: LoggerLevel): any {
const group: GroupMethod = this.console.instance.group.bind(this.console.instance);
return this.createGroupLogger<T>(group, title, pipeline, logger, level);
return this.createGroupLogger(group, title, pipeline, logger, level);
}

public groupCollapsed<T = any>(title: string, pipeline: Pipeline<T>, logger: LoggerService, level: LoggerLevel): T {
public groupCollapsed(title: string, pipeline: Pipeline, logger: LoggerService, level: LoggerLevel): any {
const groupCollapsed: GroupMethod = this.console.instance.groupCollapsed.bind(this.console.instance);
return this.createGroupLogger<T>(groupCollapsed, title, pipeline, logger, level);
return this.createGroupLogger(groupCollapsed, title, pipeline, logger, level);
}

private createGroupLogger<T = any>(
private createGroupLogger(
groupType: GroupMethod,
title: string,
pipeline: Pipeline,
logger: LoggerService,
level: LoggerLevel
): T {
): any {
const showGroup: boolean = this.console.minLevel <= level;
let pipeLineResult: T;
if (showGroup) {
this.executePipesGroup = true;
this.counterOpenedGroup++;
Expand All @@ -59,12 +58,10 @@ export class GroupFactory {
if (pipeline) {
const pipe: any = pipeline(logger);
this.close();
pipeLineResult = pipe;
return pipe;
}
} else {
this.executePipesGroup = false;
}

return pipeLineResult;
}
}
2 changes: 1 addition & 1 deletion projects/logger/tests/decorators.spec.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { ConsoleFake, TestLoggerLineType } from '../../../helpers/console-fake';
import { LoggerModule } from '../src/lib/logger.module';
import { MyTestComponent } from '../../../helpers/test.component';
import { MyTestComponent } from './mocks/test.component';
import { LoggerService } from '../src/lib/logger.service';

describe('[TEST]: Decorator API', () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
import { Component } from '@angular/core';
import { LoggerService } from '../projects/logger/src/lib/logger.service';
import { Logger } from '../projects/logger/src/lib/decorators/logger.decorator';
import { Debug } from '../projects/logger/src/lib/decorators/debug.decorator';
import { Trace } from '../projects/logger/src/lib/decorators/trace.decorator';
import { Info } from '../projects/logger/src/lib/decorators/info.decorator';
import { Error } from '../projects/logger/src/lib/decorators/error.decorator';
import { Warn } from '../projects/logger/src/lib/decorators/warn.decorator';
import { Log } from '../projects/logger/src/lib/decorators/log.decorator';
import { Group } from '../projects/logger/src/lib/decorators/groups/group.decorator';
import { GroupCollapsed } from '../projects/logger/src/lib/decorators/groups/group-collapsed.decorator';
import { LoggerLevel } from '../projects/logger/src/lib/logger.config';
import { LoggerService } from '../../src/lib/logger.service';
import { Logger } from '../../src/lib/decorators/logger.decorator';
import { Debug } from '../../src/lib/decorators/debug.decorator';
import { Trace } from '../../src/lib/decorators/trace.decorator';
import { Info } from '../../src/lib/decorators/info.decorator';
import { Error } from '../../src/lib/decorators/error.decorator';
import { Warn } from '../../src/lib/decorators/warn.decorator';
import { Log } from '../../src/lib/decorators/log.decorator';
import { Group } from '../../src/lib/decorators/groups/group.decorator';
import { GroupCollapsed } from '../../src/lib/decorators/groups/group-collapsed.decorator';
import { LoggerLevel } from '../../src/lib/logger.config';
import { LogFn } from '@angular-ru/logger';

@Component({
Expand Down