In my opinion, here are some improvements that the logger needs.
The logger needs to have a facility of logging directly into a file.
We can also involve macros like __func__, __LINE__, __FILE__,(or also __FUNCTION__ and __PRETTY_FUNCTION__)
for logging. As in gdb, printing line numbers and file names are pretty helpful, IMO.
This way we also won't need to change line numbers in log statements if we change
the code. (if we code log statements in this way)
We can also display log timings. There are certain bug reports like #54257 and #43248
that say rendering is slow. In such a case, log timings will definitely help us
in knowing how well we have been in improving speed. This can also help us test speed optimizations
in code.
We also need a log-config file and a flexible logging pattern. The state-of-the-art loggers usually have a
file that configures logging. This file is used in specifying where to log into and logging patterns.
for every 30 lines of non-logging code. I think freetype needs little more logging statements.
The paper also says "we find that they often do not make the log messages right in their first attempts, and
thus need to spend a significant amount of efforts
to modify the log messages as after-thoughts". This also suggests a need to regularly revise log statements.