You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by ma...@apache.org on 2014/06/22 19:51:06 UTC

svn commit: r1604622 - in /logging/log4j/log4j2/trunk/log4j-core: ./ src/main/java/org/apache/logging/log4j/core/appender/db/ src/main/java/org/apache/logging/log4j/core/config/plugins/processor/

Author: mattsicker
Date: Sun Jun 22 17:51:06 2014
New Revision: 1604622

URL: http://svn.apache.org/r1604622
Log:
Updata javadoc link.

Added:
    logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/processor/ShadedResourceTransformer.java
Modified:
    logging/log4j/log4j2/trunk/log4j-core/pom.xml
    logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/AbstractDatabaseAppender.java
    logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/processor/PluginCache.java

Modified: logging/log4j/log4j2/trunk/log4j-core/pom.xml
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/pom.xml?rev=1604622&r1=1604621&r2=1604622&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/log4j-core/pom.xml (original)
+++ logging/log4j/log4j2/trunk/log4j-core/pom.xml Sun Jun 22 17:51:06 2014
@@ -213,6 +213,12 @@
       <artifactId>commons-codec</artifactId>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.apache.maven.plugins</groupId>
+      <artifactId>maven-shade-plugin</artifactId>
+      <version>2.3</version>
+      <type>jar</type>
+    </dependency>
   </dependencies>
   <build>
     <plugins>

Modified: logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/AbstractDatabaseAppender.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/AbstractDatabaseAppender.java?rev=1604622&r1=1604621&r2=1604622&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/AbstractDatabaseAppender.java (original)
+++ logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/AbstractDatabaseAppender.java Sun Jun 22 17:51:06 2014
@@ -31,7 +31,7 @@ import org.apache.logging.log4j.core.app
  * An abstract Appender for writing events to a database of some type, be it relational or NoSQL. All database appenders
  * should inherit from this base appender. Three implementations are currently provided:
  * {@link org.apache.logging.log4j.core.appender.db.jdbc JDBC}, {@link org.apache.logging.log4j.core.appender.db.jpa
- * JPA}, and {@link org.apache.logging.log4j.core.appender.db.nosql NoSQL}.
+ * JPA}, and {@link org.apache.logging.log4j.nosql.appender NoSQL}.
  *
  * @param <T> Specifies which type of {@link AbstractDatabaseManager} this Appender requires.
  */

Modified: logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/processor/PluginCache.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/processor/PluginCache.java?rev=1604622&r1=1604621&r2=1604622&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/processor/PluginCache.java (original)
+++ logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/processor/PluginCache.java Sun Jun 22 17:51:06 2014
@@ -22,6 +22,7 @@ import java.io.BufferedOutputStream;
 import java.io.DataInputStream;
 import java.io.DataOutputStream;
 import java.io.IOException;
+import java.io.InputStream;
 import java.io.OutputStream;
 import java.net.URL;
 import java.util.Enumeration;
@@ -29,6 +30,7 @@ import java.util.Map;
 import java.util.concurrent.ConcurrentMap;
 
 import org.apache.logging.log4j.core.config.plugins.util.PluginRegistry;
