| /* |
| * Copyright Andrey Semashev 2007 - 2015. |
| * 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) |
| */ |
| |
| #include <fstream> |
| #include <boost/smart_ptr/shared_ptr.hpp> |
| #include <boost/smart_ptr/make_shared_object.hpp> |
| #include <boost/log/core.hpp> |
| #include <boost/log/trivial.hpp> |
| #include <boost/log/sinks/sync_frontend.hpp> |
| #include <boost/log/sinks/text_ostream_backend.hpp> |
| #include <boost/log/sources/logger.hpp> |
| #include <boost/log/sources/record_ostream.hpp> |
| |
| namespace logging = boost::log; |
| namespace src = boost::log::sources; |
| namespace sinks = boost::log::sinks; |
| |
| //[ example_tutorial_file_manual |
| void init() |
| { |
| // Construct the sink |
| typedef sinks::synchronous_sink< sinks::text_ostream_backend > text_sink; |
| boost::shared_ptr< text_sink > sink = boost::make_shared< text_sink >(); |
| |
| // Add a stream to write log to |
| sink->locked_backend()->add_stream( |
| boost::make_shared< std::ofstream >("sample.log")); |
| |
| // Register the sink in the logging core |
| logging::core::get()->add_sink(sink); |
| } |
| //] |
| |
| int main(int, char*[]) |
| { |
| init(); |
| |
| src::logger lg; |
| BOOST_LOG(lg) << "Hello world!"; |
| |
| return 0; |
| } |