Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

One of the most helpful parts of Iguana is the logging system. It’s super easy to build intuitive logging for your own components using it. Here are a few pointers:

Expand
titleiguana.log* give gives us calls to the logging system

So this is an example of a log message:

Code Block
iguana.logInfo("#custom #me This is a custom log")

Expand
titleYou can use #hashtags in your log messages

This makes it a little easier to view the logs and filter on the tags by clicking on them:

See the #custom. If you were to click on it, this is what you would see:

Cool eh? Very nice way of filtering your log data. Switching on Matches only:

That’s a bit of hang over from Iguana 6 days.

🙄

We may simplify things in the future and make all these log commands like logInfo etc. just be aliases for log.

#hashtags are a simpler more flexible way of doing things
Expand
titleI guess we probably over designed it have logInfo and logWarning etc. in the system
You can trigger custom Iguana X notifications

In the Translator, you can use iguana.log to provide a hook for implementing custom notification logic. For example, if you write this helper function:

Code Block
languagelua
function Alert(Message)
   iguana.log("ALERT: "..Message)
end

Then create a Log Contains Notifications rule using the key word “ALERT:“ to trigger a notification anytime there is a match in the component’s logs.

Expand
titleYou can relate messages together using message id that is returned from queue.push{data=Message}

This is how you do it:

Code Block
local MessageId = queue.push{data="A message"}
iguana.logInfo("This is associated with that message.", MessageId)   

Now this custom informational log you just created, will be related in the logs to the message queued.

...