diff --git a/bigbluebutton-html5/imports/api/annotations/server/publishers.js b/bigbluebutton-html5/imports/api/annotations/server/publishers.js
index d79333f70415f73362dcbd0116e0c86f0439de63..688a8c3f02838505fdb9b606e9d0665d70aefb24 100644
--- a/bigbluebutton-html5/imports/api/annotations/server/publishers.js
+++ b/bigbluebutton-html5/imports/api/annotations/server/publishers.js
@@ -10,7 +10,7 @@ function annotations() {
 
   const { meetingId, requesterUserId } = extractCredentials(this.userId);
 
-  Logger.debug(`Publishing Annotations for ${meetingId} ${requesterUserId}`);
+  Logger.debug('Publishing Annotations', { meetingId, requesterUserId });
 
   return Annotations.find({ meetingId });
 }
diff --git a/bigbluebutton-html5/imports/api/breakouts/server/publishers.js b/bigbluebutton-html5/imports/api/breakouts/server/publishers.js
index a756c0e42680bf8672fdd58a90a3e6f145adf198..89aee4394efaeb47999bfea064a68b8029222dbf 100755
--- a/bigbluebutton-html5/imports/api/breakouts/server/publishers.js
+++ b/bigbluebutton-html5/imports/api/breakouts/server/publishers.js
@@ -12,7 +12,7 @@ function breakouts(role) {
   }
 
   const { meetingId, requesterUserId } = extractCredentials(this.userId);
-  Logger.debug(`Publishing Breakouts for ${meetingId} ${requesterUserId}`);
+  Logger.debug('Publishing Breakouts', { meetingId, requesterUserId });
 
   const User = Users.findOne({ userId: requesterUserId, meetingId }, { fields: { role: 1 } });
   if (!!User && User.role === ROLE_MODERATOR) {
diff --git a/bigbluebutton-html5/imports/api/captions/server/methods/appendText.js b/bigbluebutton-html5/imports/api/captions/server/methods/appendText.js
index 3f4e3cb4df58959577a6826db61dd38909d4dd92..672c47787bef508a013e67777283e9bd6e367c42 100644
--- a/bigbluebutton-html5/imports/api/captions/server/methods/appendText.js
+++ b/bigbluebutton-html5/imports/api/captions/server/methods/appendText.js
@@ -24,7 +24,7 @@ export default function appendText(text, locale) {
   }).then((response) => {
     const { status } = response;
     if (status === 200) {
-      Logger.verbose(`Appended text for padId:${padId}`);
+      Logger.verbose('Captions: appended text', { padId });
     }
   }).catch(error => Logger.error(`Could not append captions for padId=${padId}: ${error}`));
 }
diff --git a/bigbluebutton-html5/imports/api/captions/server/modifiers/addCaption.js b/bigbluebutton-html5/imports/api/captions/server/modifiers/addCaption.js
index 50d1227f0743c6eda074d6c68eb16e699224e6bf..c55bd8040f84662c6112835d6d1c708cc5f96097 100644
--- a/bigbluebutton-html5/imports/api/captions/server/modifiers/addCaption.js
+++ b/bigbluebutton-html5/imports/api/captions/server/modifiers/addCaption.js
@@ -33,10 +33,10 @@ export default function addCaption(meetingId, padId, locale) {
 
     const { insertedId } = numChanged;
     if (insertedId) {
-      return Logger.verbose(`Added caption locale=${locale.locale} meeting=${meetingId}`);
+      return Logger.verbose('Captions: added locale', { locale: locale.locale, meetingId });
     }
 
-    return Logger.verbose(`Upserted caption locale=${locale.locale} meeting=${meetingId}`);
+    return Logger.verbose('Captions: upserted locale', { locale: locale.locale, meetingId });
   };
 
   return Captions.upsert(selector, modifier, cb);
diff --git a/bigbluebutton-html5/imports/api/captions/server/modifiers/updateOwnerId.js b/bigbluebutton-html5/imports/api/captions/server/modifiers/updateOwnerId.js
index 79e84813d528d3ca97c634c435b422386f630acb..2e6b2f80ad6a5d1fa5720c37f4e732136af9b7a3 100644
--- a/bigbluebutton-html5/imports/api/captions/server/modifiers/updateOwnerId.js
+++ b/bigbluebutton-html5/imports/api/captions/server/modifiers/updateOwnerId.js
@@ -21,10 +21,10 @@ export default function updateOwnerId(meetingId, userId, padId) {
 
   const cb = (err) => {
     if (err) {
-      return Logger.error(`Updating captions pad: ${err}`);
+      return Logger.error('Captions: error while updating pad', { err });
     }
     updateOwner(meetingId, userId, padId);
-    return Logger.verbose(`Update captions pad=${padId} ownerId=${userId}`);
+    return Logger.verbose('Captions: updated caption', { padId, ownerId: userId });
   };
 
   return Captions.update(selector, modifier, { multi: true }, cb);
diff --git a/bigbluebutton-html5/imports/api/captions/server/modifiers/updatePad.js b/bigbluebutton-html5/imports/api/captions/server/modifiers/updatePad.js
index d54c6a1a45e4af3e102d9a3e67188282ef1e23d9..dbe609b9fa869350194bcf9c3bebaedc26260e29 100644
--- a/bigbluebutton-html5/imports/api/captions/server/modifiers/updatePad.js
+++ b/bigbluebutton-html5/imports/api/captions/server/modifiers/updatePad.js
@@ -27,7 +27,7 @@ export default function updatePad(padId, data, revs) {
       return Logger.error(`Updating captions pad: ${err}`);
     }
     editCaptions(padId, data, revs);
-    return Logger.verbose(`Update captions pad=${padId} revs=${revs}`);
+    return Logger.verbose('Captions: updated pad', { padId, revs });
   };
 
   return Captions.update(selector, modifier, { multi: true }, cb);
