Blamite Game Engine - blam!  00263.10.17.20.0001.blamite
The core library for the Blamite Game Engine.
Classes | Namespaces | Macros | Enumerations | Functions
logger.h File Reference
#include "components/resources/engine_globals/globals.h"
#include <Windows.h>
#include <vector>

Go to the source code of this file.

Classes

struct  Blam::Logger::LogMessage
 Structure to store log message data. More...
 
class  Blam::Logger::Report
 Class representing a report file. More...
 

Namespaces

 Blam
 Namespace surrounding all major engine components.
 
 Blam::Logger
 Namespace containing things related to the Blamite Logger.
 
 Blam::Logger::Internal
 Internal functions used by the logger.
 
 Blam::Logger::Queue
 Things relating to the logger's message Queue.
 

Macros

#define DEFAULT_LOG_FILENAME   "debug"
 Specifies the default filename of a log file, without the extension. More...
 
#define BLAM
 
#define WSV_NONE   Blam::Logger::LogSeverity::None
 Macro for 'None' log seveirty. Original pre-enum value was 0. More...
 
#define WSV_INFO   Blam::Logger::LogSeverity::Info
 Macro for 'Info' log seveirty. Original pre-enum value was 1. More...
 
#define WSV_ERROR   Blam::Logger::LogSeverity::Error
 Macro for 'Error' log seveirty. Original pre-enum value was 2. More...
 
#define WSV_WARNING   Blam::Logger::LogSeverity::Warning
 Macro for 'Warning' log seveirty. Original pre-enum value was 3. More...
 
#define WSV_SEVERE   Blam::Logger::LogSeverity::Severe
 Macro for 'Severe' log seveirty. Original pre-enum value was 4. More...
 
#define WSV_CRITICAL   Blam::Logger::LogSeverity::Critical
 Macro for 'Critical' log seveirty. Original pre-enum value was 5. More...
 
#define WSV_AIERR   Blam::Logger::LogSeverity::AiError
 Macro for 'AiError' log seveirty. Original pre-enum value was 6. More...
 
#define WVIS_NONE   Blam::Logger::LogVisibility::Vis_None
 Macro for 'Vis_None' log visibility. Original pre-enum value was -1. More...
 
#define WVIS_ALL   Blam::Logger::LogVisibility::All
 Macro for 'All' log visibility. Original pre-enum value was 0. More...
 
#define WVIS_STDOUT_ONLY   Blam::Logger::LogVisibility::StdoutOnly
 Macro for 'StdoutOnly' log visibility. Original pre-enum value was 1. More...
 
#define WVIS_FILE_ONLY   Blam::Logger::LogVisibility::FileOnly
 Macro for 'FileOnly' log visibility. Original pre-enum value was 2. More...
 
#define WVIS_HTML_ONLY   Blam::Logger::LogVisibility::HTMLOnly
 Macro for 'HTMLOnly' log visibility. Original pre-enum value was 3. More...
 
#define WVIS_TXT_ONLY   Blam::Logger::LogVisibility::TXTOnly
 Macro for 'TXTOnly' log visibility. Original pre-enum value was 4. More...
 
#define MAX_ERRORS_BEFORE_SUPRESSION   5
 Controls the maximum amount of error messages shown before they are suppressed from the in-game console. More...
 
#define BL_LOGEVT(m)   Blam::Logger::LogEvent(m);
 Macro for logging a message to console. More...
 
#define BL_LOGEVT_ST(m, st)   Blam::Logger::LogEvent(m, st);
 Macro for logging a message to console. More...
 
#define BL_LOGEVT_SEV(m, st, sev)   Blam::Logger::LogEvent(m, st, sev);
 Macro for logging a message to console. More...
 
#define BL_LOGEVT_RGB(m, st, sev, r, g, b)   Blam::Logger::LogEvent(m, st, sev, r, g, b);
 Macro for logging a message to console. More...
 

Enumerations

enum  Blam::Logger::LogSeverity {
  Blam::Logger::None, Blam::Logger::Info, Blam::Logger::Error, Blam::Logger::Warning,
  Blam::Logger::Severe, Blam::Logger::Critical, Blam::Logger::AiError
}
 Enumerator to specify log event severity. More...
 
