TrinityCore
Log.h File Reference
#include "Define.h"
#include "AsioHacksFwd.h"
#include "LogCommon.h"
#include "StringFormat.h"
#include <memory>
#include <unordered_map>
#include <vector>
+ Include dependency graph for Log.h:

Go to the source code of this file.

Classes

class  Log
 

Namespaces

 Trinity
 
 Trinity::Asio
 

Macros

#define LOGGER_ROOT   "root"
 
#define sLog   Log::instance()
 
#define LOG_EXCEPTION_FREE(filterType__, level__, ...)
 
#define TC_LOG_MESSAGE_BODY(filterType__, level__, ...)
 
#define TC_LOG_TRACE(filterType__, ...)   TC_LOG_MESSAGE_BODY(filterType__, LOG_LEVEL_TRACE, __VA_ARGS__)
 
#define TC_LOG_DEBUG(filterType__, ...)   TC_LOG_MESSAGE_BODY(filterType__, LOG_LEVEL_DEBUG, __VA_ARGS__)
 
#define TC_LOG_INFO(filterType__, ...)   TC_LOG_MESSAGE_BODY(filterType__, LOG_LEVEL_INFO, __VA_ARGS__)
 
#define TC_LOG_WARN(filterType__, ...)   TC_LOG_MESSAGE_BODY(filterType__, LOG_LEVEL_WARN, __VA_ARGS__)
 
#define TC_LOG_ERROR(filterType__, ...)   TC_LOG_MESSAGE_BODY(filterType__, LOG_LEVEL_ERROR, __VA_ARGS__)
 
#define TC_LOG_FATAL(filterType__, ...)   TC_LOG_MESSAGE_BODY(filterType__, LOG_LEVEL_FATAL, __VA_ARGS__)
 

Typedefs

typedef Appender *(* AppenderCreatorFn) (uint8 id, std::string const &name, LogLevel level, AppenderFlags flags, std::vector< char const *> &&extraArgs)
 

Functions

template<class AppenderImpl >
AppenderCreateAppender (uint8 id, std::string const &name, LogLevel level, AppenderFlags flags, std::vector< char const *> &&extraArgs)
 

Macro Definition Documentation

◆ LOG_EXCEPTION_FREE

#define LOG_EXCEPTION_FREE (   filterType__,
  level__,
  ... 
)
Value:
{ \
try \
{ \
sLog->outMessage(filterType__, level__, __VA_ARGS__); \
} \
catch (std::exception& e) \
{ \
sLog->outMessage("server", LOG_LEVEL_ERROR, "Wrong format occurred (%s) at %s:%u.", \
e.what(), __FILE__, __LINE__); \
} \
}
Definition: LogCommon.h:28

◆ LOGGER_ROOT

#define LOGGER_ROOT   "root"

◆ sLog

#define sLog   Log::instance()

◆ TC_LOG_DEBUG

#define TC_LOG_DEBUG (   filterType__,
  ... 
)    TC_LOG_MESSAGE_BODY(filterType__, LOG_LEVEL_DEBUG, __VA_ARGS__)

◆ TC_LOG_ERROR

#define TC_LOG_ERROR (   filterType__,
  ... 
)    TC_LOG_MESSAGE_BODY(filterType__, LOG_LEVEL_ERROR, __VA_ARGS__)

◆ TC_LOG_FATAL

#define TC_LOG_FATAL (   filterType__,
  ... 
)    TC_LOG_MESSAGE_BODY(filterType__, LOG_LEVEL_FATAL, __VA_ARGS__)

◆ TC_LOG_INFO

#define TC_LOG_INFO (   filterType__,
  ... 
)    TC_LOG_MESSAGE_BODY(filterType__, LOG_LEVEL_INFO, __VA_ARGS__)

◆ TC_LOG_MESSAGE_BODY

#define TC_LOG_MESSAGE_BODY (   filterType__,
  level__,
  ... 
)
Value:
__pragma(warning(push)) \
__pragma(warning(disable:4127)) \
do { \
if (sLog->ShouldLog(filterType__, level__)) \
LOG_EXCEPTION_FREE(filterType__, level__, __VA_ARGS__); \
} while (0) \
__pragma(warning(pop))
#define sLog
Definition: Log.h:131
#define LOG_EXCEPTION_FREE(filterType__, level__,...)
Definition: Log.h:133

◆ TC_LOG_TRACE

#define TC_LOG_TRACE (   filterType__,
  ... 
)    TC_LOG_MESSAGE_BODY(filterType__, LOG_LEVEL_TRACE, __VA_ARGS__)

◆ TC_LOG_WARN

#define TC_LOG_WARN (   filterType__,
  ... 
)    TC_LOG_MESSAGE_BODY(filterType__, LOG_LEVEL_WARN, __VA_ARGS__)

Typedef Documentation

◆ AppenderCreatorFn

typedef Appender*(* AppenderCreatorFn) (uint8 id, std::string const &name, LogLevel level, AppenderFlags flags, std::vector< char const * > &&extraArgs)

Function Documentation

◆ CreateAppender()

template<class AppenderImpl >
Appender* CreateAppender ( uint8  id,
std::string const &  name,
LogLevel  level,
AppenderFlags  flags,
std::vector< char const *> &&  extraArgs 
)
47 {
48  return new AppenderImpl(id, name, level, flags, std::forward<std::vector<char const*>>(extraArgs));
49 }
uint8 flags
Definition: DisableMgr.cpp:47