trantor
Non-blocking I/O cross-platform TCP network library, using C++14
Loading...
Searching...
No Matches
Logger.h File Reference
#include <trantor/utils/NonCopyable.h>
#include <trantor/utils/Date.h>
#include <trantor/utils/LogStream.h>
#include <trantor/exports.h>
#include <cstring>
#include <functional>
#include <iostream>
#include <vector>
#include <memory>
Include dependency graph for Logger.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  trantor::Logger
 This class implements log functions. More...
class  trantor::Logger::SourceFile
 Calculate of basename of source files in compile time. More...
class  trantor::RawLogger

Namespaces

namespace  trantor

Macros

#define TRANTOR_IF_(cond)
#define LOG_TRACE
#define LOG_TRACE_TO(index)
#define LOG_DEBUG
#define LOG_DEBUG_TO(index)
#define LOG_INFO
#define LOG_INFO_TO(index)
#define LOG_WARN    trantor::Logger(__FILE__, __LINE__, trantor::Logger::kWarn).stream()
#define LOG_WARN_TO(index)
#define LOG_ERROR    trantor::Logger(__FILE__, __LINE__, trantor::Logger::kError).stream()
#define LOG_ERROR_TO(index)
#define LOG_FATAL    trantor::Logger(__FILE__, __LINE__, trantor::Logger::kFatal).stream()
#define LOG_FATAL_TO(index)
#define LOG_SYSERR   trantor::Logger(__FILE__, __LINE__, true).stream()
#define LOG_SYSERR_TO(index)
#define LOG_COMPACT_DEBUG
#define LOG_COMPACT_DEBUG_TO(index)
#define LOG_COMPACT_INFO
#define LOG_COMPACT_INFO_TO(index)
#define LOG_COMPACT_WARN   trantor::Logger(trantor::Logger::kWarn).stream()
#define LOG_COMPACT_WARN_TO(index)
#define LOG_COMPACT_ERROR   trantor::Logger(trantor::Logger::kError).stream()
#define LOG_COMPACT_ERROR_TO(index)
#define LOG_COMPACT_FATAL   trantor::Logger(trantor::Logger::kFatal).stream()
#define LOG_COMPACT_FATAL_TO(index)
#define LOG_COMPACT_SYSERR   trantor::Logger(true).stream()
#define LOG_COMPACT_SYSERR_TO(index)
#define LOG_RAW   trantor::RawLogger().stream()
#define LOG_RAW_TO(index)
#define LOG_TRACE_IF(cond)
#define LOG_DEBUG_IF(cond)
#define LOG_INFO_IF(cond)
#define LOG_WARN_IF(cond)
#define LOG_ERROR_IF(cond)
#define LOG_FATAL_IF(cond)
#define DLOG_TRACE
#define DLOG_DEBUG
#define DLOG_INFO
#define DLOG_WARN    trantor::Logger(__FILE__, __LINE__, trantor::Logger::kWarn).stream()
#define DLOG_ERROR    trantor::Logger(__FILE__, __LINE__, trantor::Logger::kError).stream()
#define DLOG_FATAL    trantor::Logger(__FILE__, __LINE__, trantor::Logger::kFatal).stream()
#define DLOG_TRACE_IF(cond)
#define DLOG_DEBUG_IF(cond)
#define DLOG_INFO_IF(cond)
#define DLOG_WARN_IF(cond)
#define DLOG_ERROR_IF(cond)
#define DLOG_FATAL_IF(cond)

Functions

const char * trantor::strerror_tl (int savedErrno)

Detailed Description

Author
An Tao

Public header file in trantor lib.

Copyright 2018, An Tao. All rights reserved. Use of this source code is governed by a BSD-style license that can be found in the License file.

Macro Definition Documentation

◆ DLOG_DEBUG

#define DLOG_DEBUG
Value:
TRANTOR_IF_(trantor::Logger::logLevel() <= trantor::Logger::kDebug) \
trantor::Logger(__FILE__, __LINE__, trantor::Logger::kDebug, __func__) \
.stream()
static LogLevel logLevel()
Get the current log level.
Definition Logger.h:156

◆ DLOG_DEBUG_IF

