mirror of
https://github.com/vcmi/vcmi.git
synced 2024-12-26 22:57:00 +02:00
- Removed some documentation comments
This commit is contained in:
parent
de01ea54b0
commit
1bb79ed187
@ -16,9 +16,8 @@
|
|||||||
class CConsoleHandler;
|
class CConsoleHandler;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The basic log configurator reads log properties from the settings.json and
|
* The basic log configurator reads log properties from settings.json and
|
||||||
* sets up the logging system. The file path of the log file can be specified
|
* sets up the logging system.
|
||||||
* via the constructor.
|
|
||||||
*/
|
*/
|
||||||
class DLL_LINKAGE CBasicLogConfigurator
|
class DLL_LINKAGE CBasicLogConfigurator
|
||||||
{
|
{
|
||||||
@ -26,30 +25,16 @@ public:
|
|||||||
/**
|
/**
|
||||||
* Constructor.
|
* Constructor.
|
||||||
*
|
*
|
||||||
* @param fileName The file path of the log file.
|
* @param filePath The file path of the log file.
|
||||||
|
* @param console The console handler to log messages to the console. The handler should be initialized.
|
||||||
*
|
*
|
||||||
* @throws std::runtime_error if the configuration has errors
|
* @throws std::runtime_error if the configuration has errors
|
||||||
*/
|
*/
|
||||||
CBasicLogConfigurator(const std::string & filePath, CConsoleHandler * console);
|
CBasicLogConfigurator(const std::string & filePath, CConsoleHandler * console);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/**
|
// Methods
|
||||||
* Gets the log level enum from a string.
|
|
||||||
*
|
|
||||||
* @param level The log level string to parse.
|
|
||||||
* @return the corresponding log level enum value
|
|
||||||
*
|
|
||||||
* @throws std::runtime_error if the log level is unknown
|
|
||||||
*/
|
|
||||||
ELogLevel::ELogLevel getLogLevel(const std::string & level) const;
|
|
||||||
|
|
||||||
/**
|
ELogLevel::ELogLevel getLogLevel(const std::string & level) const;
|
||||||
* Gets the console text color enum from a string.
|
|
||||||
*
|
|
||||||
* @param colorName The color string to parse.
|
|
||||||
* @return the corresponding console text color enum value
|
|
||||||
*
|
|
||||||
* @throws std::runtime_error if the log level is unknown
|
|
||||||
*/
|
|
||||||
EConsoleTextColor::EConsoleTextColor getConsoleColor(const std::string & colorName) const;
|
EConsoleTextColor::EConsoleTextColor getConsoleColor(const std::string & colorName) const;
|
||||||
};
|
};
|
||||||
|
@ -29,6 +29,8 @@ public:
|
|||||||
*/
|
*/
|
||||||
CColorMapping();
|
CColorMapping();
|
||||||
|
|
||||||
|
// Methods
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets a console text color for a logger name and a level.
|
* Sets a console text color for a logger name and a level.
|
||||||
*
|
*
|
||||||
@ -48,7 +50,8 @@ public:
|
|||||||
EConsoleTextColor::EConsoleTextColor getColorFor(const CLoggerDomain & domain, ELogLevel::ELogLevel level) const;
|
EConsoleTextColor::EConsoleTextColor getColorFor(const CLoggerDomain & domain, ELogLevel::ELogLevel level) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/** The color mapping, 1. Key: Logger domain, 2. Key: Level, Value: Color. */
|
// Data members
|
||||||
|
|
||||||
std::map<std::string, std::map<ELogLevel::ELogLevel, EConsoleTextColor::EConsoleTextColor> > map;
|
std::map<std::string, std::map<ELogLevel::ELogLevel, EConsoleTextColor::EConsoleTextColor> > map;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -65,83 +68,36 @@ public:
|
|||||||
*/
|
*/
|
||||||
explicit CLogConsoleTarget(CConsoleHandler * console);
|
explicit CLogConsoleTarget(CConsoleHandler * console);
|
||||||
|
|
||||||
|
// Accessors
|
||||||
|
|
||||||
|
bool isColoredOutputEnabled() const;
|
||||||
|
void setColoredOutputEnabled(bool coloredOutputEnabled);
|
||||||
|
|
||||||
|
ELogLevel::ELogLevel getThreshold() const;
|
||||||
|
void setThreshold(ELogLevel::ELogLevel threshold);
|
||||||
|
|
||||||
|
const CLogFormatter & getFormatter() const;
|
||||||
|
void setFormatter(const CLogFormatter & formatter);
|
||||||
|
|
||||||
|
const CColorMapping & getColorMapping() const;
|
||||||
|
void setColorMapping(const CColorMapping & colorMapping);
|
||||||
|
|
||||||
|
// Methods
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Writes a log record.
|
* Writes a log record to the console.
|
||||||
*
|
*
|
||||||
* @param record The log record to write.
|
* @param record The log record to write.
|
||||||
*/
|
*/
|
||||||
void write(const LogRecord & record);
|
void write(const LogRecord & record);
|
||||||
|
|
||||||
/**
|
|
||||||
* True if colored output is enabled.
|
|
||||||
*
|
|
||||||
* @return true if colored output is enabled, false if not
|
|
||||||
*/
|
|
||||||
bool isColoredOutputEnabled() const;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the colored output flag.
|
|
||||||
*
|
|
||||||
* @param coloredOutput True if the log target should write colored messages to the console, false if not.
|
|
||||||
*/
|
|
||||||
void setColoredOutputEnabled(bool coloredOutputEnabled);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the threshold log level.
|
|
||||||
*
|
|
||||||
* @return the threshold log level
|
|
||||||
*/
|
|
||||||
ELogLevel::ELogLevel getThreshold() const;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the threshold log level.
|
|
||||||
*
|
|
||||||
* @param threshold The threshold log level.
|
|
||||||
*/
|
|
||||||
void setThreshold(ELogLevel::ELogLevel threshold);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the log formatter.
|
|
||||||
*
|
|
||||||
* @return The log formatter.
|
|
||||||
*/
|
|
||||||
const CLogFormatter & getFormatter() const;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the log formatter.
|
|
||||||
*
|
|
||||||
* @param formatter The log formatter.
|
|
||||||
*/
|
|
||||||
void setFormatter(const CLogFormatter & formatter);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the color mapping.
|
|
||||||
*/
|
|
||||||
const CColorMapping & getColorMapping() const;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the color mapping.
|
|
||||||
*
|
|
||||||
* @param colorMapping The color mapping.
|
|
||||||
*/
|
|
||||||
void setColorMapping(const CColorMapping & colorMapping);
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/** The console handler which is used to output messages to the console. */
|
// Data members
|
||||||
|
|
||||||
CConsoleHandler * console;
|
CConsoleHandler * console;
|
||||||
|
|
||||||
/** The threshold log level. */
|
|
||||||
ELogLevel::ELogLevel threshold;
|
ELogLevel::ELogLevel threshold;
|
||||||
|
|
||||||
/** Flag whether colored console output is enabled. */
|
|
||||||
bool coloredOutputEnabled;
|
bool coloredOutputEnabled;
|
||||||
|
|
||||||
/** The log formatter to log messages. */
|
|
||||||
CLogFormatter formatter;
|
CLogFormatter formatter;
|
||||||
|
|
||||||
/** The color mapping which maps a logger and a log level to a color. */
|
|
||||||
CColorMapping colorMapping;
|
CColorMapping colorMapping;
|
||||||
|
|
||||||
/** The shared mutex for providing synchronous thread-safe access to the log console target. */
|
|
||||||
mutable boost::mutex mx;
|
mutable boost::mutex mx;
|
||||||
};
|
};
|
||||||
|
@ -26,41 +26,27 @@ public:
|
|||||||
* @param filePath The file path of the log file.
|
* @param filePath The file path of the log file.
|
||||||
*/
|
*/
|
||||||
explicit CLogFileTarget(const std::string & filePath);
|
explicit CLogFileTarget(const std::string & filePath);
|
||||||
|
|
||||||
/**
|
|
||||||
* Destructor.
|
|
||||||
*/
|
|
||||||
~CLogFileTarget();
|
~CLogFileTarget();
|
||||||
|
|
||||||
|
// Accessors
|
||||||
|
|
||||||
|
const CLogFormatter & getFormatter() const;
|
||||||
|
void setFormatter(const CLogFormatter & formatter);
|
||||||
|
|
||||||
|
// Methods
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Writes a log record.
|
* Writes a log record to the log file.
|
||||||
*
|
*
|
||||||
* @param record The log record to write.
|
* @param record The log record to write.
|
||||||
*/
|
*/
|
||||||
void write(const LogRecord & record);
|
void write(const LogRecord & record);
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the log formatter.
|
|
||||||
*
|
|
||||||
* @return The log formatter.
|
|
||||||
*/
|
|
||||||
const CLogFormatter & getFormatter() const;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the log formatter.
|
|
||||||
*
|
|
||||||
* @param formatter The log formatter.
|
|
||||||
*/
|
|
||||||
void setFormatter(const CLogFormatter & formatter);
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/** The output file stream. */
|
// Data members
|
||||||
|
|
||||||
std::ofstream file;
|
std::ofstream file;
|
||||||
|
|
||||||
/** The log formatter to log messages. */
|
|
||||||
CLogFormatter formatter;
|
CLogFormatter formatter;
|
||||||
|
|
||||||
/** The shared mutex for providing synchronous thread-safe access to the log file target. */
|
|
||||||
mutable boost::mutex mx;
|
mutable boost::mutex mx;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -26,9 +26,6 @@ struct LogRecord;
|
|||||||
class DLL_LINKAGE CLogFormatter
|
class DLL_LINKAGE CLogFormatter
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
/**
|
|
||||||
* Default constructor.
|
|
||||||
*/
|
|
||||||
CLogFormatter();
|
CLogFormatter();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -38,6 +35,13 @@ public:
|
|||||||
*/
|
*/
|
||||||
CLogFormatter(const std::string & pattern);
|
CLogFormatter(const std::string & pattern);
|
||||||
|
|
||||||
|
// Accessors
|
||||||
|
|
||||||
|
void setPattern(const std::string & pattern);
|
||||||
|
const std::string & getPattern() const;
|
||||||
|
|
||||||
|
// Methods
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Formats a log record.
|
* Formats a log record.
|
||||||
*
|
*
|
||||||
@ -46,21 +50,9 @@ public:
|
|||||||
*/
|
*/
|
||||||
std::string format(const LogRecord & record) const;
|
std::string format(const LogRecord & record) const;
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the pattern.
|
|
||||||
*
|
|
||||||
* @param pattern The pattern string which describes how to format the log record.
|
|
||||||
*/
|
|
||||||
void setPattern(const std::string & pattern);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the pattern.
|
|
||||||
*
|
|
||||||
* @return the pattern string which describes how to format the log record
|
|
||||||
*/
|
|
||||||
const std::string & getPattern() const;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/** The pattern string which describes how to format the log record. */
|
// Data members
|
||||||
|
|
||||||
std::string pattern;
|
std::string pattern;
|
||||||
};
|
};
|
||||||
|
@ -20,6 +20,10 @@ class CLoggerDomain;
|
|||||||
class DLL_LINKAGE CLogManager : public boost::noncopyable
|
class DLL_LINKAGE CLogManager : public boost::noncopyable
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
~CLogManager();
|
||||||
|
|
||||||
|
// Methods
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets an instance of the log manager.
|
* Gets an instance of the log manager.
|
||||||
*
|
*
|
||||||
@ -42,26 +46,15 @@ public:
|
|||||||
*/
|
*/
|
||||||
CGLogger * getLogger(const CLoggerDomain & domain);
|
CGLogger * getLogger(const CLoggerDomain & domain);
|
||||||
|
|
||||||
/**
|
|
||||||
* Destructor.
|
|
||||||
*/
|
|
||||||
~CLogManager();
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/**
|
// Methods
|
||||||
* Constructor.
|
|
||||||
*/
|
|
||||||
CLogManager();
|
CLogManager();
|
||||||
|
|
||||||
/** The instance of the log manager. */
|
// Data members
|
||||||
|
|
||||||
static CLogManager * instance;
|
static CLogManager * instance;
|
||||||
|
|
||||||
/** The loggers map where the key is the logger name and the value the corresponding logger. */
|
|
||||||
std::map<std::string, CGLogger *> loggers;
|
std::map<std::string, CGLogger *> loggers;
|
||||||
|
|
||||||
/** The shared mutex for providing synchronous thread-safe access to the log manager. */
|
|
||||||
mutable boost::shared_mutex mx;
|
mutable boost::shared_mutex mx;
|
||||||
|
|
||||||
/** The unique mutex for providing thread-safe singleton access. */
|
|
||||||
static boost::mutex smx;
|
static boost::mutex smx;
|
||||||
};
|
};
|
||||||
|
@ -17,9 +17,6 @@ class ILogTarget;
|
|||||||
|
|
||||||
namespace ELogLevel
|
namespace ELogLevel
|
||||||
{
|
{
|
||||||
/**
|
|
||||||
* The log level enum holds various log level definitions.
|
|
||||||
*/
|
|
||||||
enum ELogLevel
|
enum ELogLevel
|
||||||
{
|
{
|
||||||
NOT_SET = 0,
|
NOT_SET = 0,
|
||||||
@ -40,10 +37,16 @@ public:
|
|||||||
/**
|
/**
|
||||||
* Constructor.
|
* Constructor.
|
||||||
*
|
*
|
||||||
* @param domain The domain name. Sub-domains can be specified by separating domains by a dot, e.g. "ai.battle". The global domain is named "global".
|
* @param name The domain name. Sub-domains can be specified by separating domains by a dot, e.g. "ai.battle". The global domain is named "global".
|
||||||
*/
|
*/
|
||||||
CLoggerDomain(const std::string & name);
|
CLoggerDomain(const std::string & name);
|
||||||
|
|
||||||
|
// Accessors
|
||||||
|
|
||||||
|
std::string getName() const;
|
||||||
|
|
||||||
|
// Methods
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the parent logger domain.
|
* Gets the parent logger domain.
|
||||||
*
|
*
|
||||||
@ -58,18 +61,12 @@ public:
|
|||||||
*/
|
*/
|
||||||
bool isGlobalDomain() const;
|
bool isGlobalDomain() const;
|
||||||
|
|
||||||
/**
|
// Constants
|
||||||
* Gets the name of the domain.
|
|
||||||
*
|
|
||||||
* @return the name of the domain
|
|
||||||
*/
|
|
||||||
std::string getName() const;
|
|
||||||
|
|
||||||
/** Constant to the global domain name. */
|
/** Constant to the global domain name. */
|
||||||
static const std::string DOMAIN_GLOBAL;
|
static const std::string DOMAIN_GLOBAL;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/** The domain name. */
|
|
||||||
std::string name;
|
std::string name;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -81,9 +78,22 @@ class CGLogger;
|
|||||||
class DLL_LINKAGE CLoggerStream
|
class DLL_LINKAGE CLoggerStream
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
/**
|
||||||
|
* Constructs a new logger stream.
|
||||||
|
*
|
||||||
|
* @param logger The logger which should be used to log the generated message to.
|
||||||
|
* @param level The log level of the generated message.
|
||||||
|
*/
|
||||||
CLoggerStream(const CGLogger & logger, ELogLevel::ELogLevel level);
|
CLoggerStream(const CGLogger & logger, ELogLevel::ELogLevel level);
|
||||||
~CLoggerStream();
|
~CLoggerStream();
|
||||||
|
|
||||||
|
// Methods
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Writes data to the logger stream.
|
||||||
|
*
|
||||||
|
* @param data Any data can be written to the stream.
|
||||||
|
*/
|
||||||
template<typename T>
|
template<typename T>
|
||||||
CLoggerStream & operator<<(const T & data)
|
CLoggerStream & operator<<(const T & data)
|
||||||
{
|
{
|
||||||
@ -93,6 +103,8 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
// Data members
|
||||||
|
|
||||||
const CGLogger & logger;
|
const CGLogger & logger;
|
||||||
ELogLevel::ELogLevel level;
|
ELogLevel::ELogLevel level;
|
||||||
std::stringstream * sbuffer;
|
std::stringstream * sbuffer;
|
||||||
@ -105,6 +117,17 @@ private:
|
|||||||
class DLL_LINKAGE CGLogger : public boost::noncopyable
|
class DLL_LINKAGE CGLogger : public boost::noncopyable
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
~CGLogger();
|
||||||
|
|
||||||
|
// Accessors
|
||||||
|
|
||||||
|
inline ELogLevel::ELogLevel getLevel() const;
|
||||||
|
void setLevel(ELogLevel::ELogLevel level);
|
||||||
|
|
||||||
|
const CLoggerDomain & getDomain() const;
|
||||||
|
|
||||||
|
// Methods
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets a logger by domain.
|
* Gets a logger by domain.
|
||||||
*
|
*
|
||||||
@ -127,6 +150,11 @@ public:
|
|||||||
*/
|
*/
|
||||||
void trace(const std::string & message) const;
|
void trace(const std::string & message) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a logger stream with the trace level.
|
||||||
|
*
|
||||||
|
* @return the logger stream
|
||||||
|
*/
|
||||||
CLoggerStream traceStream() const;
|
CLoggerStream traceStream() const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -136,6 +164,11 @@ public:
|
|||||||
*/
|
*/
|
||||||
void debug(const std::string & message) const;
|
void debug(const std::string & message) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a logger stream with the debug level.
|
||||||
|
*
|
||||||
|
* @return the logger stream
|
||||||
|
*/
|
||||||
CLoggerStream debugStream() const;
|
CLoggerStream debugStream() const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -145,6 +178,11 @@ public:
|
|||||||
*/
|
*/
|
||||||
void info(const std::string & message) const;
|
void info(const std::string & message) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a logger stream with the info level.
|
||||||
|
*
|
||||||
|
* @return the logger stream
|
||||||
|
*/
|
||||||
CLoggerStream infoStream() const;
|
CLoggerStream infoStream() const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -154,6 +192,11 @@ public:
|
|||||||
*/
|
*/
|
||||||
void warn(const std::string & message) const;
|
void warn(const std::string & message) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a logger stream with the warn level.
|
||||||
|
*
|
||||||
|
* @return the logger stream
|
||||||
|
*/
|
||||||
CLoggerStream warnStream() const;
|
CLoggerStream warnStream() const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -163,6 +206,11 @@ public:
|
|||||||
*/
|
*/
|
||||||
void error(const std::string & message) const;
|
void error(const std::string & message) const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a logger stream with the error level.
|
||||||
|
*
|
||||||
|
* @return the logger stream
|
||||||
|
*/
|
||||||
CLoggerStream errorStream() const;
|
CLoggerStream errorStream() const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -173,27 +221,6 @@ public:
|
|||||||
*/
|
*/
|
||||||
inline void log(ELogLevel::ELogLevel level, const std::string & message) const;
|
inline void log(ELogLevel::ELogLevel level, const std::string & message) const;
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the log level applied for this logger. The default level for the root logger is INFO.
|
|
||||||
*
|
|
||||||
* @return the log level
|
|
||||||
*/
|
|
||||||
inline ELogLevel::ELogLevel getLevel() const;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the log level.
|
|
||||||
*
|
|
||||||
* @param level The log level.
|
|
||||||
*/
|
|
||||||
void setLevel(ELogLevel::ELogLevel level);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the logger domain.
|
|
||||||
*
|
|
||||||
* @return the domain of the logger
|
|
||||||
*/
|
|
||||||
const CLoggerDomain & getDomain() const;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adds a target to this logger and indirectly to all loggers which derive from this logger.
|
* Adds a target to this logger and indirectly to all loggers which derive from this logger.
|
||||||
* The logger holds strong-ownership of the target object.
|
* The logger holds strong-ownership of the target object.
|
||||||
@ -202,64 +229,21 @@ public:
|
|||||||
*/
|
*/
|
||||||
void addTarget(ILogTarget * target);
|
void addTarget(ILogTarget * target);
|
||||||
|
|
||||||
/**
|
|
||||||
* Destructor.
|
|
||||||
*/
|
|
||||||
~CGLogger();
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
/**
|
// Methods
|
||||||
* Constructor.
|
|
||||||
*
|
|
||||||
* @param domain The domain of the logger.
|
|
||||||
*/
|
|
||||||
explicit CGLogger(const CLoggerDomain & domain);
|
explicit CGLogger(const CLoggerDomain & domain);
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the parent logger.
|
|
||||||
*
|
|
||||||
* @return the parent logger or nullptr if this is the root logger
|
|
||||||
*/
|
|
||||||
CGLogger * getParent() const;
|
CGLogger * getParent() const;
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the effective log level.
|
|
||||||
*
|
|
||||||
* @return the effective log level with respect to parent log levels
|
|
||||||
*/
|
|
||||||
inline ELogLevel::ELogLevel getEffectiveLevel() const;
|
inline ELogLevel::ELogLevel getEffectiveLevel() const;
|
||||||
|
|
||||||
/**
|
|
||||||
* Calls all targets in the hierarchy to write the message.
|
|
||||||
*
|
|
||||||
* @param record The log record to write.
|
|
||||||
*/
|
|
||||||
inline void callTargets(const LogRecord & record) const;
|
inline void callTargets(const LogRecord & record) const;
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets all log targets attached to this logger.
|
|
||||||
*
|
|
||||||
* @return all log targets as a list
|
|
||||||
*/
|
|
||||||
inline std::list<ILogTarget *> getTargets() const;
|
inline std::list<ILogTarget *> getTargets() const;
|
||||||
|
|
||||||
/** The domain of the logger. */
|
// Data members
|
||||||
|
|
||||||
CLoggerDomain domain;
|
CLoggerDomain domain;
|
||||||
|
|
||||||
/** A reference to the parent logger. */
|
|
||||||
CGLogger * parent;
|
CGLogger * parent;
|
||||||
|
|
||||||
/** The log level of the logger. */
|
|
||||||
ELogLevel::ELogLevel level;
|
ELogLevel::ELogLevel level;
|
||||||
|
|
||||||
/** A list of log targets. */
|
|
||||||
std::list<ILogTarget *> targets;
|
std::list<ILogTarget *> targets;
|
||||||
|
|
||||||
/** The shared mutex for providing synchronous thread-safe access to the logger. */
|
|
||||||
mutable boost::shared_mutex mx;
|
mutable boost::shared_mutex mx;
|
||||||
|
|
||||||
/** The unique mutex for providing thread-safe get logger access. */
|
|
||||||
static boost::mutex smx;
|
static boost::mutex smx;
|
||||||
};
|
};
|
||||||
|
|
||||||
//extern CLogger * logGlobal;
|
|
||||||
|
@ -20,12 +20,12 @@ struct LogRecord;
|
|||||||
class DLL_LINKAGE ILogTarget : public boost::noncopyable
|
class DLL_LINKAGE ILogTarget : public boost::noncopyable
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
virtual ~ILogTarget() { };
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Writes a log record.
|
* Writes a log record.
|
||||||
*
|
*
|
||||||
* @param record The log record to write.
|
* @param record The log record to write.
|
||||||
*/
|
*/
|
||||||
virtual void write(const LogRecord & record) = 0;
|
virtual void write(const LogRecord & record) = 0;
|
||||||
|
|
||||||
virtual ~ILogTarget() { };
|
|
||||||
};
|
};
|
||||||
|
@ -18,9 +18,6 @@
|
|||||||
*/
|
*/
|
||||||
struct DLL_LINKAGE LogRecord
|
struct DLL_LINKAGE LogRecord
|
||||||
{
|
{
|
||||||
/**
|
|
||||||
* Constructor.
|
|
||||||
*/
|
|
||||||
LogRecord(const CLoggerDomain & domain, ELogLevel::ELogLevel level, const std::string & message)
|
LogRecord(const CLoggerDomain & domain, ELogLevel::ELogLevel level, const std::string & message)
|
||||||
: domain(domain), level(level), message(message), timeStamp(boost::posix_time::second_clock::local_time()), threadId(boost::this_thread::get_id())
|
: domain(domain), level(level), message(message), timeStamp(boost::posix_time::second_clock::local_time()), threadId(boost::this_thread::get_id())
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user