我已經看到了幾個格式化程序的例子,但那些使用了自定義的定義屬性。增強日誌 - 使用severity_channel_logger格式化
如何指定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.
logger.h
#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.";
}
你使用什麼樣的代碼? – sehe
@sehe新增完整的代碼。 –