+import org.apache.logging.log4j.core.util.Closer;
 
 /**
  *
@@ -84,27 +86,32 @@ public class PluginCache {
         pluginCategories.clear();
         while (resources.hasMoreElements()) {
             final URL url = resources.nextElement();
-            final DataInputStream in = new DataInputStream(new BufferedInputStream(url.openStream()));
-            try {
-                final int count = in.readInt();
-                for (int i = 0; i < count; i++) {
-                    final String category = in.readUTF();
-                    final ConcurrentMap<String, PluginEntry> m = pluginCategories.getCategory(category);
-                    final int entries = in.readInt();
-                    for (int j = 0; j < entries; j++) {
-                        final PluginEntry entry = new PluginEntry();
-                        entry.setKey(in.readUTF());
-                        entry.setClassName(in.readUTF());
-                        entry.setName(in.readUTF());
-                        entry.setPrintable(in.readBoolean());
-                        entry.setDefer(in.readBoolean());
-                        entry.setCategory(category);
-                        m.putIfAbsent(entry.getKey(), entry);
-                    }
+            loadCacheFile(url.openStream());
+        }
+    }
+
+    public void loadCacheFile(final InputStream is) throws IOException {
+        final DataInputStream in = new DataInputStream(new BufferedInputStream(is));
+        try {
+            final int count = in.readInt();
+            for (int i = 0; i < count; i++) {
+                final String category = in.readUTF();
+                final ConcurrentMap<String, PluginEntry> m = pluginCategories.getCategory(category);
+                final int entries = in.readInt();
+                for (int j = 0; j < entries; j++) {
+                    final PluginEntry entry = new PluginEntry();
+                    entry.setKey(in.readUTF());
+                    entry.setClassName(in.readUTF());
+                    entry.setName(in.readUTF());
+                    entry.setPrintable(in.readBoolean());
+                    entry.setDefer(in.readBoolean());
+                    entry.setCategory(category);
+                    m.putIfAbsent(entry.getKey(), entry);
                 }
-            } finally {
-                in.close();
             }
+        } finally {
+            Closer.closeSilent(in);
+            Closer.closeSilent(is);
         }
     }
 

Added: logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/processor/ShadedResourceTransformer.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/processor/ShadedResourceTransformer.java?rev=1604622&view=auto
==============================================================================
--- logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/processor/ShadedResourceTransformer.java (added)
+++ logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/processor/ShadedResourceTransformer.java Sun Jun 22 17:51:06 2014
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.logging.log4j.core.config.plugins.processor;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.List;
+import java.util.jar.JarOutputStream;
+import org.apache.maven.plugins.shade.relocation.Relocator;
+import org.apache.maven.plugins.shade.resource.ResourceTransformer;
+
+/**
+ */
+public final class ShadedResourceTransformer implements ResourceTransformer {
+
+    private final PluginCache pluginCache = new PluginCache();
+
+    @Override
+    public boolean canTransformResource(final String resource) {
+        return resource.startsWith(PluginProcessor.PLUGIN_CACHE_FILE);
+    }
+
+    @Override
+    public void processResource(final String resource, final InputStream in, final List<Relocator> list) throws IOException {
+        assert PluginProcessor.PLUGIN_CACHE_FILE.equals(resource);
+        pluginCache.loadCacheFile(in);
+    }
+
+    @Override
+    public boolean hasTransformedResource() {
+        return 0 < pluginCache.size();
+    }
+
+    @Override
+    public void modifyOutputStream(final JarOutputStream stream) throws IOException {
+        pluginCache.writeCache(stream);
+    }
+
+}



Fwd: svn commit: r1604622 - in /logging/log4j/log4j2/trunk/log4j-core: ./ src/main/java/org/apache/logging/log4j/core/appender/db/ src/main/java/org/apache/logging/log4j/core/config/plugins/processor/

Posted by Matt Sicker <bo...@gmail.com>.
Mistaken files added. Reverting.

---------- Forwarded message ----------
From: <ma...@apache.org>
Date: 22 June 2014 12:51
Subject: svn commit: r1604622 - in /logging/log4j/log4j2/trunk/log4j-core:
./ src/main/java/org/apache/logging/log4j/core/appender/db/
src/main/java/org/apache/logging/log4j/core/config/plugins/processor/
To: commits@logging.apache.org


Author: mattsicker
Date: Sun Jun 22 17:51:06 2014
New Revision: 1604622

URL: http://svn.apache.org/r1604622
Log:
Updata javadoc link.

Added:

logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/processor/ShadedResourceTransformer.java
Modified:
    logging/log4j/log4j2/trunk/log4j-core/pom.xml

logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/AbstractDatabaseAppender.java

logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/processor/PluginCache.java

Modified: logging/log4j/log4j2/trunk/log4j-core/pom.xml
URL:
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/pom.xml?rev=1604622&r1=1604621&r2=1604622&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/log4j-core/pom.xml (original)
+++ logging/log4j/log4j2/trunk/log4j-core/pom.xml Sun Jun 22 17:51:06 2014
@@ -213,6 +213,12 @@
       <artifactId>commons-codec</artifactId>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.apache.maven.plugins</groupId>
+      <artifactId>maven-shade-plugin</artifactId>
+      <version>2.3</version>
+      <type>jar</type>
+    </dependency>
   </dependencies>
   <build>
     <plugins>

Modified:
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/AbstractDatabaseAppender.java
URL:
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/AbstractDatabaseAppender.java?rev=1604622&r1=1604621&r2=1604622&view=diff
==============================================================================
---
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/AbstractDatabaseAppender.java
(original)
+++
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/db/AbstractDatabaseAppender.java
Sun Jun 22 17:51:06 2014
@@ -31,7 +31,7 @@ import org.apache.logging.log4j.core.app
  * An abstract Appender for writing events to a database of some type, be
it relational or NoSQL. All database appenders
  * should inherit from this base appender. Three implementations are
currently provided:
  * {@link org.apache.logging.log4j.core.appender.db.jdbc JDBC}, {@link
org.apache.logging.log4j.core.appender.db.jpa
- * JPA}, and {@link org.apache.logging.log4j.core.appender.db.nosql NoSQL}.
+ * JPA}, and {@link org.apache.logging.log4j.nosql.appender NoSQL}.
  *
  * @param <T> Specifies which type of {@link AbstractDatabaseManager} this
