You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4cxx-dev@logging.apache.org by ca...@apache.org on 2007/11/06 22:50:02 UTC

svn commit: r592567 - in /logging/log4cxx/trunk/src/main: cpp/ include/log4cxx/ include/log4cxx/pattern/ include/log4cxx/rolling/ include/log4cxx/spi/location/

Author: carnold
Date: Tue Nov  6 13:50:01 2007
New Revision: 592567

URL: http://svn.apache.org/viewvc?rev=592567&view=rev
Log:
LOGCXX-47: Effective C++ fixes, temporarily breaks logstream

Modified:
    logging/log4cxx/trunk/src/main/cpp/fixedwindowrollingpolicy.cpp
    logging/log4cxx/trunk/src/main/cpp/hierarchy.cpp
    logging/log4cxx/trunk/src/main/cpp/logstream.cpp
    logging/log4cxx/trunk/src/main/cpp/patternlayout.cpp
    logging/log4cxx/trunk/src/main/cpp/timebasedrollingpolicy.cpp
    logging/log4cxx/trunk/src/main/include/log4cxx/pattern/patternparser.h
    logging/log4cxx/trunk/src/main/include/log4cxx/patternlayout.h
    logging/log4cxx/trunk/src/main/include/log4cxx/provisionnode.h
    logging/log4cxx/trunk/src/main/include/log4cxx/rolling/fixedwindowrollingpolicy.h
    logging/log4cxx/trunk/src/main/include/log4cxx/rolling/rollingpolicybase.h
    logging/log4cxx/trunk/src/main/include/log4cxx/rolling/timebasedrollingpolicy.h
    logging/log4cxx/trunk/src/main/include/log4cxx/spi/location/locationinfo.h
    logging/log4cxx/trunk/src/main/include/log4cxx/stream.h

Modified: logging/log4cxx/trunk/src/main/cpp/fixedwindowrollingpolicy.cpp
URL: http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/cpp/fixedwindowrollingpolicy.cpp?rev=592567&r1=592566&r2=592567&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/cpp/fixedwindowrollingpolicy.cpp (original)
+++ logging/log4cxx/trunk/src/main/cpp/fixedwindowrollingpolicy.cpp Tue Nov  6 13:50:01 2007
@@ -277,20 +277,11 @@
 }
 
 
-const log4cxx::pattern::PatternMap& FixedWindowRollingPolicy::getFormatSpecifiers() const {
-  static FileNamePatternMap specs;
-  return specs;
-}
-
-#define RULES_PUT(spec, cls) \
-insert(value_type(LOG4CXX_STR(spec), cls ::newInstance))
-
-
+using namespace log4cxx::pattern;
 
-FixedWindowRollingPolicy::FileNamePatternMap::FileNamePatternMap() {
-  RULES_PUT("i", IntegerPatternConverter);
-  RULES_PUT("index", IntegerPatternConverter);
+PatternMap FixedWindowRollingPolicy::getFormatSpecifiers() const {
+  PatternMap specs;
+  insertSpecifier<IntegerPatternConverter>(specs, LOG4CXX_STR("i"));
+  insertSpecifier<IntegerPatternConverter>(specs, LOG4CXX_STR("index"));
+  return specs;
 }
-
-
-

Modified: logging/log4cxx/trunk/src/main/cpp/hierarchy.cpp
URL: http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/cpp/hierarchy.cpp?rev=592567&r1=592566&r2=592567&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/cpp/hierarchy.cpp (original)
+++ logging/log4cxx/trunk/src/main/cpp/hierarchy.cpp Tue Nov  6 13:50:01 2007
@@ -340,7 +340,7 @@
                         else
                         {
                                 //tcout << _T("Inserting ProvisionNode for ") << substr << std::endl;
-                                ProvisionNode node(logger);
+                                ProvisionNode node(1, logger);
                                 provisionNodes.insert(
                                         ProvisionNodeMap::value_type(substr, node));
                         }

Modified: logging/log4cxx/trunk/src/main/cpp/logstream.cpp
URL: http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/cpp/logstream.cpp?rev=592567&r1=592566&r2=592567&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/cpp/logstream.cpp (original)
+++ logging/log4cxx/trunk/src/main/cpp/logstream.cpp Tue Nov  6 13:50:01 2007
@@ -69,13 +69,6 @@
 
 ::log4cxx::logstream& operator<<(
    ::log4cxx::logstream& lhs,
-   const ::log4cxx::spi::LocationFlush& rhs) {
-   lhs.flush(rhs);
-   return lhs;
-}
-
-::log4cxx::logstream& operator<<(
-   ::log4cxx::logstream& lhs,
    const ::log4cxx::LevelPtr& rhs) {
    lhs.setLevel(rhs);
    return lhs;

Modified: logging/log4cxx/trunk/src/main/cpp/patternlayout.cpp
URL: http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/cpp/patternlayout.cpp?rev=592567&r1=592566&r2=592567&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/cpp/patternlayout.cpp (original)
+++ logging/log4cxx/trunk/src/main/cpp/patternlayout.cpp Tue Nov  6 13:50:01 2007
@@ -128,56 +128,53 @@
        }
 }
 
