## Class template basic_composite_logger<CharT, FinalT, single_thread_model, FeaturesT>

boost::log::sources::basic_composite_logger<CharT, FinalT, single_thread_model, FeaturesT> — An optimized composite logger version with no multithreading support.

## Synopsis

    // In header: <boost/log/sources/basic_logger.hpp>

    template<typename CharT, typename FinalT, typename FeaturesT>
    class basic_composite_logger<CharT, FinalT, single_thread_model, FeaturesT> :
      public inherit_features< RootT, FeaturesT >::type
    {
    public:
      // types
      typedef base_type::threading_model threading_model;

      // construct/copy/destruct
      basic_composite_logger();
      basic_composite_logger(basic_composite_logger const &);
      basic_composite_logger(logger_base &&) noexcept(boost::is_nothrow_move_constructible< base_type >::value);
      template<typename ArgsT> explicit basic_composite_logger(ArgsT const &);

      // public member functions
      std::pair< attribute_set::iterator, bool >
      add_attribute(attribute_name const &, attribute const &);
      void remove_attribute(attribute_set::iterator);
      void remove_all_attributes();
      attribute_set get_attributes() const;
      void set_attributes(attribute_set const &);
      record open_record();
      template<typename ArgsT> record open_record(ArgsT const &);
      void push_record(record &&);
      void swap(basic_composite_logger &);

      // protected member functions
      FinalT & assign(FinalT);
    };

## Description

### `basic_composite_logger` public construct/copy/destruct

1.     basic_composite_logger();

2.     basic_composite_logger(basic_composite_logger const & that);

3.     basic_composite_logger(logger_base && that) noexcept(boost::is_nothrow_move_constructible< base_type >::value);

4.     template<typename ArgsT> explicit basic_composite_logger(ArgsT const & args);

### `basic_composite_logger` public member functions

1.     std::pair< attribute_set::iterator, bool >
       add_attribute(attribute_name const & name, attribute const & attr);

2.     void remove_attribute(attribute_set::iterator it);

3.     void remove_all_attributes();

4.     attribute_set get_attributes() const;

5.     void set_attributes(attribute_set const & attrs);

6.     record open_record();

7.     template<typename ArgsT> record open_record(ArgsT const & args);

8.     void push_record(record && rec);

9.     void swap(basic_composite_logger & that);

### `basic_composite_logger` protected member functions

1.     FinalT & assign(FinalT that);