During operation, FarmBot will generate logs. Logs are short messages that FarmBot will send to the web app server and your web browser so you can monitor operation and investigate when things have gone wrong.
There are several log types, each with their own color, that indicate the type of message being sent.
|SUCCESS||FarmBot has successfully completed a task.
|BUSY||FarmBot is busy working on a task.
|WARN||A situation may require your attention or make FarmBot unresponsive.
Example: Emergency locking and powering down
|ERROR||An error or emergency stop has occurred.
Example: Movement failed
|INFO||General information about what FarmBot is doing.
Example: Starting Water All Plants Sequence
|FUN||Logs that are just for fun|
|DEBUG||Verbose information relevant to software development and troubleshooting.
Example: Network interface needs configuration: wlan0
|ASSERTION||Results of ASSERTION commands. (advanced)|
Verbosity and filtering
FarmBot sends logs for nearly every action it takes. Sometimes seeing all of the logs can be helpful, for example when trying out new features or when debugging your system. Other times seeing only the most important “high level” logs is desirable, such as when you leave your FarmBot to work for a few weeks and you just periodically check in.
Every log that FarmBot sends has a verbosity of
3, which can be loosely associated with how important the log is and the level of detail that it reveals about how your FarmBot is operating. A more verbose log (verbosity
3) is usually “lower level” and less important. A less verbose log (verbosity
1) is usually “higher level” and more important.
You can filter logs by clicking(or, when log filters are currently active, ). The verbosity sliders allow you to choose to see more verbose or less verbose logs.
Setting a verbosity slider to
0 means you will not see any logs of that type in the logs table or in the status ticker. Setting a slider to
1 means you will see only the most important “high level” logs of that type.
2 means you will see most logs of that type including the most important “high level” logs as well as semi-important “medium level” logs. A setting of
3 means you will see every log of that type, many of which may be unimportant during normal operation.
The PRESETS for
Logs settings menu
You can customize whether or not FarmBot sends some types of logs or not by using the options in the menu. Each option is described in the tooltip shown when the icon is clicked.
The firmware sends a high volume of messages during normal FarmBot OS communication. Logging these messages may slow down the web app considerably. It is recommended to use this toggle sparingly and disable
Received logs when you are done.
In order to provide the best possible web application experience to all users, we have implemented the following limitations to the number of logs a FarmBot can store to the web app within a given time period.
|Time Period||Max Number of Logs|
If a log limit is reached, a cooldown period will begin where log storage and display is suspended until the next time period. For example, if the 1 minute limit is reached, logs will be suspended until the next minute. A warning log and toast notification will be displayed, indicating the suspension:
You still have control
Even when log storage and display is suspended, you can still control the FarmBot from the web application (manual movements,, etc). FarmBot will also continue to execute scheduled events, take photos, etc while logs are suspended.
Once the cooldown period has ended, logs will resume being stored and displayed in the web application. An informational log and toast notification will indicate this:
We do not expect average users to ever experience these limits. Instead, they are designed to minimize the disruption that an incorrectly configured FarmBot or a malicious attacker can have on our systems.