You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@curator.apache.org by ra...@apache.org on 2014/05/28 19:33:52 UTC

[2/8] git commit: more work on CLI - added airlift logging and logging config

more work on CLI - added airlift logging and logging config


Project: http://git-wip-us.apache.org/repos/asf/curator/repo
Commit: http://git-wip-us.apache.org/repos/asf/curator/commit/1927c332
Tree: http://git-wip-us.apache.org/repos/asf/curator/tree/1927c332
Diff: http://git-wip-us.apache.org/repos/asf/curator/diff/1927c332

Branch: refs/heads/curator-rpc
Commit: 1927c332bb3a137b285edc25e48798ac4fa68c7e
Parents: e11db6d
Author: randgalt <ra...@apache.org>
Authored: Tue May 27 18:11:03 2014 -0500
Committer: randgalt <ra...@apache.org>
Committed: Tue May 27 18:11:03 2014 -0500

----------------------------------------------------------------------
 curator-x-rpc/pom.xml                           | 33 ++++++++++++++++
 .../curator/x/rpc/CuratorProjectionServer.java  | 41 +++++++++++++++-----
 pom.xml                                         | 11 ++++++
 3 files changed, 76 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/curator/blob/1927c332/curator-x-rpc/pom.xml
----------------------------------------------------------------------
diff --git a/curator-x-rpc/pom.xml b/curator-x-rpc/pom.xml
index cf2442c..f27a383 100644
--- a/curator-x-rpc/pom.xml
+++ b/curator-x-rpc/pom.xml
@@ -14,6 +14,20 @@
         <dependency>
             <groupId>org.apache.curator</groupId>
             <artifactId>curator-recipes</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>log4j-over-slf4j</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>slf4j-log4j12</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>log4j</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
 
         <dependency>
@@ -22,8 +36,27 @@
         </dependency>
 
         <dependency>
+            <groupId>io.airlift</groupId>
+            <artifactId>log-manager</artifactId>
+        </dependency>
+
+        <dependency>
             <groupId>org.apache.curator</groupId>
             <artifactId>curator-test</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>log4j-over-slf4j</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>slf4j-log4j12</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>log4j</groupId>
+                    <artifactId>log4j</artifactId>
+                </exclusion>
+            </exclusions>
             <scope>test</scope>
         </dependency>
     </dependencies>

http://git-wip-us.apache.org/repos/asf/curator/blob/1927c332/curator-x-rpc/src/main/java/org/apache/curator/x/rpc/CuratorProjectionServer.java
----------------------------------------------------------------------
diff --git a/curator-x-rpc/src/main/java/org/apache/curator/x/rpc/CuratorProjectionServer.java b/curator-x-rpc/src/main/java/org/apache/curator/x/rpc/CuratorProjectionServer.java
index d91a52d..e2de3f4 100644
--- a/curator-x-rpc/src/main/java/org/apache/curator/x/rpc/CuratorProjectionServer.java
+++ b/curator-x-rpc/src/main/java/org/apache/curator/x/rpc/CuratorProjectionServer.java
@@ -28,6 +28,8 @@ import com.google.common.collect.Maps;
 import io.airlift.configuration.ConfigurationFactory;
 import io.airlift.configuration.ConfigurationLoader;
 import io.airlift.configuration.ConfigurationMetadata;
+import io.airlift.log.Logging;
+import io.airlift.log.LoggingConfiguration;
 import io.airlift.units.DataSize;
 import io.airlift.units.Duration;
 import org.apache.curator.x.rpc.idl.event.EventService;
@@ -76,6 +78,8 @@ public class CuratorProjectionServer
         }
 
         ConfigurationFactory configurationFactory = new ConfigurationFactory(options);
+        initLogging(configurationFactory);
+
         Configuration configuration = configurationFactory.build(Configuration.class);
 
         final CuratorProjectionServer server = new CuratorProjectionServer(configuration);
@@ -93,6 +97,12 @@ public class CuratorProjectionServer
         Runtime.getRuntime().addShutdownHook(hook);
     }
 
