Because the constructor will always be called, even when the logging level is suppressed by configuration, while the toString method will only be called if the logging level is enabled.