I was able to implement printf-like specifiers. The logic was a bit complicated, but assuming there aren't any bugs, it should be very efficient.
Code:
[%5s] [%-6.4t] %n::%f %l
[ INFO] [22:5 ] test.amxx::function This is test 2.000000
__________________