Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Class template basic_logger

Boost , Chapter 1. Boost.Log v2 , Logging sources

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Class template basic_logger

boost::log::sources::basic_logger — Basic logger class.

Synopsis

// In header: <boost/log/sources/basic_logger.hpp>
template<typename CharT, typename FinalT, typename ThreadingModelT> 
class basic_logger : public ThreadingModelT {
public:
  // types
  typedef CharT                      char_type;                   // Character type. 
  typedef FinalT                     final_type;                  // Final logger type. 
  typedef ThreadingModelT            threading_model;             // Threading model type. 
  typedef unspecified                swap_lock;                   // Lock requirement for the swap_unlocked method. 
  typedef unspecified                add_attribute_lock;          // Lock requirement for the add_attribute_unlocked method. 
  typedef unspecified                remove_attribute_lock;       // Lock requirement for the remove_attribute_unlocked method. 
  typedef unspecified                remove_all_attributes_lock;  // Lock requirement for the remove_all_attributes_unlocked method. 
  typedef unspecified                get_attributes_lock;         // Lock requirement for the get_attributes method. 
  typedef unspecified                open_record_lock;            // Lock requirement for the open_record_unlocked method. 
  typedef unspecified                set_attributes_lock;         // Lock requirement for the set_attributes method. 
  typedef no_lock< threading_model > push_record_lock;            // Lock requirement for the push_record_unlocked method. 
  // construct/copy/destruct
  basic_logger();
  basic_logger(basic_logger const &);
  basic_logger(basic_logger &&);
  template<typename ArgsT> explicit basic_logger(ArgsT const &);
  basic_logger & operator=(basic_logger const &) = delete;
  // protected member functions
  core_ptr const & core() const;
  attribute_set & attributes();
  attribute_set const & attributes() const;
  threading_model & get_threading_model();
  threading_model const & get_threading_model() const;
  final_type * final_this();
  final_type const * final_this() const;
  void swap_unlocked(basic_logger &);
  std::pair< attribute_set::iterator, bool > 
  add_attribute_unlocked(attribute_name const &, attribute const &);
  void remove_attribute_unlocked(attribute_set::iterator);
  void remove_all_attributes_unlocked();
  record open_record_unlocked();
  template<typename ArgsT> record open_record_unlocked(ArgsT const &);
  void push_record_unlocked(record &&);
  attribute_set get_attributes_unlocked() const;
  void set_attributes_unlocked(attribute_set const &);
};

Description

Шаблон класса<basic_logger>служит базовым классом для всех регистраторов, предоставляемых библиотекой. Он также может использоваться в качестве базы для пользовательских регистраторов. Параметрами шаблона являются:

  • <CharT>- тип регистрационного знака

  • <FinalT>— окончательный тип регистратора, который в конечном итоге происходит от<basic_logger>. Могут быть и другие классы в иерархии между конечным классом и<basic_logger>.

  • <ThreadingModelT>— модельная политика резьбы. Необходимо предусмотреть методы повышения. Понятие блокировки потока используется в классе<basic_logger>и всех его производных в иерархии до класса<FinalT>. Класс<basic_logger>сам требует методов концепции SharedLockable. Политика модели резьбы также должна быть по умолчанию и копируемой и поддерживать функцию члена<swap>. В настоящее время существуют две политики:<single_thread_model>и<multi_thread_model>.

Logger реализует фундаментальные средства loggers, такие как хранение набора атрибутов для конкретного источника и форматирование сообщений записи журнала. Базовый лесоруб взаимодействует с лесозаготовительным ядром, чтобы применять фильтрацию и передавать записи на поглотители.

basic_logger public construct/copy/destruct

  1. <
    basic_logger();
    >

    Конструктор. Инициирует внутренние структуры данных базового класса лесозаготовителей, приобретает отсылку к ядру лесозаготовок.

  2. <
    basic_logger(basic_loggerconst&that);
    >

    Копировать конструктор. Копии всех атрибутов из исходного регистратора.

    [Note]Примечание

    Не безопасно для ниток. Регистратор источника должен быть заблокирован в последнем классе перед копированием.

    Параметры:

  • <
    basic_logger(basic_logger&&that);
    >

    Переместить конструктор. Переносит все атрибуты с регистратора источников.

    [Note]Примечание

    Безопасный. Регистратор источника должен быть заблокирован в последнем классе перед копированием.

    Параметры:

    Журналист источника

  • <
    template<typenameArgsT>explicitbasic_logger(ArgsTconst&);
    >

    Конструктор с именованными аргументами. Конструктор игнорирует все аргументы. Результат строительства эквивалентен строительству по умолчанию.

  • <
    basic_logger&operator=(basic_loggerconst&)=delete;
    >Назначение закрыто (должно быть реализовано путем копирования и замены в окончательном классе)
  • basic_logger protected member functions

    1. 155

      Аксессуар для указателя системы регистрации

    2. <
      attribute_set&attributes();
      >

      Доступ к атрибутам регистратора

    3. <
      attribute_setconst&attributes()const;
      >

      Доступ к атрибутам регистратора

    4. <
      threading_model&get_threading_model();
      >

      Аксессуар к резьбовой базе модели

    5. <
      threading_modelconst&get_threading_model()const;
      >

      Аксессуар к резьбовой базе модели

    6. <
      final_type*final_this();
      >

      Привязка к последнему регистратору

    7. <
      final_typeconst*final_this()const;
      >

      Привязка к последнему регистратору

    8. <
      voidswap_unlocked(basic_logger&that);
      >

      Разблокировано<swap>

    9. <
      std::pair<attribute_set::iterator,bool>
      add_attribute_unlocked(attribute_nameconst&name,attributeconst&attr);
      >

      Разблокировано<add_attribute>

    10. <
      voidremove_attribute_unlocked(attribute_set::iteratorit);
      >

      Разблокировано<remove_attribute>

    11. <
      voidremove_all_attributes_unlocked();
      >

      Разблокировано<remove_all_attributes>

    12. <
      recordopen_record_unlocked();
      >

      Unlocked<open_record>

    13. <
      template<typenameArgsT>recordopen_record_unlocked(ArgsTconst&);
      >

      Unlocked<open_record>

    14. <
      voidpush_record_unlocked(record&&rec);
      >

      Unlocked<push_record>

    15. <
      attribute_setget_attributes_unlocked()const;
      >

      Разблокировано<get_attributes>

    16. <
      voidset_attributes_unlocked(attribute_setconst&attrs);
      >

      Разблокировано<set_attributes>


    PrevUpHomeNext

    Статья Class template basic_logger раздела Chapter 1. Boost.Log v2 Logging sources может быть полезна для разработчиков на c++ и boost.




    Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



    :: Главная :: Logging sources ::


    реклама


    ©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
    Top.Mail.Ru

    Время компиляции файла: 2024-08-30 11:47:00
    2025-05-20 04:58:21/0.0068271160125732/1