util/log: Fix log messages over 1024 characters.
The first attempt at the sprintf would have consumed part of va, so if we're going to recurse on overflow to try again in a new allocation then we have to do our work on a copy.
This was a common failure mode for MESA_GLSL=source, where it would just print:
Mesa: info: GLSL source for fragment shader 1: Mesa: info: (null)
Fixes: 7a18a171 ("util/log: improve logger_file newline handling") @olv