mirror of
https://github.com/gabime/spdlog.git
synced 2024-11-15 16:35:45 +08:00
qt_sink: add some warning on its usage (#2753)
* qt_sink: add some warning on its usage * qt_sink: add some warning on its usage - fix --------- Co-authored-by: Benoit FANCHON <bfanchon@nanoxplore.com>
This commit is contained in:
parent
31cf79a70d
commit
32701af60b
@ -55,25 +55,35 @@ private:
|
|||||||
|
|
||||||
#include "spdlog/details/null_mutex.h"
|
#include "spdlog/details/null_mutex.h"
|
||||||
#include <mutex>
|
#include <mutex>
|
||||||
|
// Warning: qt_sink won't be notified if the target QObject is destroyed.
|
||||||
|
// If the object's lifetime can be shorter than the logger's one, you should provide some permanent object and then use a standard signal/slot.
|
||||||
using qt_sink_mt = qt_sink<std::mutex>;
|
using qt_sink_mt = qt_sink<std::mutex>;
|
||||||
|
// Warning: qt_sink won't be notified if the target QObject is destroyed.
|
||||||
|
// If the object's lifetime can be shorter than the logger's one, you should provide some permanent object and then use a standard signal/slot.
|
||||||
using qt_sink_st = qt_sink<spdlog::details::null_mutex>;
|
using qt_sink_st = qt_sink<spdlog::details::null_mutex>;
|
||||||
} // namespace sinks
|
} // namespace sinks
|
||||||
|
|
||||||
//
|
//
|
||||||
// Factory functions
|
// Factory functions
|
||||||
//
|
//
|
||||||
|
// Warning: the qt_sink won't be notified if the target widget is destroyed.
|
||||||
|
// If the widget's lifetime can be shorter than the logger's one, you should provide some permanent QObject and then use a standard signal/slot.
|
||||||
template<typename Factory = spdlog::synchronous_factory>
|
template<typename Factory = spdlog::synchronous_factory>
|
||||||
inline std::shared_ptr<logger> qt_logger_mt(const std::string &logger_name, QTextEdit *qt_object, const std::string &meta_method = "append")
|
inline std::shared_ptr<logger> qt_logger_mt(const std::string &logger_name, QTextEdit *qt_object, const std::string &meta_method = "append")
|
||||||
{
|
{
|
||||||
return Factory::template create<sinks::qt_sink_mt>(logger_name, qt_object, meta_method);
|
return Factory::template create<sinks::qt_sink_mt>(logger_name, qt_object, meta_method);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Warning: the qt_sink won't be notified if the target widget is destroyed.
|
||||||
|
// If the widget's lifetime can be shorter than the logger's one, you should provide some permanent QObject and then use a standard signal/slot.
|
||||||
template<typename Factory = spdlog::synchronous_factory>
|
template<typename Factory = spdlog::synchronous_factory>
|
||||||
inline std::shared_ptr<logger> qt_logger_st(const std::string &logger_name, QTextEdit *qt_object, const std::string &meta_method = "append")
|
inline std::shared_ptr<logger> qt_logger_st(const std::string &logger_name, QTextEdit *qt_object, const std::string &meta_method = "append")
|
||||||
{
|
{
|
||||||
return Factory::template create<sinks::qt_sink_st>(logger_name, qt_object, meta_method);
|
return Factory::template create<sinks::qt_sink_st>(logger_name, qt_object, meta_method);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Warning: the qt_sink won't be notified if the target QObject is destroyed.
|
||||||
|
// If the object's lifetime can be shorter than the logger's one, you should provide some permanent QObject and then use a standard signal/slot.
|
||||||
template<typename Factory = spdlog::synchronous_factory>
|
template<typename Factory = spdlog::synchronous_factory>
|
||||||
inline std::shared_ptr<logger> qt_logger_mt(
|
inline std::shared_ptr<logger> qt_logger_mt(
|
||||||
const std::string &logger_name, QPlainTextEdit *qt_object, const std::string &meta_method = "appendPlainText")
|
const std::string &logger_name, QPlainTextEdit *qt_object, const std::string &meta_method = "appendPlainText")
|
||||||
@ -81,6 +91,8 @@ inline std::shared_ptr<logger> qt_logger_mt(
|
|||||||
return Factory::template create<sinks::qt_sink_mt>(logger_name, qt_object, meta_method);
|
return Factory::template create<sinks::qt_sink_mt>(logger_name, qt_object, meta_method);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Warning: the qt_sink won't be notified if the target widget is destroyed.
|
||||||
|
// If the widget's lifetime can be shorter than the logger's one, you should provide some permanent QObject and then use a standard signal/slot.
|
||||||
template<typename Factory = spdlog::synchronous_factory>
|
template<typename Factory = spdlog::synchronous_factory>
|
||||||
inline std::shared_ptr<logger> qt_logger_st(
|
inline std::shared_ptr<logger> qt_logger_st(
|
||||||
const std::string &logger_name, QPlainTextEdit *qt_object, const std::string &meta_method = "appendPlainText")
|
const std::string &logger_name, QPlainTextEdit *qt_object, const std::string &meta_method = "appendPlainText")
|
||||||
@ -88,12 +100,16 @@ inline std::shared_ptr<logger> qt_logger_st(
|
|||||||
return Factory::template create<sinks::qt_sink_st>(logger_name, qt_object, meta_method);
|
return Factory::template create<sinks::qt_sink_st>(logger_name, qt_object, meta_method);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Warning: the qt_sink won't be notified if the target QObject is destroyed.
|
||||||
|
// If the objet's lifetime can be shorter than the logger's one, you should provide some permanent QObject and then use a standard signal/slot.
|
||||||
template<typename Factory = spdlog::synchronous_factory>
|
template<typename Factory = spdlog::synchronous_factory>
|
||||||
inline std::shared_ptr<logger> qt_logger_mt(const std::string &logger_name, QObject *qt_object, const std::string &meta_method)
|
inline std::shared_ptr<logger> qt_logger_mt(const std::string &logger_name, QObject *qt_object, const std::string &meta_method)
|
||||||
{
|
{
|
||||||
return Factory::template create<sinks::qt_sink_mt>(logger_name, qt_object, meta_method);
|
return Factory::template create<sinks::qt_sink_mt>(logger_name, qt_object, meta_method);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Warning: the qt_sink won't be notified if the target QObject is destroyed.
|
||||||
|
// If the objet's lifetime can be shorter than the logger's one, you should provide some permanent QObject and then use a standard signal/slot.
|
||||||
template<typename Factory = spdlog::synchronous_factory>
|
template<typename Factory = spdlog::synchronous_factory>
|
||||||
inline std::shared_ptr<logger> qt_logger_st(const std::string &logger_name, QObject *qt_object, const std::string &meta_method)
|
inline std::shared_ptr<logger> qt_logger_st(const std::string &logger_name, QObject *qt_object, const std::string &meta_method)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user