-#define RULES_PUT(spec, cls) \
-insert(value_type(LOG4CXX_STR(spec), cls ::newInstance))
 
-PatternLayout::PatternLayoutMap::PatternLayoutMap() {
-  RULES_PUT("c", LoggerPatternConverter);
-  RULES_PUT("logger", LoggerPatternConverter);
+using namespace log4cxx::pattern;
 
-  RULES_PUT("C", ClassNamePatternConverter);
-  RULES_PUT("class", ClassNamePatternConverter);
+PatternMap PatternLayout::getFormatSpecifiers() {
+   PatternMap specs;
+   insertSpecifier<LoggerPatternConverter>(specs, LOG4CXX_STR("c"));
+   insertSpecifier<LoggerPatternConverter>(specs, LOG4CXX_STR("logger"));
 
-  RULES_PUT("d", DatePatternConverter);
-  RULES_PUT("date", DatePatternConverter);
+   insertSpecifier<ClassNamePatternConverter>(specs, LOG4CXX_STR("C"));
+   insertSpecifier<ClassNamePatternConverter>(specs, LOG4CXX_STR("class"));
 
-  RULES_PUT("F", FileLocationPatternConverter);
-  RULES_PUT("file", FileLocationPatternConverter);
+   insertSpecifier<DatePatternConverter>(specs, LOG4CXX_STR("d"));
+   insertSpecifier<DatePatternConverter>(specs, LOG4CXX_STR("date"));
 
-  RULES_PUT("l", FullLocationPatternConverter);
+   insertSpecifier<FileLocationPatternConverter>(specs, LOG4CXX_STR("F"));
+   insertSpecifier<FileLocationPatternConverter>(specs, LOG4CXX_STR("file"));
 
-  RULES_PUT("L", LineLocationPatternConverter);
-  RULES_PUT("line", LineLocationPatternConverter);
+   insertSpecifier<FullLocationPatternConverter>(specs, LOG4CXX_STR("l"));
 
-  RULES_PUT("m", MessagePatternConverter);
-  RULES_PUT("message", MessagePatternConverter);
+   insertSpecifier<LineLocationPatternConverter>(specs, LOG4CXX_STR("L"));
+   insertSpecifier<LineLocationPatternConverter>(specs, LOG4CXX_STR("line"));
 
-  RULES_PUT("n", LineSeparatorPatternConverter);
+   insertSpecifier<MessagePatternConverter>(specs, LOG4CXX_STR("m"));
+   insertSpecifier<MessagePatternConverter>(specs, LOG4CXX_STR("message"));
 
-  RULES_PUT("M", MethodLocationPatternConverter);
-  RULES_PUT("method", MethodLocationPatternConverter);
+   insertSpecifier<LineSeparatorPatternConverter>(specs, LOG4CXX_STR("n"));
 
-  RULES_PUT("p", LevelPatternConverter);
-  RULES_PUT("level", LevelPatternConverter);
+   insertSpecifier<MethodLocationPatternConverter>(specs, LOG4CXX_STR("M"));
+   insertSpecifier<MethodLocationPatternConverter>(specs, LOG4CXX_STR("method"));
 
-  RULES_PUT("r", RelativeTimePatternConverter);
-  RULES_PUT("relative", RelativeTimePatternConverter);
+   insertSpecifier<LevelPatternConverter>(specs, LOG4CXX_STR("p"));
+   insertSpecifier<LevelPatternConverter>(specs, LOG4CXX_STR("level"));
 
-  RULES_PUT("t", ThreadPatternConverter);
-  RULES_PUT("thread", ThreadPatternConverter);
+   insertSpecifier<RelativeTimePatternConverter>(specs, LOG4CXX_STR("r"));
+   insertSpecifier<RelativeTimePatternConverter>(specs, LOG4CXX_STR("relative"));
 
-  RULES_PUT("x", NDCPatternConverter);
-  RULES_PUT("ndc", NDCPatternConverter);
+   insertSpecifier<ThreadPatternConverter>(specs, LOG4CXX_STR("t"));
+   insertSpecifier<ThreadPatternConverter>(specs, LOG4CXX_STR("thread"));
 
-  RULES_PUT("X", PropertiesPatternConverter);
-  RULES_PUT("properties", PropertiesPatternConverter);
+   insertSpecifier<NDCPatternConverter>(specs, LOG4CXX_STR("x"));
+   insertSpecifier<NDCPatternConverter>(specs, LOG4CXX_STR("ndc"));
 
-  RULES_PUT("throwable", ThrowableInformationPatternConverter);
-}
+   insertSpecifier<PropertiesPatternConverter>(specs, LOG4CXX_STR("X"));
+   insertSpecifier<PropertiesPatternConverter>(specs, LOG4CXX_STR("properties"));
 
-const log4cxx::pattern::PatternMap& PatternLayout::getFormatSpecifiers() {
-   static PatternLayoutMap map;
-   return map;
+   insertSpecifier<ThrowableInformationPatternConverter>(specs, LOG4CXX_STR("throwable"));
+   return specs;
 }
 
 

Modified: logging/log4cxx/trunk/src/main/cpp/timebasedrollingpolicy.cpp
URL: http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/cpp/timebasedrollingpolicy.cpp?rev=592567&r1=592566&r2=592567&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/cpp/timebasedrollingpolicy.cpp (original)
+++ logging/log4cxx/trunk/src/main/cpp/timebasedrollingpolicy.cpp Tue Nov  6 13:50:01 2007
@@ -76,20 +76,15 @@
 }
 
 