diff --git a/bigbluebutton-html5/imports/api/captions/server/modifiers/updateReadOnlyPadId.js b/bigbluebutton-html5/imports/api/captions/server/modifiers/updateReadOnlyPadId.js
index cbed90b12da521aeb5010eadfcf3e3b0cf664265..8a172ba444e3e8d201dc325b1b734a54a928e12c 100644
--- a/bigbluebutton-html5/imports/api/captions/server/modifiers/updateReadOnlyPadId.js
+++ b/bigbluebutton-html5/imports/api/captions/server/modifiers/updateReadOnlyPadId.js
@@ -18,10 +18,10 @@ export default function updateReadOnlyPadId(padId, readOnlyPadId) {
 
   const cb = (err) => {
     if (err) {
-      return Logger.error(`Adding readOnlyPadId captions pad: ${err}`);
+      return Logger.error('Captions: error when adding readOnlyPadId', { err });
     }
 
-    return Logger.verbose(`Added readOnlyPadId captions pad=${padId} readOnlyPadId=${readOnlyPadId}`);
+    return Logger.verbose('Captions: added readOnlyPadId', { padId, readOnlyPadId });
   };
 
   return Captions.update(selector, modifier, { multi: true }, cb);
diff --git a/bigbluebutton-html5/imports/api/captions/server/publishers.js b/bigbluebutton-html5/imports/api/captions/server/publishers.js
index fc4ce428297ba74496f08a4501f7aa7e0514c142..b63a294fded3b78ce1d3c08bf85c1e867e5ead23 100644
--- a/bigbluebutton-html5/imports/api/captions/server/publishers.js
+++ b/bigbluebutton-html5/imports/api/captions/server/publishers.js
@@ -8,7 +8,7 @@ function captions() {
     return Captions.find({ meetingId: '' });
   }
   const { meetingId } = extractCredentials(this.userId);
-  Logger.debug(`Publishing Captions for ${meetingId}`);
+  Logger.debug('Publishing Captions', { meetingId });
 
   return Captions.find({ meetingId });
 }