#define DLOG_DEBUG_IF ( cond)
Value:
TRANTOR_IF_((trantor::Logger::logLevel() <= trantor::Logger::kDebug) && \
(cond)) \
trantor::Logger(__FILE__, __LINE__, trantor::Logger::kDebug, __func__) \
.stream()

◆ DLOG_ERROR_IF

#define DLOG_ERROR_IF ( cond)
Value:
TRANTOR_IF_(cond) \
trantor::Logger(__FILE__, __LINE__, trantor::Logger::kError).stream()

◆ DLOG_FATAL_IF

#define DLOG_FATAL_IF ( cond)
Value:
TRANTOR_IF_(cond) \
trantor::Logger(__FILE__, __LINE__, trantor::Logger::kFatal).stream()

◆ DLOG_INFO

#define DLOG_INFO
Value:
TRANTOR_IF_(trantor::Logger::logLevel() <= trantor::Logger::kInfo) \
trantor::Logger(__FILE__, __LINE__).stream()

◆ DLOG_INFO_IF

#define DLOG_INFO_IF ( cond)
Value:
TRANTOR_IF_((trantor::Logger::logLevel() <= trantor::Logger::kInfo) && \
(cond)) \
trantor::Logger(__FILE__, __LINE__).stream()

◆ DLOG_TRACE

#define DLOG_TRACE
Value:
TRANTOR_IF_(trantor::Logger::logLevel() <= trantor::Logger::kTrace) \
trantor::Logger(__FILE__, __LINE__, trantor::Logger::kTrace, __func__) \
.stream()

◆ DLOG_TRACE_IF

#define DLOG_TRACE_IF ( cond)
Value:
TRANTOR_IF_((trantor::Logger::logLevel() <= trantor::Logger::kTrace) && \
(cond)) \
trantor::Logger(__FILE__, __LINE__, trantor::Logger::kTrace, __func__) \
.stream()

◆ DLOG_WARN_IF

#define DLOG_WARN_IF ( cond)
Value:
TRANTOR_IF_(cond) \
trantor::Logger(__FILE__, __LINE__, trantor::Logger::kWarn).stream()

◆ LOG_COMPACT_DEBUG

#define LOG_COMPACT_DEBUG
Value:
TRANTOR_IF_(trantor::Logger::logLevel() <= trantor::Logger::kDebug) \
trantor::Logger(trantor::Logger::kDebug).stream()

◆ LOG_COMPACT_DEBUG_TO

#define LOG_COMPACT_DEBUG_TO ( index)
Value:
TRANTOR_IF_(trantor::Logger::logLevel() <= trantor::Logger::kDebug) \
trantor::Logger(trantor::Logger::kDebug).setIndex(index).stream()

◆ LOG_COMPACT_ERROR_TO

#define LOG_COMPACT_ERROR_TO ( index)
Value:
trantor::Logger(trantor::Logger::kError).setIndex(index).stream()
This class implements log functions.
Definition Logger.h:40

◆ LOG_COMPACT_FATAL_TO

#define LOG_COMPACT_FATAL_TO ( index)
Value:
trantor::Logger(trantor::Logger::kFatal).setIndex(index).stream()

◆ LOG_COMPACT_INFO

#define LOG_COMPACT_INFO
Value:
TRANTOR_IF_(trantor::Logger::logLevel() <= trantor::Logger::kInfo) \
trantor::Logger().stream()

◆ LOG_COMPACT_INFO_TO

#define LOG_COMPACT_INFO_TO ( index)
Value:
TRANTOR_IF_(trantor::Logger::logLevel() <= trantor::Logger::kInfo) \
trantor::Logger().setIndex(index).stream()

◆ LOG_COMPACT_SYSERR_TO

#define LOG_COMPACT_SYSERR_TO ( index)
Value:
trantor::Logger(true).setIndex(index).stream()

◆ LOG_COMPACT_WARN_TO

#define LOG_COMPACT_WARN_TO ( index)
Value:
trantor::Logger(trantor::Logger::kWarn).setIndex(index).stream()

◆ LOG_DEBUG

#define LOG_DEBUG
Value:
TRANTOR_IF_(trantor::Logger::logLevel() <= trantor::Logger::kDebug) \
trantor::Logger(__FILE__, __LINE__, trantor::Logger::kDebug, __func__) \
.stream()

