diff --git a/include/spdlog/sinks/rotating_file_sink-inl.h b/include/spdlog/sinks/rotating_file_sink-inl.h index 17a4ee93..db13a738 100644 --- a/include/spdlog/sinks/rotating_file_sink-inl.h +++ b/include/spdlog/sinks/rotating_file_sink-inl.h @@ -16,7 +16,6 @@ #include #include - namespace spdlog { namespace sinks { @@ -54,8 +53,6 @@ SPDLOG_INLINE filename_t rotating_file_sink::calc_filename(const filename return fmt::to_string(w); } - - template SPDLOG_INLINE const filename_t &rotating_file_sink::filename() const { diff --git a/include/spdlog/sinks/rotating_file_sink.h b/include/spdlog/sinks/rotating_file_sink.h index 0ce71a61..a454086b 100644 --- a/include/spdlog/sinks/rotating_file_sink.h +++ b/include/spdlog/sinks/rotating_file_sink.h @@ -2,6 +2,7 @@ // Distributed under the MIT License (http://opensource.org/licenses/MIT) #pragma once + #ifndef SPDLOG_H #include "spdlog/spdlog.h" #endif @@ -27,12 +28,10 @@ public: static filename_t calc_filename(const filename_t &filename, std::size_t index); const filename_t &filename() const; - protected: void sink_it_(const details::log_msg &msg) override; void flush_() override; - private: // Rotate files: // log.txt -> log.1.txt @@ -76,7 +75,6 @@ inline std::shared_ptr rotating_logger_st( } } // namespace spdlog - #ifdef SPDLOG_HEADER_ONLY #include "rotating_file_sink-inl.h" #endif \ No newline at end of file diff --git a/src/spdlog.cpp b/src/spdlog.cpp index c5fbf8f0..4a16a0d9 100644 --- a/src/spdlog.cpp +++ b/src/spdlog.cpp @@ -16,6 +16,9 @@ #include "spdlog/logger.h" #include "spdlog/logger-inl.h" +template class std::shared_ptr; +template class std::function; +template spdlog::logger::logger(std::string name, sinks_init_list::iterator begin, sinks_init_list::iterator end); #include "spdlog/async_logger.h" #include "spdlog/async_logger-inl.h" @@ -80,36 +83,22 @@ template FMT_API internal::locale_ref::locale_ref(const std::locale &loc); template FMT_API std::locale internal::locale_ref::get() const; // Explicit instantiations for char. - template FMT_API char internal::thousands_sep_impl(locale_ref); - template FMT_API void internal::basic_buffer::append(const char *, const char *); - template FMT_API void internal::arg_map::init(const basic_format_args &args); - template FMT_API int internal::char_traits::format_float(char *, std::size_t, const char *, int, double); - template FMT_API int internal::char_traits::format_float(char *, std::size_t, const char *, int, long double); - template FMT_API std::string internal::vformat(string_view, basic_format_args); - template FMT_API format_context::iterator internal::vformat_to(internal::buffer &, string_view, basic_format_args); - template FMT_API void internal::sprintf_format(double, internal::buffer &, core_format_specs); template FMT_API void internal::sprintf_format(long double, internal::buffer &, core_format_specs); // Explicit instantiations for wchar_t. - template FMT_API wchar_t internal::thousands_sep_impl(locale_ref); - template FMT_API void internal::basic_buffer::append(const wchar_t *, const wchar_t *); - template FMT_API void internal::arg_map::init(const basic_format_args &); - template FMT_API int internal::char_traits::format_float(wchar_t *, std::size_t, const wchar_t *, int, double); - template FMT_API int internal::char_traits::format_float(wchar_t *, std::size_t, const wchar_t *, int, long double); - template FMT_API std::wstring internal::vformat(wstring_view, basic_format_args); FMT_END_NAMESPACE