Odysseas Georgoudis

Results 98 comments of Odysseas Georgoudis

Logs are ordered by timestamp in the backend thread. To avoid contention between threads, Quill uses a separate queue per thread instead of a global queue. Because of this design,...

Hey! I've actually considered and tried implementing something like this a few times. The main challenges I encountered were around cross-platform support. It’s tricky to handle this in a way...

Yes, the build-in signal handler is optional, so you can easily take the existing code and adapt it as a new signal handler to print a stack trace. I’m fine...

hey, try with ```c++ cfg.set_filename_append_option(quill::FilenameAppendOption::None); cfg.set_rotation_naming_scheme(quill::RotatingFileSinkConfig::RotationNamingScheme::Date); cfg.set_timezone(quill::Timezone::LocalTime); // or GmtTime ``` Current active written log file won't have a date, but any file that was rotated will have the date...

Hey, there is no `_clean_and_recover_files `when `RotationNamingScheme::Date` is used, it is not needed, so it doesn't do anything I tried the below example and the behaviour seems as expected, I...

After reviewing the `RotatingSink` class and `_rotate_files` function, I believe the current implementation is working as intended. ## Current Rotation Model ``` sys.20250509.log // Yesterday's rotated file sys.log // Current...

Hey, I've thought about this many times. I'm not sure if it's worth it. Most of quill's features are designed around async logging, and making a sync version that also...

I think it really depends on the application's needs and latency requirements and how much and where it is logging. The goal of the library is to allow logging with...

Similar idea but a bit different, binlog writes binary files that you pass for decoding to bread. That prototype instead writes to a shared memory ring buffer and a daemon...

in `master `flush option has moved to runtime https://github.com/odygrd/quill/blob/master/include/quill/core/LoggerBase.h#L154 doing something like this should protect you from dropping messages ```c++ if (pcap_replay) { constexpr uint32_t MAX_MESSAGES {100}; logger->set_immediate_flush(MAX_MESSAGES); } ```