诸暨麻将添加redis
25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 
 
 
 
 

58 satır
1.6 KiB

  1. // Copyright(c) 2015-present, Gabi Melman & spdlog contributors.
  2. // Distributed under the MIT License (http://opensource.org/licenses/MIT)
  3. #pragma once
  4. #include <spdlog/details/file_helper.h>
  5. #include <spdlog/details/null_mutex.h>
  6. #include <spdlog/sinks/base_sink.h>
  7. #include <spdlog/details/synchronous_factory.h>
  8. #include <mutex>
  9. #include <string>
  10. namespace spdlog {
  11. namespace sinks {
  12. /*
  13. * Trivial file sink with single file as target
  14. */
  15. template<typename Mutex>
  16. class basic_file_sink final : public base_sink<Mutex>
  17. {
  18. public:
  19. explicit basic_file_sink(const filename_t &filename, bool truncate = false);
  20. const filename_t &filename() const;
  21. protected:
  22. void sink_it_(const details::log_msg &msg) override;
  23. void flush_() override;
  24. private:
  25. details::file_helper file_helper_;
  26. };
  27. using basic_file_sink_mt = basic_file_sink<std::mutex>;
  28. using basic_file_sink_st = basic_file_sink<details::null_mutex>;
  29. } // namespace sinks
  30. //
  31. // factory functions
  32. //
  33. template<typename Factory = spdlog::synchronous_factory>
  34. inline std::shared_ptr<logger> basic_logger_mt(const std::string &logger_name, const filename_t &filename, bool truncate = false)
  35. {
  36. return Factory::template create<sinks::basic_file_sink_mt>(logger_name, filename, truncate);
  37. }
  38. template<typename Factory = spdlog::synchronous_factory>
  39. inline std::shared_ptr<logger> basic_logger_st(const std::string &logger_name, const filename_t &filename, bool truncate = false)
  40. {
  41. return Factory::template create<sinks::basic_file_sink_st>(logger_name, filename, truncate);
  42. }
  43. } // namespace spdlog
  44. #ifdef SPDLOG_HEADER_ONLY
  45. #include "basic_file_sink-inl.h"
  46. #endif