diff --git a/bigbluebutton-html5/imports/api/cursor/server/handlers/cursorUpdate.js b/bigbluebutton-html5/imports/api/cursor/server/handlers/cursorUpdate.js
index bad37677da3171edd8228a4987e202c589c1b309..a3e5c2a1b07e5478626fa93ba93208a8724d66c2 100755
--- a/bigbluebutton-html5/imports/api/cursor/server/handlers/cursorUpdate.js
+++ b/bigbluebutton-html5/imports/api/cursor/server/handlers/cursorUpdate.js
@@ -18,7 +18,7 @@ const proccess = _.throttle(() => {
         CursorStreamer(meetingId).emit('message', { meetingId, cursors });
 
         if (streamerLog) {
-          Logger.debug(`CursorUpdate process for meeting ${meetingId} has finished`);
+          Logger.debug('CursorUpdate process has finished', { meetingId });
         }
       } catch (error) {
         Logger.error(`Error while trying to send cursor streamer data for meeting ${meetingId}. ${error}`);
diff --git a/bigbluebutton-html5/imports/api/cursor/server/modifiers/updateCursor.js b/bigbluebutton-html5/imports/api/cursor/server/modifiers/updateCursor.js
index 808aacc5e5248eff1e82f74a3a07cbafddeabbf2..011144b474c5ad4e1d6392f0c7ce5d20bf256894 100644
--- a/bigbluebutton-html5/imports/api/cursor/server/modifiers/updateCursor.js
+++ b/bigbluebutton-html5/imports/api/cursor/server/modifiers/updateCursor.js
@@ -36,7 +36,7 @@ export default function updateCursor(meetingId, whiteboardId, userId, x = -1, y
     }
 
     if (numChanged) {
-      Logger.debug(`Updated cursor meeting=${meetingId}`);
+      Logger.debug('Updated cursor ', { meetingId });
     }
   };
 
diff --git a/bigbluebutton-html5/imports/api/cursor/server/streamer.js b/bigbluebutton-html5/imports/api/cursor/server/streamer.js
index d8a869c48ccf1d4ef1f7f510db4a918275f4b709..6f461c83466f9d7e40dc5994e22076a256d4b9f3 100644
--- a/bigbluebutton-html5/imports/api/cursor/server/streamer.js
+++ b/bigbluebutton-html5/imports/api/cursor/server/streamer.js
@@ -11,12 +11,12 @@ export function removeCursorStreamer(meetingId) {
 export function addCursorStreamer(meetingId) {
   const streamer = new Meteor.Streamer(`cursor-${meetingId}`, { retransmit: false });
   if (streamerLog) {
-    Logger.debug(`Cursor streamer created for meeting ${meetingId}`);
+    Logger.debug('Cursor streamer created', { meetingId });
   }
 
   streamer.allowRead(function allowRead() {
     if (streamerLog) {
-      Logger.debug(`Cursor streamer called allowRead for user ${this.userId} in meeting ${meetingId}`);
+      Logger.debug('Cursor streamer called allowRead', { userId: this.userId, meetingId });
     }
     return this.userId && this.userId.includes(meetingId);
   });
diff --git a/bigbluebutton-html5/imports/api/external-videos/server/methods/initializeExternalVideo.js b/bigbluebutton-html5/imports/api/external-videos/server/methods/initializeExternalVideo.js
index 30990e1f42f14af6b899ce34726c6c9543f43fd2..848fae3ebe7d25998cb2b00d0d4e47f1ee87a7b3 100644
--- a/bigbluebutton-html5/imports/api/external-videos/server/methods/initializeExternalVideo.js
+++ b/bigbluebutton-html5/imports/api/external-videos/server/methods/initializeExternalVideo.js
@@ -2,7 +2,6 @@ import { extractCredentials } from '/imports/api/common/server/helpers';
 import Logger from '/imports/startup/server/logger';
 
 const allowRecentMessages = (eventName, message) => {
-
   const {
     userId,
     meetingId,
@@ -11,7 +10,7 @@ const allowRecentMessages = (eventName, message) => {
     state,
   } = message;
 
-  Logger.debug(`ExternalVideo Streamer auth allowed userId: ${userId}, meetingId: ${meetingId}, event: ${eventName}, time: ${time} rate: ${rate}, state: ${state}`);
+  Logger.debug('ExternalVideo Streamer auth allowed', userId, meetingId, eventName, time, rate, state);
   return true;
 };
 
@@ -26,6 +25,6 @@ export default function initializeExternalVideo() {
     streamer.allowEmit(allowRecentMessages);
     Logger.info(`Created External Video streamer for ${streamName}`);
   } else {
-    Logger.debug(`External Video streamer is already created for ${streamName}`);
+    Logger.debug('`External Video streamer is already created', { streamName });
   }
 }
diff --git a/bigbluebutton-html5/imports/api/group-chat-msg/server/modifiers/startTyping.js b/bigbluebutton-html5/imports/api/group-chat-msg/server/modifiers/startTyping.js
index 846d172e6975673a70393264d199aaa3de431350..c15ad90f2edf92efdcab799506973a652956dfe3 100644
--- a/bigbluebutton-html5/imports/api/group-chat-msg/server/modifiers/startTyping.js
+++ b/bigbluebutton-html5/imports/api/group-chat-msg/server/modifiers/startTyping.js
@@ -44,7 +44,7 @@ export default function startTyping(meetingId, userId, chatId) {
     Meteor.setTimeout(() => {
       stopTyping(meetingId, userId);
     }, TYPING_TIMEOUT);
-    return Logger.debug(`Typing indicator update for userId={${userId}} chatId={${chatId}}`);
+    return Logger.debug('Typing indicator update', { userId, chatId });
   };
 
   return UsersTyping.upsert(selector, mod, cb);
diff --git a/bigbluebutton-html5/imports/api/group-chat-msg/server/modifiers/stopTyping.js b/bigbluebutton-html5/imports/api/group-chat-msg/server/modifiers/stopTyping.js
index 64e7cb8ef55a27b06d09e990fcc107867d10b874..8b8b14a099c34ddabb9475c4958ecc5ae94d7504 100644
--- a/bigbluebutton-html5/imports/api/group-chat-msg/server/modifiers/stopTyping.js
+++ b/bigbluebutton-html5/imports/api/group-chat-msg/server/modifiers/stopTyping.js
@@ -20,7 +20,7 @@ export default function stopTyping(meetingId, userId, sendMsgInitiated = false)
     if (err) {
       return Logger.error(`Stop user=${userId} typing indicator error: ${err}`);
     }
-    return Logger.debug(`Stopped typing indicator for user=${userId}`);
+    return Logger.debug('Stopped typing indicator', { userId });
   };
 
   UsersTyping.remove(selector, cb);
diff --git a/bigbluebutton-html5/imports/api/group-chat-msg/server/publishers.js b/bigbluebutton-html5/imports/api/group-chat-msg/server/publishers.js
index 0f29669348112ed3a1622bea42bac1c609f8e5f8..15e94bd1f53d130b68020e713e3129c52735cade 100644
--- a/bigbluebutton-html5/imports/api/group-chat-msg/server/publishers.js
+++ b/bigbluebutton-html5/imports/api/group-chat-msg/server/publishers.js
@@ -13,7 +13,7 @@ function groupChatMsg(chatsIds) {
   const CHAT_CONFIG = Meteor.settings.public.chat;
   const PUBLIC_GROUP_CHAT_ID = CHAT_CONFIG.public_group_id;
 
-  Logger.debug(`Publishing group-chat-msg for ${meetingId} ${requesterUserId}`);
+  Logger.debug('Publishing group-chat-msg', { meetingId, requesterUserId });
 
   return GroupChatMsg.find({
     $or: [
@@ -37,7 +37,7 @@ function usersTyping() {
 
   const { meetingId, requesterUserId } = extractCredentials(this.userId);
 
-  Logger.debug(`Publishing users-typing for ${meetingId} ${requesterUserId}`);
+  Logger.debug('Publishing users-typing', { meetingId, requesterUserId });
 
   return UsersTyping.find({ meetingId });
 }
diff --git a/bigbluebutton-html5/imports/api/group-chat/server/publishers.js b/bigbluebutton-html5/imports/api/group-chat/server/publishers.js
index f03ad0586ae0eb28675eefe2fb663083190b5acb..6c8373550d0c721f6ca2e493977664b00a047bf2 100644
--- a/bigbluebutton-html5/imports/api/group-chat/server/publishers.js
+++ b/bigbluebutton-html5/imports/api/group-chat/server/publishers.js
@@ -13,7 +13,7 @@ function groupChat() {
   const CHAT_CONFIG = Meteor.settings.public.chat;
   const PUBLIC_CHAT_TYPE = CHAT_CONFIG.type_public;
 
-  Logger.debug(`Publishing group-chat for ${meetingId} ${requesterUserId}`);
+  Logger.debug('Publishing group-chat', { meetingId, requesterUserId });
 
   return GroupChat.find({
     $or: [
diff --git a/bigbluebutton-html5/imports/api/local-settings/server/publishers.js b/bigbluebutton-html5/imports/api/local-settings/server/publishers.js
index b492c801f3011dc3fe4d4a6a6dab3445d24c3a02..ce84e5965143dc19e1049d96f2eaf169fbc7bcf9 100644
--- a/bigbluebutton-html5/imports/api/local-settings/server/publishers.js
+++ b/bigbluebutton-html5/imports/api/local-settings/server/publishers.js
@@ -9,7 +9,7 @@ function localSettings() {
   }
   const { meetingId, requesterUserId } = extractCredentials(this.userId);
 
-  Logger.debug(`Publishing local settings for user=${requesterUserId}`);
+  Logger.debug('Publishing local settings', { requesterUserId });
 
   return LocalSettings.find({ meetingId, userId: requesterUserId });
 }
diff --git a/bigbluebutton-html5/imports/api/meetings/server/methods/transferUser.js b/bigbluebutton-html5/imports/api/meetings/server/methods/transferUser.js
index 628267300ec84c7fcc0909ea617c4ac9f76e22a2..1bc56d624f20e81b119a8dd89e27b7d23a5fd49e 100644
--- a/bigbluebutton-html5/imports/api/meetings/server/methods/transferUser.js
+++ b/bigbluebutton-html5/imports/api/meetings/server/methods/transferUser.js
@@ -17,8 +17,7 @@ export default function transferUser(fromMeetingId, toMeetingId) {
     userId: requesterUserId,
   };
 
-  Logger.verbose(`userId ${requesterUserId} was transferred from 
-  meeting ${fromMeetingId}' to meeting '${toMeetingId}`);
+  Logger.verbose('User was transferred from one meting to another', { requesterUserId, fromMeetingId, toMeetingId });
 
   return RedisPubSub.publishUserMessage(CHANNEL, EVENT_NAME, meetingId, requesterUserId, payload);
 }
diff --git a/bigbluebutton-html5/imports/api/meetings/server/publishers.js b/bigbluebutton-html5/imports/api/meetings/server/publishers.js
index 29a34e840af5c3f5f4e9a4662f188b22c78a6af1..9a4b3514c5a20a372c54740427db952c97056d1c 100755
--- a/bigbluebutton-html5/imports/api/meetings/server/publishers.js
+++ b/bigbluebutton-html5/imports/api/meetings/server/publishers.js
@@ -12,7 +12,7 @@ function meetings(role) {
   }
   const { meetingId, requesterUserId } = extractCredentials(this.userId);
 
-  Logger.debug(`Publishing meeting =${meetingId} ${requesterUserId}`);
+  Logger.debug('Publishing meeting', { meetingId, requesterUserId });
 
   const selector = {
     $or: [
diff --git a/bigbluebutton-html5/imports/api/network-information/server/methods/userInstabilityDetected.js b/bigbluebutton-html5/imports/api/network-information/server/methods/userInstabilityDetected.js
index 0d7955e4e72c5b250ed078d866ac738aaf7a6f0f..07db47ba63b10d28735e53087d886f1883515edc 100644
--- a/bigbluebutton-html5/imports/api/network-information/server/methods/userInstabilityDetected.js
+++ b/bigbluebutton-html5/imports/api/network-information/server/methods/userInstabilityDetected.js
@@ -14,7 +14,7 @@ export default function userInstabilityDetected(sender) {
     sender,
   };
 
-  Logger.debug(`Receiver ${receiver} reported a network instability in meeting ${meetingId}`);
+  Logger.debug('Receiver reported a network instability', { receiver, meetingId });
 
   return NetworkInformation.insert(payload);
 }
diff --git a/bigbluebutton-html5/imports/api/note/server/modifiers/updateNote.js b/bigbluebutton-html5/imports/api/note/server/modifiers/updateNote.js
index 2ca6696da9b3fcc84297abb34a4d6ee069bfddd9..86048d534ea893efd2aa36c1178fa47159f336d4 100644
--- a/bigbluebutton-html5/imports/api/note/server/modifiers/updateNote.js
+++ b/bigbluebutton-html5/imports/api/note/server/modifiers/updateNote.js
@@ -18,10 +18,10 @@ export default function updateNote(noteId, revs) {
 
   const cb = (err) => {
     if (err) {
-      return Logger.error(`Updating note pad: ${err}`);
+      return Logger.error('Notes: error when updating note pad', { err });
     }
 
-    return Logger.verbose(`Update note pad=${noteId} revs=${revs}`);
+    return Logger.verbose('Notes: update note pad', { pad: noteId, revs });
   };
 
   return Note.update(selector, modifier, { multi: true }, cb);
diff --git a/bigbluebutton-html5/imports/api/polls/server/publishers.js b/bigbluebutton-html5/imports/api/polls/server/publishers.js
index 70804193fc6eef13403017c75a2d1b373e16cb9b..a3152b3e313072d051a2325fc9b1a493b92836a2 100644
--- a/bigbluebutton-html5/imports/api/polls/server/publishers.js
+++ b/bigbluebutton-html5/imports/api/polls/server/publishers.js
@@ -13,7 +13,7 @@ function currentPoll() {
     meetingId,
   };
 
-  Logger.debug(`Publishing poll for meeting=${meetingId}`);
+  Logger.debug('Publishing poll', { meetingId });
 
   return Polls.find(selector);
 }
@@ -33,7 +33,7 @@ function polls() {
 
   const { meetingId, requesterUserId } = extractCredentials(this.userId);
 
-  Logger.debug(`Publishing polls =${meetingId} ${requesterUserId}`);
+  Logger.debug('Publishing polls', { meetingId, requesterUserId });
 
   const selector = {
     meetingId,
diff --git a/bigbluebutton-html5/imports/api/presentation-pods/server/publishers.js b/bigbluebutton-html5/imports/api/presentation-pods/server/publishers.js
index 439b47e22f961d5368536be1d332e2e6d8ff3664..6c364a49d662c94014172e1d77501a99bdf1b0c2 100644
--- a/bigbluebutton-html5/imports/api/presentation-pods/server/publishers.js
+++ b/bigbluebutton-html5/imports/api/presentation-pods/server/publishers.js
@@ -8,7 +8,7 @@ function presentationPods() {
     return PresentationPods.find({ meetingId: '' });
   }
   const { meetingId, requesterUserId } = extractCredentials(this.userId);
-  Logger.debug(`Publishing presentation-pods for ${meetingId} ${requesterUserId}`);
+  Logger.debug('Publishing presentation-pods', { meetingId, requesterUserId });
 
   return PresentationPods.find({ meetingId });
 }
diff --git a/bigbluebutton-html5/imports/api/presentation-upload-token/server/publishers.js b/bigbluebutton-html5/imports/api/presentation-upload-token/server/publishers.js
index ffd1d5f49626db48b753ee6e4a0cf093c83cd845..45977f6d9690d79351cb34b0508a5264fafa1132 100644
--- a/bigbluebutton-html5/imports/api/presentation-upload-token/server/publishers.js
+++ b/bigbluebutton-html5/imports/api/presentation-upload-token/server/publishers.js
@@ -19,7 +19,7 @@ function presentationUploadToken(podId, filename) {
     filename,
   };
 
-  Logger.debug(`Publishing PresentationUploadToken for ${meetingId} ${requesterUserId}`);
+  Logger.debug('Publishing PresentationUploadToken', { meetingId, requesterUserId });
 
   return PresentationUploadToken.find(selector);
 }
diff --git a/bigbluebutton-html5/imports/api/presentations/server/handlers/presentationConversionUpdate.js b/bigbluebutton-html5/imports/api/presentations/server/handlers/presentationConversionUpdate.js
index c81c3624e3b2031a6411f86d8a368e6e4f5e0150..b727afbd64fbd23e332491dc0446fdba0d05131b 100755
--- a/bigbluebutton-html5/imports/api/presentations/server/handlers/presentationConversionUpdate.js
+++ b/bigbluebutton-html5/imports/api/presentations/server/handlers/presentationConversionUpdate.js
@@ -83,7 +83,7 @@ export default function handlePresentationConversionUpdate({ body }, meetingId)
       return Logger.info(`Updated presentation conversion status=${status} id=${presentationId} meeting=${meetingId}`);
     }
 
-    return Logger.debug(`Upserted presentation conversion status=${status} id=${presentationId} meeting=${meetingId}`);
+    return Logger.debug('Upserted presentation conversion', { status, presentationId, meetingId });
   };
 
   return Presentations.upsert(selector, modifier, cb);
diff --git a/bigbluebutton-html5/imports/api/presentations/server/publishers.js b/bigbluebutton-html5/imports/api/presentations/server/publishers.js
index 3fb5e0e5bd9d0164c5961f007fa921743311cf48..e908c41bd13afef3415cc1fd61c665fe1dcd7571 100644
--- a/bigbluebutton-html5/imports/api/presentations/server/publishers.js
+++ b/bigbluebutton-html5/imports/api/presentations/server/publishers.js
@@ -9,7 +9,7 @@ function presentations() {
   }
   const { meetingId, requesterUserId } = extractCredentials(this.userId);
 
-  Logger.debug(`Publishing Presentations for ${meetingId} ${requesterUserId}`);
+  Logger.debug('Publishing Presentations', { meetingId, requesterUserId });
 
   return Presentations.find({ meetingId });
 }
diff --git a/bigbluebutton-html5/imports/api/screenshare/server/publishers.js b/bigbluebutton-html5/imports/api/screenshare/server/publishers.js
index 8042a790c641170e16bb35025c747e160ff2d794..570996fa91bc2dc1944b120a988ba7e1dab84919 100644
--- a/bigbluebutton-html5/imports/api/screenshare/server/publishers.js
+++ b/bigbluebutton-html5/imports/api/screenshare/server/publishers.js
@@ -9,7 +9,7 @@ function screenshare() {
   }
   const { meetingId, requesterUserId } = extractCredentials(this.userId);
 
-  Logger.debug(`Publishing Screenshare for ${meetingId} ${requesterUserId}`);
+  Logger.debug('Publishing Screenshare', { meetingId, requesterUserId });
 
   return Screenshare.find({ meetingId });
 }
diff --git a/bigbluebutton-html5/imports/api/slides/server/modifiers/resizeSlide.js b/bigbluebutton-html5/imports/api/slides/server/modifiers/resizeSlide.js
index 7a45a6fd2bf6c5a978d95f65c4375214c655e27c..26f6af81a90b49923b0ff012ee1082a7ce2a7ab6 100755
--- a/bigbluebutton-html5/imports/api/slides/server/modifiers/resizeSlide.js
+++ b/bigbluebutton-html5/imports/api/slides/server/modifiers/resizeSlide.js
@@ -54,7 +54,7 @@ export default function resizeSlide(meetingId, slide) {
       }
 
       if (numChanged) {
-        return Logger.debug(`Resized slide positions id=${pageId}`);
+        return true;
       }
 
       return Logger.info(`No slide positions found with id=${pageId}`);
diff --git a/bigbluebutton-html5/imports/api/slides/server/publishers.js b/bigbluebutton-html5/imports/api/slides/server/publishers.js
index 99895cfbb02feedc40855e4696e31dc3129f3439..d8e6549a31427165a6ffaf6322a6ac6bf1dd706d 100755
--- a/bigbluebutton-html5/imports/api/slides/server/publishers.js
+++ b/bigbluebutton-html5/imports/api/slides/server/publishers.js
@@ -8,7 +8,7 @@ function slides() {
     return Slides.find({ meetingId: '' });
   }
   const { meetingId, requesterUserId } = extractCredentials(this.userId);
-  Logger.debug(`Publishing Slides for ${meetingId} ${requesterUserId}`);
+  Logger.debug('Publishing Slides', { meetingId, requesterUserId });
 
   return Slides.find({ meetingId });
 }
@@ -26,7 +26,7 @@ function slidePositions() {
   }
   const { meetingId, requesterUserId } = extractCredentials(this.userId);
 
-  Logger.debug(`Publishing SlidePositions for ${meetingId} ${requesterUserId}`);
+  Logger.debug('Publishing SlidePositions', { meetingId, requesterUserId });
 
   return SlidePositions.find({ meetingId });
 }
diff --git a/bigbluebutton-html5/imports/api/users-infos/server/publishers.js b/bigbluebutton-html5/imports/api/users-infos/server/publishers.js
index 1205c00e6fcc987a3fac6289a535cb4d6824104b..5253363ac44a3b9de9782d72de947acb7e62f485 100644
--- a/bigbluebutton-html5/imports/api/users-infos/server/publishers.js
+++ b/bigbluebutton-html5/imports/api/users-infos/server/publishers.js
@@ -9,7 +9,7 @@ function userInfos() {
   }
   const { meetingId, requesterUserId } = extractCredentials(this.userId);
 
-  Logger.debug(`Publishing user infos requested by user=${requesterUserId}`);
+  Logger.debug('Publishing user infos requested', { requesterUserId });
 
   return UserInfos.find({ meetingId, requesterUserId });
 }
diff --git a/bigbluebutton-html5/imports/api/users-settings/server/modifiers/addUserSetting.js b/bigbluebutton-html5/imports/api/users-settings/server/modifiers/addUserSetting.js
index bb57cfbf2af03a11c8bafe868bd03628809fba4c..80ad1869b7c4154cb28e66ed4ab9596b53acfe81 100644
--- a/bigbluebutton-html5/imports/api/users-settings/server/modifiers/addUserSetting.js
+++ b/bigbluebutton-html5/imports/api/users-settings/server/modifiers/addUserSetting.js
@@ -27,7 +27,7 @@ export default function addUserSetting(meetingId, userId, setting, value) {
       return Logger.error(`Adding user setting to collection: ${err}`);
     }
 
-    return Logger.verbose(`Upserted user setting for meetingId=${meetingId} userId=${userId} setting=${setting}`);
+    return Logger.verbose('Upserted user setting', { meetingId, userId, setting });
   };
 
   return UserSettings.upsert(selector, modifier, cb);
diff --git a/bigbluebutton-html5/imports/api/users-settings/server/publishers.js b/bigbluebutton-html5/imports/api/users-settings/server/publishers.js
index a0b88c4e5d3a191ac482b10d7a8b0a127ef1e139..897635ecc26810a176cd0ff8de082c285c25ca03 100644
--- a/bigbluebutton-html5/imports/api/users-settings/server/publishers.js
+++ b/bigbluebutton-html5/imports/api/users-settings/server/publishers.js
@@ -33,12 +33,12 @@ function userSettings() {
       UserSettings.upsert(selector, doc);
     });
 
