Skip to content

Commit 5f867ea

Browse files
authored
feat(logger): basic logger logic (#9)
* feat(logger): basic logger logic * feat(logger): logger class, log schema, config service * refactor(logger): rename sample rate and log event enabled variable * chore(logger): update linting rules * chore(logger): ignore dummy resources in linting rules * chore(tests): add dummy Lambda context, custom lambda event * chore(logger): include examples folder in compiler options * refactor(logger): folders structure, logger logic, types * fix(logger): default attributes for child logger * refactor(logger): remove unnecessary customConfigService parameters in logger class * chore(logger): remove sort members linting rule * refactor(logger): simplified formatter and logger logic, update examples and tests * refactor(logger): remove redundant constructor in config classes * fix(logger): use UnformattedAttributes as input type for formatting * fix(logger): environment attributes, polishing * chore(logger): set logger metadata as default attributes in examples * refactor(logger): add context enabled variable * chore(logger): update test run * build(logger): test workload - add step to install node modules in packages * fix(logger): broken GH action for test * build(logger): edit npm scripts * build(logger): fix GA yaml * chore(logger): temporarily lowered logger test coverage * chore(logger): temporarily lowered logger test coverage for lines * chore(logger): move aws mock events to lambda-events branch, GH-10 * docs(logger): add usage with code examples * refactor(logger): error input handling, powertoolAttributes, customAttributes in Logger class
1 parent 6892b40 commit 5f867ea

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+1724
-197
lines changed

Diff for: .eslintrc.js

+45-24
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,63 @@
11
module.exports = {
22
env: {
3-
'jest': true,
43
'browser': false,
4+
'es2020': true,
5+
'jest': true,
56
'node': true,
6-
'es2020': true
77
},
8-
parser: '@typescript-eslint/parser',
98
extends: [
109
'plugin:@typescript-eslint/eslint-recommended',
1110
'plugin:@typescript-eslint/recommended'
1211
],
12+
ignorePatterns: ['tests/resources/*'],
13+
parser: '@typescript-eslint/parser',
1314
plugins: ['@typescript-eslint'],
1415
rules: {
15-
'no-console': 0,
16-
'semi': [ 'error', 'always' ],
17-
'newline-before-return': 2,
18-
'indent': [ 'error', 2, { 'SwitchCase': 1 } ],
19-
'quotes': [ 'error', 'single', { 'allowTemplateLiterals': true } ],
20-
'object-curly-spacing': [ 'error', 'always' ],
16+
'@typescript-eslint/ban-ts-ignore': ['off'],
17+
'@typescript-eslint/camelcase': ['off'],
18+
'@typescript-eslint/explicit-function-return-type': [ 'error', { 'allowExpressions': true } ],
19+
'@typescript-eslint/explicit-member-accessibility': 'error',
20+
'@typescript-eslint/indent': [ 'error', 2, { 'SwitchCase': 1 } ],
21+
'@typescript-eslint/interface-name-prefix': ['off'],
22+
'@typescript-eslint/member-delimiter-style': [ 'error', { 'multiline': { 'delimiter': 'none' } } ],
23+
'@typescript-eslint/member-ordering': [ 'error', {
24+
'default': { 'memberTypes': [
25+
'signature',
26+
'public-field', // = ["public-static-field", "public-instance-field"]
27+
'protected-field', // = ["protected-static-field", "protected-instance-field"]
28+
'private-field', // = ["private-static-field", "private-instance-field"]
29+
'constructor',
30+
'public-method', // = ["public-static-method", "public-instance-method"]
31+
'protected-method', // = ["protected-static-method", "protected-instance-method"]
32+
'private-method' // = ["private-static-method", "private-instance-method"]
33+
] ,
34+
'order': 'alphabetically' }
35+
} ],
36+
'@typescript-eslint/no-explicit-any': 'error',
37+
'@typescript-eslint/no-inferrable-types': ['off'],
38+
'@typescript-eslint/no-unused-vars': [ 'error', { 'argsIgnorePattern': '^_' } ],
39+
'@typescript-eslint/no-use-before-define': ['off'],
40+
'@typescript-eslint/semi': [ 'error', 'always' ],
2141
'array-bracket-spacing': [ 'error', 'always', { 'singleValue': false } ],
2242
'arrow-body-style': [ 'error', 'as-needed' ],
2343
'computed-property-spacing': [ 'error', 'never' ],
24-
'no-multiple-empty-lines': [ 'error', { 'max': 1, 'maxBOF': 0 } ],
25-
'prefer-arrow-callback': 'error',
2644
'func-style': [ 'warn', 'expression' ],
27-
'no-multi-spaces': [ 'error', { 'ignoreEOLComments': false } ],
45+
'indent': [ 'error', 2, { 'SwitchCase': 1 } ],
2846
'keyword-spacing': 'error',
29-
'@typescript-eslint/semi': [ 'error', 'always' ],
30-
'@typescript-eslint/indent': [ 'error', 2, { 'SwitchCase': 1 } ],
31-
'@typescript-eslint/explicit-function-return-type': [ 'error', { 'allowExpressions': true } ],
32-
'@typescript-eslint/member-delimiter-style': [ 'error', { 'multiline': { 'delimiter': 'none' } } ],
33-
'@typescript-eslint/interface-name-prefix': ['off'],
34-
'@typescript-eslint/camelcase': ['off'],
35-
'@typescript-eslint/no-use-before-define': ['off'],
36-
'@typescript-eslint/ban-ts-ignore': ['off'],
37-
'@typescript-eslint/no-inferrable-types': ['off'],
38-
'@typescript-eslint/no-unused-vars': [ 'error', { 'argsIgnorePattern': '^_' } ],
39-
'@typescript-eslint/no-explicit-any': 'error',
40-
'@typescript-eslint/explicit-member-accessibility': 'error'
47+
'newline-before-return': 2,
48+
'no-console': 0,
49+
'no-multi-spaces': [ 'error', { 'ignoreEOLComments': false } ],
50+
'no-multiple-empty-lines': [ 'error', { 'max': 1, 'maxBOF': 0 } ],
51+
'object-curly-spacing': [ 'error', 'always' ],
52+
'prefer-arrow-callback': 'error',
53+
'quotes': [ 'error', 'single', { 'allowTemplateLiterals': true } ],
54+
'semi': [ 'error', 'always' ],
55+
'sort-imports': [ 'error', {
56+
'allowSeparatedGroups': true,
57+
'ignoreCase': true,
58+
'ignoreDeclarationSort': false,
59+
'ignoreMemberSort': true,
60+
'memberSyntaxSortOrder': [ 'all', 'single', 'multiple', 'none' ]
61+
} ]
4162
}
4263
};

Diff for: .github/workflows/test.yml

+6-3
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,14 @@ jobs:
1111
steps:
1212
- uses: actions/checkout@v2
1313
- name: Install packages
14-
run: npm install
14+
run: |
15+
export NODE_ENV=dev
16+
npm ci
17+
npm run lerna-ci
1518
- name: Run lint
16-
run: npm run lint
19+
run: npm run lerna-lint
1720
- name: Run tests
18-
run: npm run test
21+
run: npm run lerna-test
1922
- name: Report Coverage
2023
if: ${{ github.event_name == 'pull_request' }}
2124
uses: romeovs/[email protected]

Diff for: package-lock.json

+13
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: package.json

+10-9
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,15 @@
66
"types": "lib/",
77
"scripts": {
88
"commit": "commit",
9-
"ci": "lerna exec -- npm ci",
10-
"test": "lerna exec -- jest --coverage --detectOpenHandles",
11-
"build": "lerna exec -- tsc",
12-
"lint": "lerna exec -- eslint \"./{src,tests}/**/*.ts\"",
13-
"format": "lerna exec -- eslint --fix \"./{src,tests}/**/*.ts\"",
14-
"prepare": "lerna exec -- npm run build",
15-
"prepublishOnly": "lerna exec -- npm test && lerna exec -- npm run lint",
16-
"preversion": "lerna exec -- npm run lint",
17-
"version": "lerna exec -- npm run format && git add -A src",
9+
"lerna-ci": "lerna exec -- npm ci",
10+
"lerna-test": "lerna exec -- jest --coverage --detectOpenHandles",
11+
"lerna-build": "lerna exec -- tsc",
12+
"lerna-lint": "lerna exec -- eslint \"./{src,tests}/**/*.ts\"",
13+
"lerna-format": "lerna exec -- eslint --fix \"./{src,tests}/**/*.ts\"",
14+
"lerna-prepare": "lerna exec -- npm run build",
15+
"lerna-prepublishOnly": "lerna exec -- npm test && lerna exec -- npm run lint",
16+
"lerna-preversion": "lerna exec -- npm run lint",
17+
"lerna-version": "lerna exec -- npm run format && git add -A src",
1818
"postversion": "git push && git push --tags"
1919
},
2020
"repository": {
@@ -34,6 +34,7 @@
3434
"devDependencies": {
3535
"@commitlint/cli": "^11.0.0",
3636
"@commitlint/config-conventional": "^11.0.0",
37+
"@types/aws-lambda": "^8.10.72",
3738
"@types/jest": "^26.0.19",
3839
"@types/node": "^14.14.16",
3940
"@typescript-eslint/eslint-plugin": "^4.11.1",

0 commit comments

Comments
 (0)