📄 basic_logger.hpp
字号:
//// basic_logger.hpp// ~~~~~~~~~~~~~~~~//// Copyright (c) 2003-2008 Christopher M. Kohlhoff (chris at kohlhoff dot com)//// Distributed under the Boost Software License, Version 1.0. (See accompanying// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)//#ifndef SERVICES_BASIC_LOGGER_HPP#define SERVICES_BASIC_LOGGER_HPP#include <boost/asio.hpp>#include <boost/noncopyable.hpp>#include <string>namespace services {/// Class to provide simple logging functionality. Use the services::logger/// typedef.template <typename Service>class basic_logger : private boost::noncopyable{public: /// The type of the service that will be used to provide timer operations. typedef Service service_type; /// The native implementation type of the timer. typedef typename service_type::impl_type impl_type; /// Constructor. /** * This constructor creates a logger. * * @param io_service The io_service object used to locate the logger service. * * @param identifier An identifier for this logger. */ explicit basic_logger(boost::asio::io_service& io_service, const std::string& identifier) : service_(boost::asio::use_service<Service>(io_service)), impl_(service_.null()) { service_.create(impl_, identifier); } /// Destructor. ~basic_logger() { service_.destroy(impl_); } /// Get the io_service associated with the object. boost::asio::io_service& get_io_service() { return service_.get_io_service(); } /// Set the output file for all logger instances. void use_file(const std::string& file) { service_.use_file(impl_, file); } /// Log a message. void log(const std::string& message) { service_.log(impl_, message); }private: /// The backend service implementation. service_type& service_; /// The underlying native implementation. impl_type impl_;};} // namespace services#endif // SERVICES_BASIC_LOGGER_HPP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -