diff --git a/cpp/src/phonenumbers/default_logger.cc b/cpp/src/phonenumbers/default_logger.cc index 538c1b30d..766e215a8 100644 --- a/cpp/src/phonenumbers/default_logger.cc +++ b/cpp/src/phonenumbers/default_logger.cc @@ -14,6 +14,9 @@ // Author: Philippe Liard +// This file should not be compiled when using Google base/. +#ifndef USE_GOOGLE_BASE + #include #include "phonenumbers/default_logger.h" @@ -47,3 +50,5 @@ void StdoutLogger::WriteLevel() { } // namespace phonenumbers } // namespace i18n + +#endif // USE_GOOGLE_BASE diff --git a/cpp/src/phonenumbers/default_logger.h b/cpp/src/phonenumbers/default_logger.h index 53ec9cd7a..28212ff7f 100644 --- a/cpp/src/phonenumbers/default_logger.h +++ b/cpp/src/phonenumbers/default_logger.h @@ -17,6 +17,28 @@ #ifndef I18N_PHONENUMBERS_DEFAULT_LOGGER_H_ #define I18N_PHONENUMBERS_DEFAULT_LOGGER_H_ +#ifdef USE_GOOGLE_BASE + +namespace i18n { +namespace phonenumbers { + +// If Google base/ is used, LOG() and VLOG() from base/logging.h are used +// therefore the default logger implementation (StdoutLogger) instantiated in +// phonenumberutil will actually never be used. Thus provide a dummy +// implementation of this logger. +class StdoutLogger : public Logger { + public: + virtual ~StdoutLogger() {} + + virtual void WriteLevel() {} + virtual void WriteMessage(const string& /* msg */) {} +}; + +} // namespace phonenumbers +} // namespace i18n + +#else + #include #include "phonenumbers/logger.h" @@ -103,4 +125,5 @@ class StdoutLogger : public Logger { } // namespace phonenumbers } // namespace i18n +#endif // USE_GOOGLE_BASE #endif // I18N_PHONENUMBERS_DEFAULT_LOGGER_H_