spdlog async multiple loggers sharing a file synk, one of those always writing only on flush or shutdown

281 views Asked by At

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)

0

There are 0 answers