Merge branch 'main' of feistymeow.org:feisty_meow
[feisty_meow.git] / loggers / standard_log_base.h
1 #ifndef STANDARD_LOG_BASE_CLASS
2 #define STANDARD_LOG_BASE_CLASS
3
4 //////////////
5 // Name   : standard_log_base
6 // Author : Chris Koeritz
7 //////////////
8 // Copyright (c) 2010-$now By Author.  This program is free software; you can
9 // redistribute it and/or modify it under the terms of the GNU General Public
10 // License as published by the Free Software Foundation:
11 //     http://www.gnu.org/licenses/gpl.html
12 // or under the terms of the GNU Library license:
13 //     http://www.gnu.org/licenses/lgpl.html
14 // at your preference.  Those licenses describe your legal rights to this
15 // software, and no other rights or warranties apply.
16 // Please send updates for this code to: fred@gruntose.com -- Thanks, fred.
17 //////////////
18
19 #include "eol_aware.h"
20 #include "filter_set.h"
21
22 #include <basis/contracts.h>
23
24 namespace loggers {
25
26 //! A base class for a very usable logger with a filter_set and eol awareness.
27 /*!
28   We add this derived class of base_logger to incorporate some useful functionality
29   for managing filters without polluting the base class.  This class allows the logging
30   functionality to not deal with a lot of add-ins or chicanery.
31 */
32
33 class standard_log_base
34 : public virtual basis::base_logger,
35   public virtual basis::nameable,
36   public virtual filter_set,
37   public virtual eol_aware
38 {
39 };
40
41 } //namespace.
42
43 #endif
44