Я видел несколько примеров с форматировщиками, но в них использовались настраиваемые атрибуты.
Как указать формат для severity_channel_logger
? Что я получаю сейчас:
[2015-07-20 11:53:09.879305] [0x00007f047b525740] [trace] Bla, bla bla, bla bla bla.
[2015-07-20 11:53:09.879370] [0x00007f047b525740] [trace] Bla, bla bla, bla bla bla.
[2015-07-20 11:53:09.879376] [0x00007f047b525740] [fatal] Bla, bla bla, bla bla bla.
регистратор.ч
#ifndef LOGGER_H_
#define LOGGER_H_
#include <boost/log/trivial.hpp>
#include <boost/log/core.hpp>
#include <boost/log/sources/global_logger_storage.hpp>
#include <boost/log/sources/record_ostream.hpp>
#include <boost/log/sources/channel_feature.hpp>
#include <boost/log/sources/severity_channel_logger.hpp>
#include <string>
namespace Logging {
typedef boost::log::sources::severity_channel_logger<boost::log::trivial::severity_level,std::string> LoggerType;
BOOST_LOG_GLOBAL_LOGGER(clogger,LoggerType)
} // namespace Logging
#endif
logger.cpp
#include "logger.h"
#include <memory>
#include <boost/log/core/core.hpp>
#include <boost/log/expressions/formatters/date_time.hpp>
#include <boost/log/expressions.hpp>
#include <boost/log/sinks/sync_frontend.hpp>
#include <boost/log/sinks/text_ostream_backend.hpp>
#include <boost/log/sources/severity_logger.hpp>
#include <boost/log/support/date_time.hpp>
#include <boost/core/null_deleter.hpp>
#include <boost/log/utility/setup/common_attributes.hpp>
#include <boost/make_shared.hpp>
#include <boost/shared_ptr.hpp>
using namespace Logging;
BOOST_LOG_GLOBAL_LOGGER_INIT(clogger, LoggerType)
{
boost::log::sources::severity_channel_logger< boost::log::trivial::severity_level, std::string > lg;
return lg;
}
main.cpp
#include "logger.h"
#include <boost/log/attributes/named_scope.hpp>
using namespace Logging;
int main()
{
BOOST_LOG_FUNCTION();
BOOST_LOG(clogger::get()) << "Bla, bla bla, bla bla bla.";
BOOST_LOG_CHANNEL(clogger::get(),"standard") << "Bla, bla bla, bla bla bla.";
BOOST_LOG_CHANNEL_SEV(clogger::get(),"standard",boost::log::trivial::fatal) << "Bla, bla bla, bla bla bla.";
}