From 2f5f599e0df0c9b56a9e2653609e3e31f6bfb36c Mon Sep 17 00:00:00 2001 From: Peter Conrad Date: Tue, 13 Mar 2018 22:33:21 +0100 Subject: [PATCH] Moved LOG_*_DEPTH variable to new config.hpp --- include/fc/config.hpp | 5 +++++ include/fc/log/console_appender.hpp | 2 +- include/fc/log/log_message.hpp | 5 ++--- include/fc/log/logger.hpp | 3 ++- src/log/console_appender.cpp | 4 ++-- src/log/file_appender.cpp | 6 +----- src/log/gelf_appender.cpp | 2 +- 7 files changed, 14 insertions(+), 13 deletions(-) diff --git a/include/fc/config.hpp b/include/fc/config.hpp index 2f646bd..d08eaf1 100644 --- a/include/fc/config.hpp +++ b/include/fc/config.hpp @@ -2,3 +2,8 @@ // The maximum level of object nesting is around 20% of this value #define FC_PACK_MAX_DEPTH 1000 #endif + +#ifndef FC_MAX_LOG_OBJECT_DEPTH + // how many levels of nested objects are displayed in log messages + #define FC_MAX_LOG_OBJECT_DEPTH 200 +#endif \ No newline at end of file diff --git a/include/fc/log/console_appender.hpp b/include/fc/log/console_appender.hpp index 2ed96fb..4048da6 100644 --- a/include/fc/log/console_appender.hpp +++ b/include/fc/log/console_appender.hpp @@ -38,7 +38,7 @@ namespace fc { config() :format( "${timestamp} ${thread_name} ${context} ${file}:${line} ${method} ${level}] ${message}" ), - stream(console_appender::stream::std_error),max_object_depth(LOG_MAX_OBJECT_DEPTH),flush(true){} + stream(console_appender::stream::std_error),max_object_depth(FC_MAX_LOG_OBJECT_DEPTH),flush(true){} fc::string format; console_appender::stream::type stream; diff --git a/include/fc/log/log_message.hpp b/include/fc/log/log_message.hpp index f297688..1ec3d7f 100644 --- a/include/fc/log/log_message.hpp +++ b/include/fc/log/log_message.hpp @@ -3,6 +3,7 @@ * @file log_message.hpp * @brief Defines types and helper macros necessary for generating log messages. */ +#include #include #include #include @@ -139,8 +140,6 @@ FC_REFLECT_TYPENAME( fc::log_message ); #define __func__ __FUNCTION__ #endif -#define LOG_MAX_OBJECT_DEPTH 210 - /** * @def FC_LOG_CONTEXT(LOG_LEVEL) * @brief Automatically captures the File, Line, and Method names and passes them to @@ -160,5 +159,5 @@ FC_REFLECT_TYPENAME( fc::log_message ); * @param ... A set of key/value pairs denoted as ("key",val)("key2",val2)... */ #define FC_LOG_MESSAGE( LOG_LEVEL, FORMAT, ... ) \ - fc::log_message( FC_LOG_CONTEXT(LOG_LEVEL), FORMAT, fc::limited_mutable_variant_object(LOG_MAX_OBJECT_DEPTH)__VA_ARGS__ ) + fc::log_message( FC_LOG_CONTEXT(LOG_LEVEL), FORMAT, fc::limited_mutable_variant_object(FC_MAX_LOG_OBJECT_DEPTH)__VA_ARGS__ ) diff --git a/include/fc/log/logger.hpp b/include/fc/log/logger.hpp index a2868f4..508eb9d 100644 --- a/include/fc/log/logger.hpp +++ b/include/fc/log/logger.hpp @@ -1,4 +1,5 @@ #pragma once +#include #include #include #include @@ -145,7 +146,7 @@ namespace fc BOOST_PP_STRINGIZE(base) ": ${" BOOST_PP_STRINGIZE( base ) "} " #define FC_FORMAT_ARGS(r, unused, base) \ - BOOST_PP_LPAREN() BOOST_PP_STRINGIZE(base),fc::variant(base,LOG_MAX_OBJECT_DEPTH) BOOST_PP_RPAREN() + BOOST_PP_LPAREN() BOOST_PP_STRINGIZE(base),fc::variant(base,FC_MAX_LOG_OBJECT_DEPTH) BOOST_PP_RPAREN() #define FC_FORMAT( SEQ )\ BOOST_PP_SEQ_FOR_EACH( FC_FORMAT_ARG, v, SEQ ) diff --git a/src/log/console_appender.cpp b/src/log/console_appender.cpp index a02147d..af35564 100644 --- a/src/log/console_appender.cpp +++ b/src/log/console_appender.cpp @@ -31,7 +31,7 @@ namespace fc { console_appender::console_appender( const variant& args ) :my(new impl) { - configure( args.as(LOG_MAX_OBJECT_DEPTH) ); + configure( args.as( FC_MAX_LOG_OBJECT_DEPTH ) ); } console_appender::console_appender( const config& cfg ) @@ -138,7 +138,7 @@ namespace fc { #endif if( text.size() ) - fprintf( out, "%s", text.c_str() ); //fmt_str.c_str() ); + fprintf( out, "%s", text.c_str() ); #ifdef WIN32 if (my->console_handle != INVALID_HANDLE_VALUE) diff --git a/src/log/file_appender.cpp b/src/log/file_appender.cpp index 3b21560..844a705 100644 --- a/src/log/file_appender.cpp +++ b/src/log/file_appender.cpp @@ -138,7 +138,7 @@ namespace fc { {} file_appender::file_appender( const variant& args ) : - my( new impl( args.as(LOG_MAX_OBJECT_DEPTH) ) ) + my( new impl( args.as( FC_MAX_LOG_OBJECT_DEPTH ) ) ) { try { @@ -183,10 +183,6 @@ namespace fc { fc::string message = fc::format_string( m.get_format(), m.get_data(), my->cfg.max_object_depth ); line << message.c_str(); - //fc::variant lmsg(m); - - // fc::string fmt_str = fc::format_string( my->cfg.format, mutable_variant_object(m.get_context())( "message", message) ); - { fc::scoped_lock lock( my->slock ); my->out << line.str() << "\t\t\t" << m.get_context().get_file() << ":" << m.get_context().get_line_number() << "\n"; diff --git a/src/log/gelf_appender.cpp b/src/log/gelf_appender.cpp index 187584a..2d7f78a 100644 --- a/src/log/gelf_appender.cpp +++ b/src/log/gelf_appender.cpp @@ -38,7 +38,7 @@ namespace fc }; gelf_appender::gelf_appender(const variant& args) : - my(new impl(args.as(LOG_MAX_OBJECT_DEPTH))) + my( new impl( args.as( FC_MAX_LOG_OBJECT_DEPTH ) ) ) { try {