Blamite Game Engine - blam!  00296.01.12.21.0102.blamite
The core library for the Blamite Game Engine.
logger.h File Reference
#include <Windows.h>
#include <vector>
#include <Strings/components/interface/logger/logger.h>
#include "components/resources/engine_globals/globals.h"

Go to the source code of this file.

Classes

struct  BlamLogMessage
 Structure to store log message data. More...
 
class  BlamReport
 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   BlamLogLevel::None
 Macro for 'None' log seveirty. Original pre-enum value was 0. More...
 
#define WSV_ERROR   BlamLogLevel::Error
 Macro for 'Error' log seveirty. Original pre-enum value was 2. More...
 
#define WSV_WARNING   BlamLogLevel::Warning
 Macro for 'Warning' log seveirty. Original pre-enum value was 3. More...
 
#define WSV_SEVERE   BlamLogLevel::Severe
 Macro for 'Severe' log seveirty. Original pre-enum value was 4. More...
 
#define WSV_CRITICAL   BlamLogLevel::Severe
 Macro for 'Critical' log seveirty. Original pre-enum value was 5. More...
 
#define WSV_INFO   BlamLogLevel::Input
 Macro for 'Info' log seveirty. More...
 
#define WSV_AIERR   BlamLogLevel::AiError
 Macro for 'AiError' log seveirty. More...
 
#define WVIS_NONE   BlamLogVisibility::Vis_None
 Macro for 'Vis_None' log visibility. Original pre-enum value was -1. More...
 
#define WVIS_ALL   BlamLogVisibility::All
 Macro for 'All' log visibility. Original pre-enum value was 0. More...
 
#define WVIS_STDOUT_ONLY   BlamLogVisibility::StdoutOnly
 Macro for 'StdoutOnly' log visibility. Original pre-enum value was 1. More...
 
#define WVIS_FILE_ONLY   BlamLogVisibility::FileOnly
 Macro for 'FileOnly' log visibility. Original pre-enum value was 2. More...
 
#define WVIS_HTML_ONLY   BlamLogVisibility::HTMLOnly
 Macro for 'HTMLOnly' log visibility. Original pre-enum value was 3. More...
 
#define WVIS_TXT_ONLY   BlamLogVisibility::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  BlamLogVisibility {
  BlamLogVisibility::Vis_None, BlamLogVisibility::All, BlamLogVisibility::StdoutOnly, BlamLogVisibility::FileOnly,
  BlamLogVisibility::HTMLOnly, BlamLogVisibility::TXTOnly
}
 Enumerator to specify log event visibility. More...
 
enum  BlamReportType {
  BlamReportType::Debug, BlamReportType::DebugFull, BlamReportType::TagDebug, BlamReportType::UIDebug,
  BlamReportType::ShadersDebug
}
 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 BlamReport 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 (BlamLogMessage message)
 Adds a message to the queue. More...
 
BLAM std::vector< BlamLogMessage > * Blam::Logger::Queue::GetQueue ()
 Retrieves the current message queue. More...
 
BLAM void Blam::Logger::SetLoggerReady ()
 Marks all reports as ready for use. More...
 
BLAM BlamReportBlam::Logger::GetReport (BlamReportType type)
 Retrieves report data with the specified type. More...
 
BLAM std::string Blam::Logger::GetSeverityCSSClass (BlamLogLevel 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, BlamReportType report_type)
 Logs a message to the log and/or console. More...
 
BLAM void Blam::Logger::LogEvent (std::string message, bool show_timestamp, BlamLogLevel severity)
 Logs a message to the log and/or console. More...
 
BLAM void Blam::Logger::LogEvent (std::string message, bool show_timestamp, BlamLogLevel 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, BlamLogLevel severity)
 Logs a message to the log and/or console. More...
 
BLAM void Blam::Logger::LogEvent (std::string message, BlamLogLevel severity, BlamReportType report_type)
 Logs a message to the log and/or console. More...
 
BLAM void Blam::Logger::LogEvent (std::string message, BlamLogLevel severity, BlamLogVisibility 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 (BlamLogMessage message)
 Logs a message to the log and/or console. More...
 
BLAM void Blam::Logger::LogEventForce (std::string message, BlamLogLevel 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, BlamLogLevel severity, BlamLogVisibility visibility)
 Forcibly logs a message to the log and/or console. More...
 
BLAM void Blam::Logger::LogEventForce (std::string message, BlamLogLevel severity, BlamReportType report_type)
 Forcibly logs a message to the log and/or console. More...
 
BLAM void Blam::Logger::LogEventForce (BlamLogMessage 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.

Deprecated:
Use the standard functions directly instead. These will be removed in the future.

◆ 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.

Deprecated:
Use the standard functions directly instead. These will be removed in the future.

◆ BL_LOGEVT_SEV

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

Macro for logging a message to console.

Deprecated:
Use the standard functions directly instead. These will be removed in the future.

◆ BL_LOGEVT_ST

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

Macro for logging a message to console.

Deprecated:
Use the standard functions directly instead. These will be removed in the future.

◆ 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   BlamLogLevel::AiError

Macro for 'AiError' log seveirty.

Original pre-enum value was 6.

Deprecated:
Will be removed soon.

◆ WSV_CRITICAL

#define WSV_CRITICAL   BlamLogLevel::Severe

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

◆ WSV_ERROR

#define WSV_ERROR   BlamLogLevel::Error

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

◆ WSV_INFO

#define WSV_INFO   BlamLogLevel::Input

Macro for 'Info' log seveirty.

Original pre-enum value was 1.

Deprecated:
Will be removed soon.

◆ WSV_NONE

#define WSV_NONE   BlamLogLevel::None

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

◆ WSV_SEVERE

#define WSV_SEVERE   BlamLogLevel::Severe

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

◆ WSV_WARNING

#define WSV_WARNING   BlamLogLevel::Warning

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

◆ WVIS_ALL

#define WVIS_ALL   BlamLogVisibility::All

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

◆ WVIS_FILE_ONLY

#define WVIS_FILE_ONLY   BlamLogVisibility::FileOnly

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

◆ WVIS_HTML_ONLY

#define WVIS_HTML_ONLY   BlamLogVisibility::HTMLOnly

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

◆ WVIS_NONE

#define WVIS_NONE   BlamLogVisibility::Vis_None

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

◆ WVIS_STDOUT_ONLY

#define WVIS_STDOUT_ONLY   BlamLogVisibility::StdoutOnly

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

◆ WVIS_TXT_ONLY

#define WVIS_TXT_ONLY   BlamLogVisibility::TXTOnly

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

Enumeration Type Documentation

◆ BlamLogVisibility

enum BlamLogVisibility
strong

Enumerator to specify log event visibility.

Enumerator
Vis_None 

The message will not be visible anywhere.

All 

The message will be shown in all places where log output can be written.

StdoutOnly 

The message will only be shown to the in-game console and STDOUT.

FileOnly 

The message will only be written to the log file.

HTMLOnly 

The message will only be written to the log file, if the file is in HTML format.

TXTOnly 

The message will only be written to the log file, if the file is in plain text format.

◆ BlamReportType

enum BlamReportType
strong

Enumerator containing possible report types.

Enumerator
Debug 

Default report file. Contains all log messages found in other reports, excluding debug_full.

DebugFull 

Similar to debug, but includes additional messages that would be hidden from debug.

TagDebug 

BlamReport file for all tag related messages.

UIDebug 

BlamReport file for all UI messages.

ShadersDebug 

BlamReport file for shader messages.