Just a few minor overloads and usability tweaks to the logger interface.

This commit is contained in:
Davis King 2014-04-26 17:17:22 -04:00
parent 69e5340ccd
commit ff55b02956
2 changed files with 44 additions and 0 deletions

View File

@ -36,10 +36,21 @@ namespace dlib
name[19] = '\0';
}
bool operator< (const log_level& rhs) const { return priority < rhs.priority; }
bool operator<=(const log_level& rhs) const { return priority <= rhs.priority; }
bool operator> (const log_level& rhs) const { return priority > rhs.priority; }
bool operator>=(const log_level& rhs) const { return priority >= rhs.priority; }
int priority;
char name[20];
};
inline std::ostream& operator<< (std::ostream& out, const log_level& item)
{
out << item.name;
return out;
}
const log_level LALL (std::numeric_limits<int>::min(),"ALL");
const log_level LNONE (std::numeric_limits<int>::max(),"NONE");
const log_level LTRACE(-100,"TRACE");
@ -79,6 +90,16 @@ namespace dlib
const char* message_to_log)
);
template <
typename T
>
void set_all_logging_output_hooks (
T& object
)
{
set_all_logging_output_hooks(object, &T::log);
}
// ----------------------------------------------------------------------------------------
class logger

View File

@ -35,10 +35,22 @@ namespace dlib
is null terminated.
!*/
bool operator< (const log_level& rhs) const { return priority < rhs.priority; }
bool operator<=(const log_level& rhs) const { return priority <= rhs.priority; }
bool operator> (const log_level& rhs) const { return priority > rhs.priority; }
bool operator>=(const log_level& rhs) const { return priority >= rhs.priority; }
int priority;
char name[20];
};
inline std::ostream& operator<< (std::ostream& out, const log_level& item);
/*!
ensures
- performs out << item.name
- returns out
!*/
// ----------------------------------------------------------------------------------------
const log_level LALL (std::numeric_limits<int>::min(),"ALL");
@ -89,6 +101,17 @@ namespace dlib
- std::bad_alloc
!*/
template <
typename T
>
void set_all_logging_output_hooks (
T& object
);
/*!
ensures
- calls set_all_logging_output_hooks(object, &T::log);
!*/
// ----------------------------------------------------------------------------------------
void set_all_logging_levels (