◆ LOG_DEBUG_IF

#define LOG_DEBUG_IF ( cond)
Value:
TRANTOR_IF_((trantor::Logger::logLevel() <= trantor::Logger::kDebug) && \
(cond)) \
trantor::Logger(__FILE__, __LINE__, trantor::Logger::kDebug, __func__) \
.stream()

◆ LOG_DEBUG_TO

#define LOG_DEBUG_TO ( index)
Value:
TRANTOR_IF_(trantor::Logger::logLevel() <= trantor::Logger::kDebug) \
trantor::Logger(__FILE__, __LINE__, trantor::Logger::kDebug, __func__) \
.setIndex(index) \
.stream()

◆ LOG_ERROR_IF

#define LOG_ERROR_IF ( cond)
Value:
TRANTOR_IF_(cond) \
trantor::Logger(__FILE__, __LINE__, trantor::Logger::kError).stream()

◆ LOG_ERROR_TO

#define LOG_ERROR_TO ( index)
Value:
trantor::Logger(__FILE__, __LINE__, trantor::Logger::kError) \
.setIndex(index) \
.stream()

◆ LOG_FATAL_IF

#define LOG_FATAL_IF ( cond)
Value:
TRANTOR_IF_(cond) \
trantor::Logger(__FILE__, __LINE__, trantor::Logger::kFatal).stream()

◆ LOG_FATAL_TO

#define LOG_FATAL_TO ( index)
Value:
trantor::Logger(__FILE__, __LINE__, trantor::Logger::kFatal) \
.setIndex(index) \
.stream()

◆ LOG_INFO

#define LOG_INFO
Value:
TRANTOR_IF_(trantor::Logger::logLevel() <= trantor::Logger::kInfo) \
trantor::Logger(__FILE__, __LINE__).stream()

◆ LOG_INFO_IF

#define LOG_INFO_IF ( cond)
Value:
TRANTOR_IF_((trantor::Logger::logLevel() <= trantor::Logger::kInfo) && \
(cond)) \
trantor::Logger(__FILE__, __LINE__).stream()

◆ LOG_INFO_TO

#define LOG_INFO_TO ( index)
Value:
TRANTOR_IF_(trantor::Logger::logLevel() <= trantor::Logger::kInfo) \
trantor::Logger(__FILE__, __LINE__).setIndex(index).stream()

◆ LOG_RAW_TO

#define LOG_RAW_TO ( index)
Value:
trantor::RawLogger().setIndex(index).stream()
Definition Logger.h:343

◆ LOG_SYSERR_TO

#define LOG_SYSERR_TO ( index)
Value:
trantor::Logger(__FILE__, __LINE__, true).setIndex(index).stream()

◆ LOG_TRACE

#define LOG_TRACE
Value:
TRANTOR_IF_(trantor::Logger::logLevel() <= trantor::Logger::kTrace) \
trantor::Logger(__FILE__, __LINE__, trantor::Logger::kTrace, __func__) \
.stream()

◆ LOG_TRACE_IF

#define LOG_TRACE_IF ( cond)
Value:
TRANTOR_IF_((trantor::Logger::logLevel() <= trantor::Logger::kTrace) && \
(cond)) \
trantor::Logger(__FILE__, __LINE__, trantor::Logger::kTrace, __func__) \
.stream()

◆ LOG_TRACE_TO

#define LOG_TRACE_TO ( index)
Value:
TRANTOR_IF_(trantor::Logger::logLevel() <= trantor::Logger::kTrace) \
trantor::Logger(__FILE__, __LINE__, trantor::Logger::kTrace, __func__) \
.setIndex(index) \
.stream()

◆ LOG_WARN_IF

#define LOG_WARN_IF ( cond)
Value:
TRANTOR_IF_(cond) \
trantor::Logger(__FILE__, __LINE__, trantor::Logger::kWarn).stream()

◆ LOG_WARN_TO

#define LOG_WARN_TO ( index)
Value:
trantor::Logger(__FILE__, __LINE__, trantor::Logger::kWarn) \
.setIndex(index) \
.stream()

◆ TRANTOR_IF_

#define TRANTOR_IF_ ( cond)
Value:
for (int _r = 0; _r == 0 && (cond); _r = 1)