-    Logger.debug(`Publishing user settings for user=${requesterUserId}`);
+    Logger.debug('Publishing user settings', { requesterUserId });
 
     return UserSettings.find({ meetingId, userId: requesterUserId });
   }
 
-  Logger.debug(`Publishing user settings for user=${requesterUserId}`);
+  Logger.debug('Publishing user settings', { requesterUserId });
 
   return UserSettings.find({ meetingId, userId: requesterUserId });
 }
diff --git a/bigbluebutton-html5/imports/api/users/server/methods/assignPresenter.js b/bigbluebutton-html5/imports/api/users/server/methods/assignPresenter.js
index d8b5da899ae0a05f8358217b5c6b072900118ee1..7e6c3b67a5e4ea1a1670acd2a0d7e470e262bc72 100644
--- a/bigbluebutton-html5/imports/api/users/server/methods/assignPresenter.js
+++ b/bigbluebutton-html5/imports/api/users/server/methods/assignPresenter.js
@@ -29,8 +29,7 @@ export default function assignPresenter(userId) { // TODO-- send username from c
     requesterId: requesterUserId,
   };
 
-  Logger.verbose(`User '${userId}' setted as presenter by '${
-    requesterUserId}' from meeting '${meetingId}'`);
+  Logger.verbose('User set as presenter', { userId, meetingId, setBy: requesterUserId });
 
   return RedisPubSub.publishUserMessage(CHANNEL, EVENT_NAME, meetingId, requesterUserId, payload);
 }