enum  Blam::Logger::LogVisibility {
  Blam::Logger::Vis_None, Blam::Logger::All, Blam::Logger::StdoutOnly, Blam::Logger::FileOnly,
  Blam::Logger::HTMLOnly, Blam::Logger::TXTOnly
}
 Enumerator to specify log event visibility. More...
 
enum  Blam::Logger::ReportType { Blam::Logger::Debug, Blam::Logger::DebugFull, Blam::Logger::TagDebug, Blam::Logger::UIDebug }
 Enumerator containing possible report types. More...
 

Functions

BLAM void Blam::Logger::Internal::PrepareTextLog (std::string report_filename)
 Prepares the plain text log file for writing. More...
 
BLAM void Blam::Logger::Internal::PrepareHTMLLog (std::string report_filename)
 Prepares the HTML log file. More...
 
BLAM std::string Blam::Logger::Internal::PrepareHTMLTemplate (std::string log_title)
 Prepares the contents of the default HTML log template. More...
 
BLAM void Blam::Logger::Internal::CreateReportViewerPage ()
 Prepares the HTML file for the Report Viewer. More...
 
BLAM void Blam::Logger::Internal::LoadConsoleColors ()
 Loads console color configuration. More...
 
BLAM void Blam::Logger::Queue::Flush ()
 Flushes the queue, causing all messages to be written to all places they are configured to do so. More...
 
BLAM void Blam::Logger::Queue::AddMessage (Blam::Logger::LogMessage message)
 Adds a message to the queue. More...
 
BLAM std::vector< Blam::Logger::LogMessage > * Blam::Logger::Queue::GetQueue ()
 Retrieves the current message queue. More...
 
BLAM void Blam::Logger::SetLoggerReady ()
 Marks all reports as ready for use. More...
 
BLAM Report * Blam::Logger::GetReport (ReportType type)
 Retrieves report data with the specified type. More...
 
BLAM std::string Blam::Logger::GetSeverityCSSClass (LogSeverity severity)
 Gets the CSS class name for the specified severity. More...
 
BLAM void Blam::Logger::PrepareLogger ()
 Prepares the logger for use. More...
 
BLAM void Blam::Logger::LogEventAsync (std::string message)
 Logs a message to the log and/or console asynchronously. More...
 
BLAM void Blam::Logger::LogEvent (std::string message)
 Logs a message to the log and/or console. More...
 
BLAM void Blam::Logger::LogEvent (std::string message, bool show_timestamp)
 Logs a message to the log and/or console. More...
 
BLAM void Blam::Logger::LogEvent (std::string message, bool show_timestamp, Blam::Logger::LogSeverity severity)
 Logs a message to the log and/or console. More...
 
BLAM void Blam::Logger::LogEvent (std::string message, bool show_timestamp, Blam::Logger::LogSeverity severity, short r, short g, short b)
 Logs a message to the log and/or console. More...
 
BLAM void Blam::Logger::LogEvent (std::string message, LogSeverity severity)
 Logs a message to the log and/or console. More...
 
BLAM void Blam::Logger::LogEvent (std::string message, LogSeverity severity, ReportType report_type)
 Logs a message to the log and/or console. More...
 
BLAM void Blam::Logger::LogEvent (std::string message, LogSeverity severity, LogVisibility visibility)
 Logs a message to the log and/or console. More...
 
BLAM void Blam::Logger::LogEvent (std::string message, BlamColor color)
 Logs a message to the log and/or console. More...
 
BLAM void Blam::Logger::LogEvent (Blam::Logger::LogMessage message)
 Logs a message to the log and/or console. More...
 
BLAM void Blam::Logger::LogEventForce (std::string message, LogSeverity severity)
 Forcibly logs a message to the log and/or console. More...
 
BLAM void Blam::Logger::LogEventForce (std::string message, BlamColor color)
 Forcibly logs a message to the log and/or console. More...
 
