What and where is “the log file” for errors in ROS?

I ran the following and got an error with something that previously ran well (I was just missing the entire world though and not the robot). Something I did in the middle could be the problem.

\$ roslaunch my_robot world.launch
RLException: [world.launch] is neither a launch file in package [my_robot] nor is [my_robot] a launch file name
The traceback for the exception was written to the log file


However, the main question for now is what is this special log file? The error mentions it like there's only one and it is evident where it is. This question has a similar error but no answer. My question for now though, is where can I find this log file? And what what does RL stand for in RLException?

• You're having a problem with roslaunch, so I would guess RL is short for the same. – Chuck Apr 30 at 14:41

tl;dr -

If you are using roslaunch, you can use the roslaunch-logs command to tell you the location of the log directory.

From the ROS wiki:

1. Output

There are four potential places a log message may end up, depending on the verbosity level:

stdout

DEBUG and INFO messages arrive on stdout if they are enabled. Note that this may not be sent to the screen depending on the value of the roslaunch/XML/node output parameter.

stderr

WARN, ERROR and FATAL messages arrive on stderr if they are enabled.

Node log file

Everything enabled goes into the log file. Your node's log file will be in ~/.ros/log unless you override it with the ROS_HOME or ROS_LOG_DIR environment variables. If you are using roslaunch, you can use the roslaunch-logs command to tell you the location of the log directory.

/rosout topic

Everything enabled is sent to the /rosout topic. Note that until the node is fully started, messages will not be sent, so you may not see initial messages.

Here is a table summarizing the above:

$$\begin{matrix} \text{ } & \text{Debug} & \text{Info} & \text{Warn} & \text{Error} & \text{Fatal} \\ \text{stdout} & \text{X} & \text{X} & \text{ } & \text{ } & \text{ } \\ \text{stderr} & \text{ } & \text{ } & \text{X} & \text{X} & \text{X} \\ \text{log file} & \text{X} & \text{X} & \text{X} & \text{X} & \text{X} \\ \text{/rosout} & \text{X} & \text{X} & \text{X} & \text{X} & \text{X} \end{matrix}$$ Also note that this table is different for rospy.

• Thanks. I found out about unknown logs and rosclean check command. – heretoinfinity May 1 at 0:04