diff --git a/bigbluebutton-html5/imports/api/users/server/methods/changeRole.js b/bigbluebutton-html5/imports/api/users/server/methods/changeRole.js
index f45abca3887de2dd6f7ea5d777f73313c46bca23..bbb6bd3d3179724c7e5e4280b93142c6616386fb 100644
--- a/bigbluebutton-html5/imports/api/users/server/methods/changeRole.js
+++ b/bigbluebutton-html5/imports/api/users/server/methods/changeRole.js
@@ -20,7 +20,9 @@ export default function changeRole(userId, role) {
     changedBy: requesterUserId,
   };
 
-  Logger.verbose(`User '${userId}' set as '${role} role by '${requesterUserId}' from meeting '${meetingId}'`);
+  Logger.verbose('Changed user role', {
+    userId, role, changedBy: requesterUserId, meetingId,
+  });
 
   return RedisPubSub.publishUserMessage(CHANNEL, EVENT_NAME, meetingId, requesterUserId, payload);
 }
diff --git a/bigbluebutton-html5/imports/api/users/server/methods/setEmojiStatus.js b/bigbluebutton-html5/imports/api/users/server/methods/setEmojiStatus.js
index 5cea8279e734848adde14f98a9edd5ea001e87d7..dea4d7edb79d318f623241cbdb1e50a07119c479 100644
--- a/bigbluebutton-html5/imports/api/users/server/methods/setEmojiStatus.js
+++ b/bigbluebutton-html5/imports/api/users/server/methods/setEmojiStatus.js
@@ -18,8 +18,9 @@ export default function setEmojiStatus(userId, status) {
     userId,
   };
 
