`LogService.MessageOut` does not work properly

Reproduction Steps
Currently, as of 3/24/22, the MessageOut event does not work correctly:

  • In a live server, the event is never fired, on the server or on the client.
  • In studio, it fires for the wrong contexts. Server and client get all messages from any context, when they should only get messages from their own context.

This bug makes it impossible to handle logging analytics, which is critical to maintaining a game.

Steps to reproduce:

  1. Open the repro place file (attached below)
  2. Run a playsolo test. Observe that warns are printed for every logged message
  3. Comment out the server printing code on line 6
  4. Run another playsolo test. Observe that the server script is still spitting warns for client messages
  5. Uncomment the server printing code
  6. Publish the place file to a cloud place.
  7. Join the cloud place / live server. Observe that no warns are being logged at all.

MessageOut_BugRepro.rbxl (36.1 KB)

Expected Behavior
It is expected that LogService.MessageOut fires on the server and on the client, regardless of whether or not the code is in a live server. It is also expected that LogService.MessageOut would respect the context it is being listened to in while in studio.

Actual Behavior
LogService.MessageOut only works in studio, and does not respect server/client contexts.

Workaround
None

Issue Area: Engine
Issue Type: Other
Impact: High
Frequency: Constantly
Date First Experienced: 2022-03-24 00:03:00 (-04:00)

6 Likes

Also worth mentioning, it ignores tables too : LogService.MessageOut ignores printed tables

This is the only bug here. Game would freeze if it were possible to use print/warn/error functions inside the LogService.MessageOut connection.

As for the tables, in the topic you’ve mentioned, there is an error() function inside the Messageout connection. Thats why it doesn’t work.

Neither of these are correct. You can reproduce the issue yourself - try printing a table with LogService.MessageOut listening for output. It does not print anything, yet other messages are printed just fine.

Again, simply not true. The repro file clearly indicates that printing does work.

One of my games relies on MessageOut event and it does work without any bugs on server and client.
(In live game)

Thanks for the report! Sorry for the super late response, we’ll look into this now.

2 Likes

Hey everyone. So sorry for the late response here. Just circling back on some old threads - is this still an issue?

1 Like

Hi @music_man1996 - yes, the above repro steps still work. The bug has not been fixed.

Ok, let me see if I can find the right people at Roblox to fix this.

1 Like

I have verified that LogService.MessageOut works properly in live server and player client.We don’t allow print/warn/error in MessageOut as otherwise lots of messages will be printed out.

My test script increment a value in DataStore and I validated the value is correctly updated. For client script I simply update a local variable in the script and read it from the while loop.

It’s also worth noting that there is a bug in your client script. The MessageOut event is never registered.

However, I do agree that the behavior in Studio is weird, and our team will look into it more.

In the meanwhile, please check out the error report page if you haven’t done so: Error Report | Documentation - Roblox Creator Hub.

Update 2024/05: We released a patch for Studio local play mode and the issue with spammy Studio output should be fixed. Please file a new bug report if you observe any issues related to this. Thanks, all!

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.