diff --git a/admin/src/components/ContributionMessages/slots/ContributionMessagesListItem.spec.js b/admin/src/components/ContributionMessages/slots/ContributionMessagesListItem.spec.js index bb116afbe..b8aaba502 100644 --- a/admin/src/components/ContributionMessages/slots/ContributionMessagesListItem.spec.js +++ b/admin/src/components/ContributionMessages/slots/ContributionMessagesListItem.spec.js @@ -53,8 +53,8 @@ describe('ContributionMessagesListItem', () => { }) it('has the message creation date', () => { - expect(wrapper.find('div.text-right.is-moderator > span:nth-child(3)').text()).toBe( - 'Mon Aug 29 2022 12:23:27 GMT+0000 (Coordinated Universal Time)', + expect(wrapper.find('div.text-right.is-moderator > span:nth-child(3)').text()).toMatch( + 'Mon Aug 29 2022 12:23:27 GMT+0000', ) }) @@ -113,8 +113,8 @@ describe('ContributionMessagesListItem', () => { }) it('has the message creation date', () => { - expect(wrapper.find('div.is-not-moderator.text-left > span:nth-child(3)').text()).toBe( - 'Mon Aug 29 2022 12:25:34 GMT+0000 (Coordinated Universal Time)', + expect(wrapper.find('div.is-not-moderator.text-left > span:nth-child(3)').text()).toMatch( + 'Mon Aug 29 2022 12:25:34 GMT+0000', ) }) diff --git a/backend/log4js-config.json b/backend/log4js-config.json index 848a4fa79..e595e7c52 100644 --- a/backend/log4js-config.json +++ b/backend/log4js-config.json @@ -5,41 +5,66 @@ { "type": "dateFile", "filename": "../logs/backend/access.log", - "pattern": "%d{ISO8601} %p %c %X{user} %f:%l %m", + "pattern": "yyyy-MM-dd", + "layout": + { + "type": "pattern", "pattern": "%d{ISO8601} %p %c [%X{user}] [%f : %l] - %m" + }, "keepFileExt" : true, - "fileNameSep" : "_" + "fileNameSep" : "_", + "numBackups" : 30 }, "apollo": { "type": "dateFile", "filename": "../logs/backend/apollo.log", - "pattern": "%d{ISO8601} %p %c %m", + "pattern": "yyyy-MM-dd", + "layout": + { + "type": "pattern", "pattern": "%d{ISO8601} %p %c [%X{user}] [%f : %l] - %m" + }, "keepFileExt" : true, - "fileNameSep" : "_" + "fileNameSep" : "_", + "numBackups" : 30 }, "backend": { "type": "dateFile", "filename": "../logs/backend/backend.log", - "pattern": "%d{ISO8601} %p %c %X{user} %f:%l %m", + "pattern": "yyyy-MM-dd", + "layout": + { + "type": "pattern", "pattern": "%d{ISO8601} %p %c [%X{user}] [%f : %l] - %m" + }, "keepFileExt" : true, - "fileNameSep" : "_" + "fileNameSep" : "_", + "numBackups" : 30 }, "klicktipp": { "type": "dateFile", "filename": "../logs/backend/klicktipp.log", - "pattern": "%d{ISO8601} %p %c %X{user} %f:%l %m", + "pattern": "yyyy-MM-dd", + "layout": + { + "type": "pattern", "pattern": "%d{ISO8601} %p %c [%X{user}] [%f : %l] - %m" + }, "keepFileExt" : true, - "fileNameSep" : "_" + "fileNameSep" : "_", + "numBackups" : 30 }, "errorFile": { "type": "dateFile", "filename": "../logs/backend/errors.log", - "pattern": "%d{ISO8601} %p %c %X{user} %f:%l %m", + "pattern": "yyyy-MM-dd", + "layout": + { + "type": "pattern", "pattern": "%d{ISO8601} %p %c [%X{user}] [%f : %l] - %m" + }, "keepFileExt" : true, - "fileNameSep" : "_" + "fileNameSep" : "_", + "numBackups" : 30 }, "errors": { @@ -52,7 +77,7 @@ "type": "stdout", "layout": { - "type": "pattern", "pattern": "%d{ISO8601} %p %c %X{user} %f:%l %m" + "type": "pattern", "pattern": "%d{ISO8601} %p %c [%X{user}] [%f : %l] - %m" } }, "apolloOut": @@ -60,7 +85,7 @@ "type": "stdout", "layout": { - "type": "pattern", "pattern": "%d{ISO8601} %p %c %m" + "type": "pattern", "pattern": "%d{ISO8601} %p %c [%X{user}] [%f : %l] - %m" } } }, diff --git a/backend/src/graphql/resolver/UserResolver.ts b/backend/src/graphql/resolver/UserResolver.ts index 7289313da..46a69bf25 100644 --- a/backend/src/graphql/resolver/UserResolver.ts +++ b/backend/src/graphql/resolver/UserResolver.ts @@ -351,7 +351,7 @@ export class UserResolver { } // add pubKey in logger-context for layout-pattern X{user} to print it in each logging message logger.addContext('user', dbUser.id) - logger.debug('login credentials valid...') + logger.debug('validation of login credentials successful...') const user = new User(dbUser, await getUserCreation(dbUser.id)) logger.debug(`user= ${JSON.stringify(user, null, 2)}`) @@ -396,6 +396,7 @@ export class UserResolver { @Args() { email, firstName, lastName, language, publisherId, redeemCode = null }: CreateUserArgs, ): Promise { + logger.addContext('user', 'unknown') logger.info( `createUser(email=${email}, firstName=${firstName}, lastName=${lastName}, language=${language}, publisherId=${publisherId}, redeemCode =${redeemCode})`, ) @@ -548,6 +549,7 @@ export class UserResolver { } await queryRunner.commitTransaction() + logger.addContext('user', dbUser.id) } catch (e) { logger.error(`error during create user with ${e}`) await queryRunner.rollbackTransaction() @@ -571,6 +573,7 @@ export class UserResolver { @Authorized([RIGHTS.SEND_RESET_PASSWORD_EMAIL]) @Mutation(() => Boolean) async forgotPassword(@Arg('email') email: string): Promise { + logger.addContext('user', 'unknown') logger.info(`forgotPassword(${email})...`) email = email.trim().toLowerCase() const user = await findUserByEmail(email).catch(() => { diff --git a/backend/src/server/createServer.ts b/backend/src/server/createServer.ts index 2b20b140f..a69613f65 100644 --- a/backend/src/server/createServer.ts +++ b/backend/src/server/createServer.ts @@ -39,6 +39,7 @@ const createServer = async ( context: any = serverContext, logger: Logger = apolloLogger, ): Promise => { + logger.addContext('user', 'unknown') logger.debug('createServer...') // open mysql connection diff --git a/frontend/src/components/ContributionMessages/ContributionMessagesListItem.spec.js b/frontend/src/components/ContributionMessages/ContributionMessagesListItem.spec.js index 5d5185e0f..7504854d0 100644 --- a/frontend/src/components/ContributionMessages/ContributionMessagesListItem.spec.js +++ b/frontend/src/components/ContributionMessages/ContributionMessagesListItem.spec.js @@ -105,8 +105,8 @@ describe('ContributionMessagesListItem', () => { }) it('has the message creation date', () => { - expect(wrapper.find('div.is-moderator.text-left > span:nth-child(3)').text()).toBe( - 'Mon Aug 29 2022 12:25:34 GMT+0000 (Coordinated Universal Time)', + expect(wrapper.find('div.is-moderator.text-left > span:nth-child(3)').text()).toMatch( + 'Mon Aug 29 2022 12:25:34 GMT+0000', ) }) @@ -163,8 +163,8 @@ describe('ContributionMessagesListItem', () => { }) it('has the message creation date', () => { - expect(wrapper.find('div.is-not-moderator.text-right > span:nth-child(3)').text()).toBe( - 'Mon Aug 29 2022 12:23:27 GMT+0000 (Coordinated Universal Time)', + expect(wrapper.find('div.is-not-moderator.text-right > span:nth-child(3)').text()).toMatch( + 'Mon Aug 29 2022 12:23:27 GMT+0000', ) })