Appender requires.
  */

Modified:
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/processor/PluginCache.java
URL:
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/processor/PluginCache.java?rev=1604622&r1=1604621&r2=1604622&view=diff
==============================================================================
---
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/processor/PluginCache.java
(original)
+++
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/processor/PluginCache.java
Sun Jun 22 17:51:06 2014
@@ -22,6 +22,7 @@ import java.io.BufferedOutputStream;
 import java.io.DataInputStream;
 import java.io.DataOutputStream;
 import java.io.IOException;
+import java.io.InputStream;
 import java.io.OutputStream;
 import java.net.URL;
 import java.util.Enumeration;
@@ -29,6 +30,7 @@ import java.util.Map;
 import java.util.concurrent.ConcurrentMap;

 import org.apache.logging.log4j.core.config.plugins.util.PluginRegistry;
+import org.apache.logging.log4j.core.util.Closer;

 /**
  *
@@ -84,27 +86,32 @@ public class PluginCache {
         pluginCategories.clear();
         while (resources.hasMoreElements()) {
             final URL url = resources.nextElement();
-            final DataInputStream in = new DataInputStream(new
BufferedInputStream(url.openStream()));
-            try {
-                final int count = in.readInt();
-                for (int i = 0; i < count; i++) {
-                    final String category = in.readUTF();
-                    final ConcurrentMap<String, PluginEntry> m =
pluginCategories.getCategory(category);
-                    final int entries = in.readInt();
-                    for (int j = 0; j < entries; j++) {
-                        final PluginEntry entry = new PluginEntry();
-                        entry.setKey(in.readUTF());
-                        entry.setClassName(in.readUTF());
-                        entry.setName(in.readUTF());
-                        entry.setPrintable(in.readBoolean());
-                        entry.setDefer(in.readBoolean());
-                        entry.setCategory(category);
-                        m.putIfAbsent(entry.getKey(), entry);
-                    }
+            loadCacheFile(url.openStream());
+        }
+    }
+
+    public void loadCacheFile(final InputStream is) throws IOException {
+        final DataInputStream in = new DataInputStream(new
BufferedInputStream(is));
+        try {
+            final int count = in.readInt();
+            for (int i = 0; i < count; i++) {
+                final String category = in.readUTF();
+                final ConcurrentMap<String, PluginEntry> m =
pluginCategories.getCategory(category);
+                final int entries = in.readInt();
+                for (int j = 0; j < entries; j++) {
+                    final PluginEntry entry = new PluginEntry();
+                    entry.setKey(in.readUTF());
+                    entry.setClassName(in.readUTF());
+                    entry.setName(in.readUTF());
+                    entry.setPrintable(in.readBoolean());
+                    entry.setDefer(in.readBoolean());
+                    entry.setCategory(category);
+                    m.putIfAbsent(entry.getKey(), entry);
                 }
-            } finally {
-                in.close();
             }
+        } finally {
+            Closer.closeSilent(in);
+            Closer.closeSilent(is);
         }
     }


Added:
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/processor/ShadedResourceTransformer.java
URL:
http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/processor/ShadedResourceTransformer.java?rev=1604622&view=auto
==============================================================================
---
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/processor/ShadedResourceTransformer.java
(added)
+++
logging/log4j/log4j2/trunk/log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/processor/ShadedResourceTransformer.java
Sun Jun 22 17:51:06 2014
@@ -0,0 +1,54 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.logging.log4j.core.config.plugins.processor;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.List;
+import java.util.jar.JarOutputStream;
+import org.apache.maven.plugins.shade.relocation.Relocator;
+import org.apache.maven.plugins.shade.resource.ResourceTransformer;
+
+/**
+ */
+public final class ShadedResourceTransformer implements
ResourceTransformer {
+
+    private final PluginCache pluginCache = new PluginCache();
+
+    @Override
+    public boolean canTransformResource(final String resource) {
+        return resource.startsWith(PluginProcessor.PLUGIN_CACHE_FILE);
+    }
+
+    @Override
+    public void processResource(final String resource, final InputStream
in, final List<Relocator> list) throws IOException {
+        assert PluginProcessor.PLUGIN_CACHE_FILE.equals(resource);
+        pluginCache.loadCacheFile(in);
+    }
+
+    @Override
+    public boolean hasTransformedResource() {
+        return 0 < pluginCache.size();
+    }
+
+    @Override
+    public void modifyOutputStream(final JarOutputStream stream) throws
IOException {
+        pluginCache.writeCache(stream);
+    }
+
+}





-- 
Matt Sicker <bo...@gmail.com>