-const log4cxx::pattern::PatternMap& TimeBasedRollingPolicy::getFormatSpecifiers() const {
-  static FileNamePatternMap specs;
+using namespace log4cxx::pattern;
+
+PatternMap TimeBasedRollingPolicy::getFormatSpecifiers() const {
+  PatternMap specs;
+  insertSpecifier<FileDatePatternConverter>(specs, LOG4CXX_STR("d"));
+  insertSpecifier<FileDatePatternConverter>(specs, LOG4CXX_STR("date"));
   return specs;
 }
 
-#define RULES_PUT(spec, cls) \
-insert(value_type(LOG4CXX_STR(spec), cls ::newInstance))
-
-
-
-TimeBasedRollingPolicy::FileNamePatternMap::FileNamePatternMap() {
-  RULES_PUT("d", FileDatePatternConverter);
-  RULES_PUT("date", FileDatePatternConverter);
-}
 
 /**
  * {@inheritDoc}

Modified: logging/log4cxx/trunk/src/main/include/log4cxx/pattern/patternparser.h
URL: http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/include/log4cxx/pattern/patternparser.h?rev=592567&r1=592566&r2=592567&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/include/log4cxx/pattern/patternparser.h (original)
+++ logging/log4cxx/trunk/src/main/include/log4cxx/pattern/patternparser.h Tue Nov  6 13:50:01 2007
@@ -31,6 +31,11 @@
 typedef PatternConverterPtr (*PatternConstructor)(const std::vector<LogString>& options);
 typedef std::map<LogString, PatternConstructor> PatternMap;
 
+template<class Converter>
+void insertSpecifier(PatternMap& map, const LogString& specifier) {
+    map.insert(PatternMap::value_type(specifier, Converter::newInstance));
+} 
+
 
 // Contributors:   Nelson Minar <(n...@monkey.org>
 //                 Igor E. Poteryaev <ja...@mail.ru>

Modified: logging/log4cxx/trunk/src/main/include/log4cxx/patternlayout.h
URL: http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/include/log4cxx/patternlayout.h?rev=592567&r1=592566&r2=592567&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/include/log4cxx/patternlayout.h (original)
+++ logging/log4cxx/trunk/src/main/include/log4cxx/patternlayout.h Tue Nov  6 13:50:01 2007
@@ -389,13 +389,7 @@
                      const spi::LoggingEventPtr& event, log4cxx::helpers::Pool& pool) const;
 
         protected:
-                virtual const log4cxx::pattern::PatternMap& getFormatSpecifiers();
-
-        private:
-                class PatternLayoutMap : public log4cxx::pattern::PatternMap {
-                public:
-                    PatternLayoutMap();
-                };
+                virtual log4cxx::pattern::PatternMap getFormatSpecifiers();
         };
 }  // namespace log4cxx
 

Modified: logging/log4cxx/trunk/src/main/include/log4cxx/provisionnode.h
URL: http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/include/log4cxx/provisionnode.h?rev=592567&r1=592566&r2=592567&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/include/log4cxx/provisionnode.h (original)
+++ logging/log4cxx/trunk/src/main/include/log4cxx/provisionnode.h Tue Nov  6 13:50:01 2007
@@ -27,14 +27,9 @@
     class Logger;
     typedef helpers::ObjectPtrT<Logger> LoggerPtr;
 
-    class ProvisionNode : public std::vector<LoggerPtr>
-    {
-    public:
-      ProvisionNode(const LoggerPtr& logger)
-      {
-         push_back(logger);
-      }
-    }; // class LogManager
+    
+    typedef std::vector<LoggerPtr> ProvisionNode;
+
 }  // namespace log4cxx
 
 #endif //_LOG4CXX_PROVISION_NODE_H

Modified: logging/log4cxx/trunk/src/main/include/log4cxx/rolling/fixedwindowrollingpolicy.h
URL: http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/include/log4cxx/rolling/fixedwindowrollingpolicy.h?rev=592567&r1=592566&r2=592567&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/include/log4cxx/rolling/fixedwindowrollingpolicy.h (original)
+++ logging/log4cxx/trunk/src/main/include/log4cxx/rolling/fixedwindowrollingpolicy.h Tue Nov  6 13:50:01 2007
@@ -128,13 +128,7 @@
 virtual RolloverDescriptionPtr rollover(const LogString& activeFile, log4cxx::helpers::Pool& p);
 
 protected:
-             const log4cxx::pattern::PatternMap& getFormatSpecifiers() const;
-
-private:
-             class FileNamePatternMap : public log4cxx::pattern::PatternMap {
-             public:
-                  FileNamePatternMap();
-             };
+             log4cxx::pattern::PatternMap getFormatSpecifiers() const;
 
         };
 

Modified: logging/log4cxx/trunk/src/main/include/log4cxx/rolling/rollingpolicybase.h
URL: http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/include/log4cxx/rolling/rollingpolicybase.h?rev=592567&r1=592566&r2=592567&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/include/log4cxx/rolling/rollingpolicybase.h (original)
+++ logging/log4cxx/trunk/src/main/include/log4cxx/rolling/rollingpolicybase.h Tue Nov  6 13:50:01 2007
@@ -70,7 +70,7 @@
            * {@inheritDoc}
            */
           virtual void activateOptions(log4cxx::helpers::Pool& p) = 0;
-          virtual const log4cxx::pattern::PatternMap& getFormatSpecifiers() const = 0;
+          virtual log4cxx::pattern::PatternMap getFormatSpecifiers() const = 0;
 
           virtual void setOption(const LogString& option,
                const LogString& value);

Modified: logging/log4cxx/trunk/src/main/include/log4cxx/rolling/timebasedrollingpolicy.h
URL: http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/include/log4cxx/rolling/timebasedrollingpolicy.h?rev=592567&r1=592566&r2=592567&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/include/log4cxx/rolling/timebasedrollingpolicy.h (original)
+++ logging/log4cxx/trunk/src/main/include/log4cxx/rolling/timebasedrollingpolicy.h Tue Nov  6 13:50:01 2007
@@ -210,13 +210,7 @@
   size_t fileLength);
 
   protected:
-               const log4cxx::pattern::PatternMap& getFormatSpecifiers() const;
-
-  private:
-               class FileNamePatternMap : public log4cxx::pattern::PatternMap {
-               public:
-                    FileNamePatternMap();
-               };
+               log4cxx::pattern::PatternMap getFormatSpecifiers() const;
 
         };
 

Modified: logging/log4cxx/trunk/src/main/include/log4cxx/spi/location/locationinfo.h
URL: http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/include/log4cxx/spi/location/locationinfo.h?rev=592567&r1=592566&r2=592567&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/include/log4cxx/spi/location/locationinfo.h (original)
+++ logging/log4cxx/trunk/src/main/include/log4cxx/spi/location/locationinfo.h Tue Nov  6 13:50:01 2007
@@ -108,23 +108,6 @@
 
 
       };
-
-
-      class LOG4CXX_EXPORT LocationFlush : public LocationInfo {
-        public:
-       /**
-        *   Constructor.
-        *   @remarks Used by LOG4CXX_LOCATION_FLUSH to generate
-        *       location info for current code site and
-        *       flush a logging stream
-        */
-        LocationFlush( const char * const fileName1,
-                      const char * const methodName1,
-                      int lineNumber1 )
-             : LocationInfo( fileName1, methodName1, lineNumber1 ) {
-        }
-
-      };
   }
 }
 
