On 12/16/15 4:01 PM, John Rose wrote:
On Dec 15, 2015, at 12:26 PM, Rachel Protacio <rachel.prota...@oracle.com>
wrote:
- each incident of ttyLocker that involved separate logging lines for the same
message have been consolidated to one line
- each incident of ttyLocker that involved separate print statements to one
logging line has been changed to write to a buffer first, then print the entire
line at once to the log stream
This is a strong argument for putting such functionality into the UL framework,
instead of giving developers the unfortunate choice of either (a) doing it right
with a bunch of random logic (Rachel's choice here) or (b) sweeping it under
the carpet by breaking up a multi-part message into several log messages.
We need to admit this is the Achilles Heel of logging as normally conceived
(especially for very long multi-part messages like disassembler output,
backtraces, or compilation logs), and just fix it in the UL frameowrk.
Yes, I agree. We should file a high priority RFE against UL for this if
one isn't filed already. The runtime only uses ttyLocker (as far as I
found) for TraceExceptions but the compiler uses it more often to
aggregate messages. The lack of a locking mechanism seems to be one of
the factors blocking the compiler group adoption of this feature. And
will block more complex runtime logging conversions.
So what do people vote that we do? Should we log the messages
separately until this is fixed? I agreed with making these logs one
line because even though they wrap, they weren't that long. It would
be nice to be able to do the conversion work to UL concurrently while
finding problems in the framework, and not be stuck.
Thanks,
Coleen
— John