I have multiple loggers writing into a file in async mode.
There is a logger that is always writing on the file, i think only when shutting down / flush the log.
here a sample of logs:
[2023-09-02 10:40:04.949| 27228][ * APP. debug] Application is on Debug level logging.
[2023-09-02 10:40:07.011| 27228][ * APP. info] delay: 0 --- fps: 10 --- tpf: 101
[2023-09-02 10:40:10.239| 23396][ * APP. warning] Total number of unpacked file mismatch: unpacked 665 -- expected 663 -- PAKs 15 -- d2files 676
[2023-09-02 10:40:43.289| 23396][ * APP. debug] AFINAL resources found: AFINALB.WSA
[2023-09-02 10:40:07.005| 27228][RENDER. info] Created renderer: direct3d
the last entry of the log RENDER
should have been like at the 2nd row position, instead is always written when the log is shutting down/flush all the loggers.
is there any reason for that?
The pool used is with 2 threads and a size of 100 messages for the queue.
there are a total of 14 loggers sharing the same file, only 2 of those wrote in that sample file reported here.
As extra information if it might be relevant: those loggers are all multi-sink, having a "stdout"/"stderr" output too along side the file, but due to each loggers have a slightly different pattern
, each one of the loggers has its own stdout or stderr synk.
The sinks used are mt
(multi-threading)
Is there any reason why that RENDER
async logger has to be so much out of place? (in this example it is almost 40 second lag to write the entry down)