BLAM void Blam::Logger::LogEventForce (std::string message, LogSeverity severity, LogVisibility visibility)
 Forcibly logs a message to the log and/or console. More...
 
BLAM void Blam::Logger::LogEventForce (std::string message, LogSeverity severity, ReportType report_type)
 Forcibly logs a message to the log and/or console. More...
 
BLAM void Blam::Logger::LogEventForce (Blam::Logger::LogMessage message)
 Forcibly logs a message to the log and/or console. More...
 

Macro Definition Documentation

◆ BL_LOGEVT

#define BL_LOGEVT (   m)    Blam::Logger::LogEvent(m);

Macro for logging a message to console.

◆ BL_LOGEVT_RGB

#define BL_LOGEVT_RGB (   m,
  st,
  sev,
  r,
  g,
 
)    Blam::Logger::LogEvent(m, st, sev, r, g, b);

Macro for logging a message to console.

◆ BL_LOGEVT_SEV

#define BL_LOGEVT_SEV (   m,
  st,
  sev 
)    Blam::Logger::LogEvent(m, st, sev);

Macro for logging a message to console.

◆ BL_LOGEVT_ST

#define BL_LOGEVT_ST (   m,
  st 
)    Blam::Logger::LogEvent(m, st);

Macro for logging a message to console.

◆ BLAM

#define BLAM

◆ DEFAULT_LOG_FILENAME

#define DEFAULT_LOG_FILENAME   "debug"

Specifies the default filename of a log file, without the extension.

◆ MAX_ERRORS_BEFORE_SUPRESSION

#define MAX_ERRORS_BEFORE_SUPRESSION   5

Controls the maximum amount of error messages shown before they are suppressed from the in-game console.

◆ WSV_AIERR

#define WSV_AIERR   Blam::Logger::LogSeverity::AiError

Macro for 'AiError' log seveirty. Original pre-enum value was 6.

◆ WSV_CRITICAL

#define WSV_CRITICAL   Blam::Logger::LogSeverity::Critical

Macro for 'Critical' log seveirty. Original pre-enum value was 5.

◆ WSV_ERROR

#define WSV_ERROR   Blam::Logger::LogSeverity::Error

Macro for 'Error' log seveirty. Original pre-enum value was 2.

◆ WSV_INFO

#define WSV_INFO   Blam::Logger::LogSeverity::Info

Macro for 'Info' log seveirty. Original pre-enum value was 1.

◆ WSV_NONE

#define WSV_NONE   Blam::Logger::LogSeverity::None

Macro for 'None' log seveirty. Original pre-enum value was 0.

◆ WSV_SEVERE

#define WSV_SEVERE   Blam::Logger::LogSeverity::Severe

Macro for 'Severe' log seveirty. Original pre-enum value was 4.

◆ WSV_WARNING

#define WSV_WARNING   Blam::Logger::LogSeverity::Warning

Macro for 'Warning' log seveirty. Original pre-enum value was 3.

◆ WVIS_ALL

#define WVIS_ALL   Blam::Logger::LogVisibility::All

Macro for 'All' log visibility. Original pre-enum value was 0.

◆ WVIS_FILE_ONLY

#define WVIS_FILE_ONLY   Blam::Logger::LogVisibility::FileOnly

Macro for 'FileOnly' log visibility. Original pre-enum value was 2.

◆ WVIS_HTML_ONLY

#define WVIS_HTML_ONLY   Blam::Logger::LogVisibility::HTMLOnly

Macro for 'HTMLOnly' log visibility. Original pre-enum value was 3.

◆ WVIS_NONE

#define WVIS_NONE   Blam::Logger::LogVisibility::Vis_None

Macro for 'Vis_None' log visibility. Original pre-enum value was -1.

◆ WVIS_STDOUT_ONLY

#define WVIS_STDOUT_ONLY   Blam::Logger::LogVisibility::StdoutOnly

Macro for 'StdoutOnly' log visibility. Original pre-enum value was 1.

◆ WVIS_TXT_ONLY

#define WVIS_TXT_ONLY   Blam::Logger::LogVisibility::TXTOnly

Macro for 'TXTOnly' log visibility. Original pre-enum value was 4.