@ -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 )
{
{