-  Logger.verbose(`User '${userId}' emoji status updated to '${status}' by '${
-    requesterUserId}' from meeting '${meetingId}'`);
+  Logger.verbose('User emoji status updated', {
+    userId, status, requesterUserId, meetingId,
+  });
 
   return RedisPubSub.publishUserMessage(CHANNEL, EVENT_NAME, meetingId, requesterUserId, payload);
 }
diff --git a/bigbluebutton-html5/imports/api/users/server/methods/setUserEffectiveConnectionType.js b/bigbluebutton-html5/imports/api/users/server/methods/setUserEffectiveConnectionType.js
index 6c1242ee4537b9b78d0793a2184c01a8ef340a5f..289e0f125912abf512eb52eab208a6f60b2aa173 100644
--- a/bigbluebutton-html5/imports/api/users/server/methods/setUserEffectiveConnectionType.js
+++ b/bigbluebutton-html5/imports/api/users/server/methods/setUserEffectiveConnectionType.js
@@ -21,7 +21,7 @@ export default function setUserEffectiveConnectionType(effectiveConnectionType)
 
   setEffectiveConnectionType(meetingId, requesterUserId, effectiveConnectionType);
 
-  Logger.verbose(`User ${requesterUserId} effective connection updated to ${effectiveConnectionType}`);
+  Logger.verbose('Updated user effective connection', { requesterUserId, effectiveConnectionType });
 
   return RedisPubSub.publishUserMessage(CHANNEL, EVENT_NAME, meetingId, requesterUserId, payload);
 }