@@ -142,9 +125,6 @@
 #define __LOG4CXX_FUNC__ ""
 #endif
       #define LOG4CXX_LOCATION ::log4cxx::spi::LocationInfo(__FILE__, \
-           __LOG4CXX_FUNC__,                                                         \
-           __LINE__)
-      #define LOG4CXX_LOCATION_FLUSH ::log4cxx::spi::LocationFlush(__FILE__, \
            __LOG4CXX_FUNC__,                                                         \
            __LINE__)
   #endif

Modified: logging/log4cxx/trunk/src/main/include/log4cxx/stream.h
URL: http://svn.apache.org/viewvc/logging/log4cxx/trunk/src/main/include/log4cxx/stream.h?rev=592567&r1=592566&r2=592567&view=diff
==============================================================================
--- logging/log4cxx/trunk/src/main/include/log4cxx/stream.h (original)
+++ logging/log4cxx/trunk/src/main/include/log4cxx/stream.h Tue Nov  6 13:50:01 2007
@@ -164,11 +164,6 @@
 
 LOG4CXX_EXPORT ::log4cxx::logstream& operator<<(
    ::log4cxx::logstream& lhs,
-   const ::log4cxx::spi::LocationFlush& rhs);
-
-
-LOG4CXX_EXPORT ::log4cxx::logstream& operator<<(
-   ::log4cxx::logstream& lhs,
    const ::log4cxx::LevelPtr& rhs);