File tree Expand file tree Collapse file tree 4 files changed +38
-6
lines changed Expand file tree Collapse file tree 4 files changed +38
-6
lines changed Original file line number Diff line number Diff line change 5252#include < JSON_checker.h>
5353
5454static ALLOCATOR_HOOKS_API *hooksApi;
55- static SERVER_LOG_API *loggerApi;
55+ SERVER_LOG_API* EventuallyPersistentEngine::loggerApi;
56+
5657
5758static size_t percentOf (size_t val, double percent) {
5859 return static_cast <size_t >(static_cast <double >(val) * percent);
@@ -1724,7 +1725,7 @@ extern "C" {
17241725 }
17251726
17261727 hooksApi = api->alloc_hooks ;
1727- loggerApi = api->log ;
1728+ EventuallyPersistentEngine:: loggerApi = api->log ;
17281729 MemoryTracker::getInstance ();
17291730 ObjectRegistry::initialize (api->alloc_hooks ->get_allocation_size );
17301731
@@ -1809,11 +1810,11 @@ extern "C" {
18091810void LOG (EXTENSION_LOG_LEVEL severity, const char *fmt, ...) {
18101811 char buffer[2048 ];
18111812
1812- if (loggerApi != NULL ) {
1813+ if (EventuallyPersistentEngine:: loggerApi != NULL ) {
18131814 EXTENSION_LOGGER_DESCRIPTOR* logger =
1814- (EXTENSION_LOGGER_DESCRIPTOR*)loggerApi->get_logger ();
1815+ (EXTENSION_LOGGER_DESCRIPTOR*)EventuallyPersistentEngine:: loggerApi->get_logger ();
18151816
1816- if (loggerApi->get_level () <= severity) {
1817+ if (EventuallyPersistentEngine:: loggerApi->get_level () <= severity) {
18171818 EventuallyPersistentEngine *engine = ObjectRegistry::onSwitchThread (NULL , true );
18181819 va_list va;
18191820 va_start (va, fmt);
Original file line number Diff line number Diff line change @@ -740,6 +740,8 @@ class EventuallyPersistentEngine : public ENGINE_HANDLE_V1 {
740740 ENGINE_ERROR_CODE getAllVBucketSequenceNumbers (const void *cookie,
741741 ADD_RESPONSE response);
742742
743+ static SERVER_LOG_API *loggerApi;
744+
743745protected:
744746 friend class EpEngineValueChangeListener ;
745747
Original file line number Diff line number Diff line change 3232static char allow_no_stats_env[] = " ALLOW_NO_STATS_UPDATE=yeah" ;
3333
3434int main (int argc, char **argv) {
35+ bool log_to_stderr = false ;
36+ // Parse command-line options.
37+ int cmd;
38+ bool invalid_argument = false ;
39+ while (!invalid_argument &&
40+ (cmd = getopt (argc, argv, " v" )) != EOF) {
41+ switch (cmd) {
42+ case ' v' :
43+ log_to_stderr = true ;
44+ break ;
45+ default :
46+ std::cerr << " Usage: " << argv[0 ] << " [-v] [gtest_options...]" << std::endl
47+ << std::endl
48+ << " -v Verbose - Print verbose output to stderr."
49+ << std::endl << std::endl;
50+ invalid_argument = true ;
51+ break ;
52+ }
53+ }
54+
3555 putenv (allow_no_stats_env);
3656
37- init_mock_server (false );
57+ init_mock_server (log_to_stderr);
58+ get_mock_server_api ()->log ->set_level (EXTENSION_LOG_DEBUG);
59+
60+ if (memcached_initialize_stderr_logger (get_mock_server_api) != EXTENSION_SUCCESS) {
61+ std::cerr << argv[0 ] << " : Failed to initialize log system" << std::endl;
62+ return 1 ;
63+ }
64+
3865
3966 // Default number of hashtable locks is too large for TSan to
4067 // track. Use the value in configuration.json (47 at time of
Original file line number Diff line number Diff line change @@ -41,6 +41,8 @@ SynchronousEPEngine::SynchronousEPEngine(const std::string& extra_config)
4141 : EventuallyPersistentEngine(get_mock_server_api) {
4242 maxFailoverEntries = 1 ;
4343
44+ EventuallyPersistentEngine::loggerApi = get_mock_server_api ()->log ;
45+
4446 // Merge any extra config into the main configuration.
4547 if (extra_config.size () > 0 ) {
4648 if (!configuration.parseConfiguration (extra_config.c_str (),
You can’t perform that action at this time.
0 commit comments