diff --git a/bigbluebutton-html5/imports/api/users/server/methods/toggleUserLock.js b/bigbluebutton-html5/imports/api/users/server/methods/toggleUserLock.js
index f13aa323f7d8502a404c696d62a07291fe21a593..3ece68b50ccc628f1d0eceefabd36485ad2a105f 100644
--- a/bigbluebutton-html5/imports/api/users/server/methods/toggleUserLock.js
+++ b/bigbluebutton-html5/imports/api/users/server/methods/toggleUserLock.js
@@ -21,8 +21,9 @@ export default function toggleUserLock(userId, lock) {
     lock,
   };
 
-  Logger.verbose(`User ${lockedBy} updated lock status from ${userId} to ${lock}
-  in meeting ${meetingId}`);
+  Logger.verbose('Updated lock status for user', {
+    meetingId, userId, lock, lockedBy,
+  });
 
 
   return RedisPubSub.publishUserMessage(CHANNEL, EVENT_NAME, meetingId, lockedBy, payload);
diff --git a/bigbluebutton-html5/imports/api/users/server/publishers.js b/bigbluebutton-html5/imports/api/users/server/publishers.js
index f41ac189823cb9650f90d459d1efb9c12d613f4f..6787fb4d28aa34b550af8dea694cdcc66ea7ac50 100644
--- a/bigbluebutton-html5/imports/api/users/server/publishers.js
+++ b/bigbluebutton-html5/imports/api/users/server/publishers.js
@@ -79,7 +79,7 @@ function users(role) {
     },
   };
 
-  Logger.debug(`Publishing Users for ${meetingId} ${requesterUserId}`);
+  Logger.debug('Publishing Users', { meetingId, requesterUserId });
 
   return Users.find(selector, options);
 }
