Skip to content

Version 1.10.0

Compare
Choose a tag to compare
@gabime gabime released this 04 Apr 14:27
· 362 commits to v1.x since this release
  • Bump fmt to version 8.1.1.
  • Added file event handlers #2165, #2169 Thanks @seker.
    You can get callbacks from spdlog before/after log file has been opened or closed.
    This is useful for cleanup procedures or for adding something to the start/end of the log files. Example:
  void file_events_example()
  {
    // pass the spdlog::file_event_handlers to file sinks for open/close log file notifications
    spdlog::file_event_handlers handlers;
    handlers.before_open = [](spdlog::filename_t filename) { spdlog::info("Before opening {}", filename); };
    handlers.after_open = [](spdlog::filename_t filename, std::FILE *fstream) { fputs("After opening\n", fstream); };
    handlers.before_close = [](spdlog::filename_t filename, std::FILE *fstream) { fputs("Before closing\n", fstream); };
    handlers.after_close = [](spdlog::filename_t filename) { spdlog::info("After closing {}", filename); };
    auto my_logger = spdlog::basic_logger_st("some_logger", "logs/events-sample.txt", true, handlers);        
  }
  • Fixed rotating file sink: when disk is full log rotation resulted zero size log files. #2261. (thanks @kishorekrd for reporting).
  • Added new udp_sink #2090. Thanks @CJLove
  • (Experimental) Option to depend on std::format instead of fmtlib (set SPDLOG_USE_STD_FORMAT and use C++20). #2170 Thanks @sylveon .
  • Improved file name for hourly file sink #2047. Thanks @seker .
  • Added code location information for error handler #2048. Thanks @D-r-P-3-p-p-3-r .
  • Fixed qt_sinks ctor #2056. Thanks @mguludag .
  • List Debian instructions in the README #2057. Thanks @mr-c ,
  • Updated to latest Travis CI Build Status #2094. Thanks @jspraul .
  • Fixed unhandled errors in udp sink. #2096. Thanks @mmarkeloff .
  • CMake improvement regarding cmake_minimum_required and policy. #2098. Thanks @reddwarf69 .
  • Fixed mongo_sink compile in older gcc versions #2102 . Thanks @yzz-ihep .
  • Remove mutable keyword from mutex_ member in of sinks. #2140 . Thanks @sunlong169 .
  • Fix typos #2171. Thanks @rex4539 .
  • Fixed udp sink build on FreeBSD #2172. Thanks @keith-dev .
  • Avoid c-style casting in stdout sinks. #2179. Thanks @ibmibmibm .
  • Fixed tweakme.h compile error under msvcs when SPDLOG_FUNCTION is defined #2182. Thanks @Light3039 .
  • Fixed compiling errors on AIX #2181. Thanks @lisr .
  • Fixed runtime when build with -fsanitize=cfi #1972. Thanks @bansan85 .
  • Remove extraneous semicolon #2190. Thanks @sylveon.
  • Added example how to replace default logger. #2194. Thanks @rioki .
  • Fixed usage of ranges and to_hex in the same compile unit #2195. Thanks @patrickroocks .
  • Reduce warnings with pedantic compiler -Wuseless-cast #2216. Thanks @vnepogodin .
  • Support using std::span in to_hex #2228. Thanks @timblechmann .
  • Reset current size if rotated files on open #2234. Thanks @SpriteOvO .
  • Allow forward-declaration of level_enum #2245. Thanks @daverigby .
  • Call localtime() only if pattern_formatter really needs it #2246. Thanks @doug1234 .
  • Removed unneeded spaces from code. #2249. Thanks @PixelParas .
  • Added a few missing files/directories to the gitignore #2255. Thanks @LeonBrands .
  • Fixed issue #2201 (Pattern width is not applied for missing source information). #2269. Thanks @kyuheon-kr .
  • Limit max number of rotating files to 200000. (Fixed #1905). Thanks @surfycui (#2273)
  • pattern_formatter: fix reorder-ctor warning #2278. Thanks @adriweb .
  • Fixed spdlogConfig.cmake when built with SPDLOG_FMT_EXTERNAL_HO #2300. Thanks @adamcalhoon .
  • Fixed fopen_s(..) error handling when PREVENT_CHILD_FD is defined #2305. Thanks @nUl1.
  • Fixed compiler error when building on Windows with #define UNICODE #2317. Thanks @risa2000 .
  • Added option to enable formatting of systemd sink #2324, #2320. Thanks @Delgan .
  • Added optional "ident" argument to systemd sink constructor #2328. Thanks @Delgan .

Special thanks to @tt4g for his support in answering community questions and issues.