+    private static void initLogging(ConfigurationFactory configurationFactory) throws IOException
+    {
+        LoggingConfiguration loggingConfiguration = configurationFactory.build(LoggingConfiguration.class);
+        Logging.initialize().configure(loggingConfiguration);
+    }
+
     public CuratorProjectionServer(Configuration configuration)
     {
         this.configuration = configuration;
@@ -135,17 +145,15 @@ public class CuratorProjectionServer
         System.out.println("\t<field value> ...   list of values that would be in the JSON configuration file");
         System.out.println();
 
+        Map<String, String> valuesMap = Maps.newTreeMap();
+
+        buildMetaData(valuesMap, ConfigurationMetadata.getConfigurationMetadata(Configuration.class));
+        buildMetaData(valuesMap, ConfigurationMetadata.getConfigurationMetadata(LoggingConfiguration.class));
+
         System.out.println("Values:");
-        ConfigurationMetadata<Configuration> metadata = ConfigurationMetadata.getConfigurationMetadata(Configuration.class);
-        for ( ConfigurationMetadata.AttributeMetadata attributeMetadata : metadata.getAttributes().values() )
+        for ( String s : valuesMap.values() )
         {
-            ConfigurationMetadata.InjectionPointMetaData injectionPoint = attributeMetadata.getInjectionPoint();
-            System.out.println("\t" + injectionPoint.getProperty() + ": " + attributeMetadata.getGetter().getReturnType().getSimpleName());
-            if ( attributeMetadata.getDescription() != null )
-            {
-                System.out.println("\t\t" + attributeMetadata.getDescription());
-            }
-            System.out.println();
+            System.out.println(s);
         }
 
         System.out.println("Special Types Examples:");
@@ -160,6 +168,21 @@ public class CuratorProjectionServer
         System.out.println();
     }
 
+    private static void buildMetaData(Map<String, String> valuesMap, ConfigurationMetadata<?> metadata)
+    {
+        for ( ConfigurationMetadata.AttributeMetadata attributeMetadata : metadata.getAttributes().values() )
+        {
+            int index = 0;
+            ConfigurationMetadata.InjectionPointMetaData injectionPoint = attributeMetadata.getInjectionPoint();
+            valuesMap.put(injectionPoint.getProperty() + index++, "\t" + injectionPoint.getProperty() + ": " + attributeMetadata.getGetter().getReturnType().getSimpleName());
+            if ( attributeMetadata.getDescription() != null )
+            {
+                valuesMap.put(injectionPoint.getProperty() + index++, "\t\t" + attributeMetadata.getDescription());
+            }
+            valuesMap.put(injectionPoint.getProperty() + index, "");
+        }
+    }
+
     private static Map<String, String> buildOptions(String[] args) throws IOException
     {
         Map<String, String> options = Maps.newHashMap();

http://git-wip-us.apache.org/repos/asf/curator/blob/1927c332/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 51f050a..c028839 100644
--- a/pom.xml
+++ b/pom.xml
@@ -85,6 +85,7 @@
         <guava-version>16.0.1</guava-version>
         <testng-version>6.8.8</testng-version>
         <swift-version>0.12.0</swift-version>
+        <airlift-version>0.88</airlift-version>
 
         <!-- OSGi Properties -->
         <osgi.export.package />
@@ -400,6 +401,10 @@
                         <groupId>junit</groupId>
                         <artifactId>junit</artifactId>
                     </exclusion>
+                    <exclusion>
+                        <groupId>org.slf4j</groupId>
+                        <artifactId>slf4j-log4j12</artifactId>
+                    </exclusion>
                 </exclusions>
             </dependency>
 
@@ -426,6 +431,12 @@
                 <artifactId>swift-service</artifactId>
                 <version>${swift-version}</version>
             </dependency>
+
+            <dependency>
+                <groupId>io.airlift</groupId>
+                <artifactId>log-manager</artifactId>
+                <version>${airlift-version}</version>
+            </dependency>
         </dependencies>
     </dependencyManagement>