diff --git a/bigbluebutton-html5/imports/api/video-streams/server/publisher.js b/bigbluebutton-html5/imports/api/video-streams/server/publisher.js
index 046a054ff2406fdbb78b9a8379c5d06050209f2e..da4c53d2382b1f4ea276dfe44d46e79894d91874 100644
--- a/bigbluebutton-html5/imports/api/video-streams/server/publisher.js
+++ b/bigbluebutton-html5/imports/api/video-streams/server/publisher.js
@@ -9,7 +9,7 @@ function videoStreams() {
   }
   const { meetingId } = extractCredentials(this.userId);
 
-  Logger.debug(`video users of meeting id=${meetingId}`);
+  Logger.debug('Publishing video users', { meetingId });
 
   const selector = {
     meetingId,
diff --git a/bigbluebutton-html5/imports/api/voice-call-states/server/handlers/voiceCallStateEvent.js b/bigbluebutton-html5/imports/api/voice-call-states/server/handlers/voiceCallStateEvent.js
index ca66c2473d5eaaf65522ea512bd4390136271adf..ec19b8ba9995c86471b3696daffdadae115807dc 100644
--- a/bigbluebutton-html5/imports/api/voice-call-states/server/handlers/voiceCallStateEvent.js
+++ b/bigbluebutton-html5/imports/api/voice-call-states/server/handlers/voiceCallStateEvent.js
@@ -41,7 +41,9 @@ export default function handleVoiceCallStateEvent({ body }, meetingId) {
       return Logger.error(`Update voice call state=${userId}: ${err}`);
     }
 
-    return Logger.debug(`Update voice call state=${userId} meeting=${meetingId} clientSession=${clientSession} callState=${callState}`);
+    return Logger.debug('Update voice call', {
+      state: userId, meetingId, clientSession, callState,
+    });
   };
 
   return VoiceCallState.upsert(selector, modifier, cb);
diff --git a/bigbluebutton-html5/imports/api/voice-call-states/server/publishers.js b/bigbluebutton-html5/imports/api/voice-call-states/server/publishers.js
index aa43e1786140985fe21df69051aebe188be19f2b..33aa6f6632b2bbd01edd8578b41e8275ac4dd225 100644
--- a/bigbluebutton-html5/imports/api/voice-call-states/server/publishers.js
+++ b/bigbluebutton-html5/imports/api/voice-call-states/server/publishers.js
@@ -9,7 +9,7 @@ function voiceCallStates() {
   }
   const { meetingId, requesterUserId } = extractCredentials(this.userId);
 
-  Logger.debug(`Publishing Voice Call States for ${meetingId} ${requesterUserId}`);
+  Logger.debug('Publishing Voice Call States', { meetingId, requesterUserId });
 
   return VoiceCallStates.find({ meetingId, userId: requesterUserId });
 }
diff --git a/bigbluebutton-html5/imports/api/voice-users/server/modifiers/updateVoiceUser.js b/bigbluebutton-html5/imports/api/voice-users/server/modifiers/updateVoiceUser.js
index 5b86dca2ec3cd9b5b16d38ec5d5f7d2f448f6f34..7f5f6dff9e2dbe4e00aa39be1fe8dca730413ce5 100644
--- a/bigbluebutton-html5/imports/api/voice-users/server/modifiers/updateVoiceUser.js
+++ b/bigbluebutton-html5/imports/api/voice-users/server/modifiers/updateVoiceUser.js
@@ -48,7 +48,7 @@ export default function updateVoiceUser(meetingId, voiceUser) {
       return Logger.error(`Update voiceUser=${intId}: ${err}`);
     }
 
-    return Logger.debug(`Update voiceUser=${intId} meeting=${meetingId}`);
+    return Logger.debug('Update voiceUser', { voiceUser: intId, meetingId });
   };
 
   if (!voiceUser.talking) {
diff --git a/bigbluebutton-html5/imports/api/voice-users/server/publishers.js b/bigbluebutton-html5/imports/api/voice-users/server/publishers.js
index 6bf69035fa16ed25fc5da814980e8e073e746ee5..6bacec6985838b2a6633afcbcc8d5f3a68980224 100644
--- a/bigbluebutton-html5/imports/api/voice-users/server/publishers.js
+++ b/bigbluebutton-html5/imports/api/voice-users/server/publishers.js
@@ -24,7 +24,7 @@ function voiceUser() {
     }
   });
 
-  Logger.debug(`Publishing Voice User for ${meetingId} ${requesterUserId}`);
+  Logger.debug('Publishing Voice User', { meetingId, requesterUserId });
 
   this._session.socket.on('close', _.debounce(onCloseConnection, 100));
   return VoiceUsers.find({ meetingId });
diff --git a/bigbluebutton-html5/imports/api/whiteboard-multi-user/server/publishers.js b/bigbluebutton-html5/imports/api/whiteboard-multi-user/server/publishers.js
index e8e8a8e4b14828f1c2f29e9ac191689cfac6f5f9..b72199f587dc56e012b928886fbaf3857e29d12d 100644
--- a/bigbluebutton-html5/imports/api/whiteboard-multi-user/server/publishers.js
+++ b/bigbluebutton-html5/imports/api/whiteboard-multi-user/server/publishers.js
@@ -9,7 +9,7 @@ function whiteboardMultiUser() {
   }
   const { meetingId, requesterUserId } = extractCredentials(this.userId);
 
-  Logger.debug(`Publishing whiteboard-multi-user for ${meetingId} ${requesterUserId}`);
+  Logger.debug('Publishing whiteboard-multi-user', { meetingId, requesterUserId });
 
   return WhiteboardMultiUser.find({ meetingId });
 }