|
00001 #ifndef EZLOGGER_VERBOSITY_LEVEL_POLICY_HPP_HEADER_GRD_ 00002 #define EZLOGGER_VERBOSITY_LEVEL_POLICY_HPP_HEADER_GRD_ 00003 00004 namespace axter 00005 { 00006 enum verbosity{log_default_verbosity_level = 3, log_verbosity_not_set = 0, log_always = 1, log_often, log_regularly, log_rarely, log_very_rarely}; 00007 00032 struct ezlogger_verbosity_level_policy 00033 { 00034 static inline verbosity get_verbosity_level_tolerance(){return set_or_get_verbosity_level_tolerance(true);} 00035 static void set_verbosity_level_tolerance(verbosity NewValue){set_or_get_verbosity_level_tolerance(false, NewValue);} 00036 private: 00037 inline static verbosity initial_verbosity_level(){return log_default_verbosity_level;} 00038 static verbosity set_or_get_verbosity_level_tolerance(bool GetLevel, verbosity NewValue = log_default_verbosity_level) 00039 { 00040 static verbosity verbosity_level = initial_verbosity_level(); 00041 if (!GetLevel) verbosity_level = NewValue; 00042 return verbosity_level; 00043 } 00044 }; 00045 } 00046 00047 #endif //EZLOGGER_VERBOSITY_LEVEL_POLICY_HPP_HEADER_GRD_