You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by mi...@apache.org on 2016/08/30 09:33:28 UTC
[01/26] logging-log4j2 git commit: LOG4J2-1528 Serialize
configuration into a log4j2.xml file
Repository: logging-log4j2
Updated Branches:
refs/heads/master ef321c140 -> eb82f77c0
LOG4J2-1528 Serialize configuration into a log4j2.xml file
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/446fb87a
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/446fb87a
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/446fb87a
Branch: refs/heads/master
Commit: 446fb87af4ccaab777280730fde921948eb4425f
Parents: 0728abc
Author: Mikael St�ldal <mi...@staldal.nu>
Authored: Wed Aug 17 22:20:44 2016 +0200
Committer: Mikael St�ldal <mi...@staldal.nu>
Committed: Wed Aug 17 22:20:44 2016 +0200
----------------------------------------------------------------------
.../builder/api/ConfigurationBuilder.java | 17 +++
.../impl/DefaultConfigurationBuilder.java | 113 +++++++++++++++++++
2 files changed, 130 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/446fb87a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/api/ConfigurationBuilder.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/api/ConfigurationBuilder.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/api/ConfigurationBuilder.java
index 1fbfa01..2e7ef96 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/api/ConfigurationBuilder.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/api/ConfigurationBuilder.java
@@ -22,6 +22,9 @@ import org.apache.logging.log4j.core.config.Configuration;
import org.apache.logging.log4j.core.config.ConfigurationSource;
import org.apache.logging.log4j.core.util.Builder;
+import java.io.IOException;
+import java.io.OutputStream;
+
/**
* Interface for building logging configurations.
* @param <T> The Configuration type created by this builder.
@@ -405,4 +408,18 @@ public interface ConfigurationBuilder<T extends Configuration> extends Builder<T
* @return The constructed Configuration.
*/
T build(boolean initialize);
+
+ /**
+ * Write an XML configuration file from this builder.
+ *
+ * @param output OutputStream to write to, will not be closed
+ */
+ void writeXmlConfigurationFile(OutputStream output) throws IOException;
+
+ /**
+ * Write an XML configuration from this builder.
+ *
+ * @return XML configuration
+ */
+ String writeXmlConfiguration();
}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/446fb87a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
index 38b4fdb..6666486 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
@@ -16,8 +16,12 @@
*/
package org.apache.logging.log4j.core.config.builder.impl;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.StringWriter;
import java.lang.reflect.Constructor;
import java.util.List;
+import java.util.Map;
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.core.Filter;
@@ -38,6 +42,10 @@ import org.apache.logging.log4j.core.config.builder.api.RootLoggerComponentBuild
import org.apache.logging.log4j.core.config.builder.api.ScriptComponentBuilder;
import org.apache.logging.log4j.core.config.builder.api.ScriptFileComponentBuilder;
+import javax.xml.stream.XMLOutputFactory;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+
/**
* @param <T> The BuiltConfiguration type.
* @since 2.4
@@ -188,6 +196,111 @@ public class DefaultConfigurationBuilder<T extends BuiltConfiguration> implement
}
@Override
+ public void writeXmlConfigurationFile(OutputStream output) throws IOException {
+ try {
+ XMLStreamWriter xmlWriter = XMLOutputFactory.newInstance().createXMLStreamWriter(output);
+ writeConfigurationXml(xmlWriter);
+ xmlWriter.close();
+ } catch (XMLStreamException e) {
+ if (e.getNestedException() instanceof IOException) {
+ throw (IOException)e.getNestedException();
+ } else {
+ throw new RuntimeException(e);
+ }
+ }
+ }
+
+ @Override
+ public String writeXmlConfiguration() {
+ StringWriter sw = new StringWriter();
+ try {
+ XMLStreamWriter xmlWriter = XMLOutputFactory.newInstance().createXMLStreamWriter(sw);
+ writeConfigurationXml(xmlWriter);
+ xmlWriter.close();
+ } catch (XMLStreamException e) {
+ throw new RuntimeException(e);
+ }
+ return sw.toString();
+ }
+
+ private void writeConfigurationXml(XMLStreamWriter xmlWriter) throws XMLStreamException {
+ xmlWriter.writeStartDocument();
+ xmlWriter.writeCharacters(System.lineSeparator());
+
+ xmlWriter.writeStartElement("Configuration");
+ if (name != null) {
+ xmlWriter.writeAttribute("name", name);
+ }
+ if (level != null) {
+ xmlWriter.writeAttribute("status", level.name());
+ }
+ if (verbosity != null) {
+ xmlWriter.writeAttribute("verbose", verbosity);
+ }
+ if (destination != null) {
+ xmlWriter.writeAttribute("dest", destination);
+ }
+ if (packages != null) {
+ xmlWriter.writeAttribute("packages", packages);
+ }
+ if (shutdownFlag != null) {
+ xmlWriter.writeAttribute("shutdownHook", shutdownFlag);
+ }
+ if (advertiser != null) {
+ xmlWriter.writeAttribute("advertiser", advertiser);
+ }
+ if (monitorInterval > 0) {
+ xmlWriter.writeAttribute("monitorInterval", String.valueOf(monitorInterval));
+ }
+
+ xmlWriter.writeCharacters(System.lineSeparator());
+
+ for (Component component : root.getComponents()) {
+ if (!component.getAttributes().isEmpty() || !component.getComponents().isEmpty() || component.getValue() != null) {
+ writeComponentXml(xmlWriter, component, 1);
+ }
+ }
+
+ xmlWriter.writeEndElement(); // "Configuration"
+
+ xmlWriter.writeEndDocument();
+ }
+
+ private void writeComponentXml(XMLStreamWriter xmlWriter, Component component, int nesting) throws XMLStreamException {
+ if (!component.getComponents().isEmpty() || component.getValue() != null) {
+ indentXml(xmlWriter, nesting);
+ xmlWriter.writeStartElement(component.getPluginType());
+ writeAttributesXml(xmlWriter, component);
+ xmlWriter.writeCharacters(System.lineSeparator());
+ for (Component subComponent : component.getComponents()) {
+ writeComponentXml(xmlWriter, subComponent, nesting + 1);
+ }
+ if (component.getValue() != null) {
+ xmlWriter.writeCharacters(component.getValue());
+ }
+ indentXml(xmlWriter, nesting);
+ xmlWriter.writeEndElement();
+ } else {
+ indentXml(xmlWriter, nesting);
+ xmlWriter.writeEmptyElement(component.getPluginType());
+ writeAttributesXml(xmlWriter, component);
+ }
+ xmlWriter.writeCharacters(System.lineSeparator());
+ }
+
+ private void indentXml(XMLStreamWriter xmlWriter, int nesting) throws XMLStreamException {
+ for (int i = 0; i < nesting; i++) {
+ xmlWriter.writeCharacters("\t");
+ }
+ }
+
+ private void writeAttributesXml(XMLStreamWriter xmlWriter, Component component) throws XMLStreamException {
+ for (Map.Entry<String, String> attribute : component.getAttributes().entrySet()) {
+ xmlWriter.writeAttribute(attribute.getKey(), attribute.getValue());
+ }
+ }
+
+ @Override
public ScriptComponentBuilder newScript(final String name, final String language, final String text) {
return new DefaultScriptComponentBuilder(this, name, language, text);
}
[12/26] logging-log4j2 git commit: Avoid depending on commons-lang
Posted by mi...@apache.org.
Avoid depending on commons-lang
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/5f361e01
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/5f361e01
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/5f361e01
Branch: refs/heads/master
Commit: 5f361e01213b97d5cd0014ca5ab926bb5a270f32
Parents: 871a097
Author: Mikael St�ldal <mi...@staldal.nu>
Authored: Sun Aug 21 17:02:02 2016 +0200
Committer: Mikael St�ldal <mi...@staldal.nu>
Committed: Sun Aug 21 17:02:02 2016 +0200
----------------------------------------------------------------------
log4j-1.2-api/pom.xml | 4 ----
.../src/main/java/org/apache/log4j/layout/Log4j1XmlLayout.java | 4 ++--
.../java/org/apache/log4j/pattern/Log4j1NdcPatternConverter.java | 4 ++--
3 files changed, 4 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/5f361e01/log4j-1.2-api/pom.xml
----------------------------------------------------------------------
diff --git a/log4j-1.2-api/pom.xml b/log4j-1.2-api/pom.xml
index 76b1937..779f050 100644
--- a/log4j-1.2-api/pom.xml
+++ b/log4j-1.2-api/pom.xml
@@ -54,10 +54,6 @@
<artifactId>log4j-api</artifactId>
</dependency>
<dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-lang3</artifactId>
- </dependency>
- <dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<type>test-jar</type>
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/5f361e01/log4j-1.2-api/src/main/java/org/apache/log4j/layout/Log4j1XmlLayout.java
----------------------------------------------------------------------
diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/layout/Log4j1XmlLayout.java b/log4j-1.2-api/src/main/java/org/apache/log4j/layout/Log4j1XmlLayout.java
index 8f9df10..1df66d5 100644
--- a/log4j-1.2-api/src/main/java/org/apache/log4j/layout/Log4j1XmlLayout.java
+++ b/log4j-1.2-api/src/main/java/org/apache/log4j/layout/Log4j1XmlLayout.java
@@ -16,7 +16,6 @@
*/
package org.apache.log4j.layout;
-import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.core.Layout;
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.config.Node;
@@ -26,6 +25,7 @@ import org.apache.logging.log4j.core.config.plugins.PluginFactory;
import org.apache.logging.log4j.core.layout.AbstractStringLayout;
import org.apache.logging.log4j.core.layout.ByteBufferDestination;
import org.apache.logging.log4j.core.util.Transform;
+import org.apache.logging.log4j.util.Strings;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
@@ -102,7 +102,7 @@ public final class Log4j1XmlLayout extends AbstractStringLayout {
List<String> ndc = event.getContextStack().asList();
if (!ndc.isEmpty()) {
buf.append("<log4j:NDC><![CDATA[");
- Transform.appendEscapingCData(buf, StringUtils.join(ndc, ' '));
+ Transform.appendEscapingCData(buf, Strings.join(ndc, ' '));
buf.append("]]></log4j:NDC>\r\n");
}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/5f361e01/log4j-1.2-api/src/main/java/org/apache/log4j/pattern/Log4j1NdcPatternConverter.java
----------------------------------------------------------------------
diff --git a/log4j-1.2-api/src/main/java/org/apache/log4j/pattern/Log4j1NdcPatternConverter.java b/log4j-1.2-api/src/main/java/org/apache/log4j/pattern/Log4j1NdcPatternConverter.java
index d3f16f5..1eb38be 100644
--- a/log4j-1.2-api/src/main/java/org/apache/log4j/pattern/Log4j1NdcPatternConverter.java
+++ b/log4j-1.2-api/src/main/java/org/apache/log4j/pattern/Log4j1NdcPatternConverter.java
@@ -16,12 +16,12 @@
*/
package org.apache.log4j.pattern;
-import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.config.plugins.Plugin;
import org.apache.logging.log4j.core.pattern.ConverterKeys;
import org.apache.logging.log4j.core.pattern.LogEventPatternConverter;
import org.apache.logging.log4j.core.pattern.PatternConverter;
+import org.apache.logging.log4j.util.Strings;
import java.util.List;
@@ -58,6 +58,6 @@ public final class Log4j1NdcPatternConverter extends LogEventPatternConverter {
@Override
public void format(final LogEvent event, final StringBuilder toAppendTo) {
List<String> ndc = event.getContextStack().asList();
- toAppendTo.append(StringUtils.join(ndc, ' '));
+ toAppendTo.append(Strings.join(ndc, ' '));
}
}
[02/26] logging-log4j2 git commit: LOG4J2-1528 Serialize
configuration into a log4j2.xml file
Posted by mi...@apache.org.
LOG4J2-1528 Serialize configuration into a log4j2.xml file
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/ac80524c
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/ac80524c
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/ac80524c
Branch: refs/heads/master
Commit: ac80524cb381339d38b59f692f5bb2916e56a2c2
Parents: 0728abc
Author: Mikael St�ldal <mi...@staldal.nu>
Authored: Wed Aug 17 22:20:44 2016 +0200
Committer: Mikael St�ldal <mi...@staldal.nu>
Committed: Wed Aug 17 22:22:41 2016 +0200
----------------------------------------------------------------------
.../builder/api/ConfigurationBuilder.java | 17 +++
.../impl/DefaultConfigurationBuilder.java | 113 +++++++++++++++++++
2 files changed, 130 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ac80524c/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/api/ConfigurationBuilder.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/api/ConfigurationBuilder.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/api/ConfigurationBuilder.java
index 1fbfa01..2e7ef96 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/api/ConfigurationBuilder.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/api/ConfigurationBuilder.java
@@ -22,6 +22,9 @@ import org.apache.logging.log4j.core.config.Configuration;
import org.apache.logging.log4j.core.config.ConfigurationSource;
import org.apache.logging.log4j.core.util.Builder;
+import java.io.IOException;
+import java.io.OutputStream;
+
/**
* Interface for building logging configurations.
* @param <T> The Configuration type created by this builder.
@@ -405,4 +408,18 @@ public interface ConfigurationBuilder<T extends Configuration> extends Builder<T
* @return The constructed Configuration.
*/
T build(boolean initialize);
+
+ /**
+ * Write an XML configuration file from this builder.
+ *
+ * @param output OutputStream to write to, will not be closed
+ */
+ void writeXmlConfigurationFile(OutputStream output) throws IOException;
+
+ /**
+ * Write an XML configuration from this builder.
+ *
+ * @return XML configuration
+ */
+ String writeXmlConfiguration();
}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ac80524c/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
index 38b4fdb..6834956 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
@@ -16,8 +16,12 @@
*/
package org.apache.logging.log4j.core.config.builder.impl;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.StringWriter;
import java.lang.reflect.Constructor;
import java.util.List;
+import java.util.Map;
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.core.Filter;
@@ -38,6 +42,10 @@ import org.apache.logging.log4j.core.config.builder.api.RootLoggerComponentBuild
import org.apache.logging.log4j.core.config.builder.api.ScriptComponentBuilder;
import org.apache.logging.log4j.core.config.builder.api.ScriptFileComponentBuilder;
+import javax.xml.stream.XMLOutputFactory;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+
/**
* @param <T> The BuiltConfiguration type.
* @since 2.4
@@ -188,6 +196,111 @@ public class DefaultConfigurationBuilder<T extends BuiltConfiguration> implement
}
@Override
+ public void writeXmlConfigurationFile(final OutputStream output) throws IOException {
+ try {
+ XMLStreamWriter xmlWriter = XMLOutputFactory.newInstance().createXMLStreamWriter(output);
+ writeConfigurationXml(xmlWriter);
+ xmlWriter.close();
+ } catch (XMLStreamException e) {
+ if (e.getNestedException() instanceof IOException) {
+ throw (IOException)e.getNestedException();
+ } else {
+ throw new RuntimeException(e);
+ }
+ }
+ }
+
+ @Override
+ public String writeXmlConfiguration() {
+ StringWriter sw = new StringWriter();
+ try {
+ XMLStreamWriter xmlWriter = XMLOutputFactory.newInstance().createXMLStreamWriter(sw);
+ writeConfigurationXml(xmlWriter);
+ xmlWriter.close();
+ } catch (XMLStreamException e) {
+ throw new RuntimeException(e);
+ }
+ return sw.toString();
+ }
+
+ private void writeConfigurationXml(XMLStreamWriter xmlWriter) throws XMLStreamException {
+ xmlWriter.writeStartDocument();
+ xmlWriter.writeCharacters(System.lineSeparator());
+
+ xmlWriter.writeStartElement("Configuration");
+ if (name != null) {
+ xmlWriter.writeAttribute("name", name);
+ }
+ if (level != null) {
+ xmlWriter.writeAttribute("status", level.name());
+ }
+ if (verbosity != null) {
+ xmlWriter.writeAttribute("verbose", verbosity);
+ }
+ if (destination != null) {
+ xmlWriter.writeAttribute("dest", destination);
+ }
+ if (packages != null) {
+ xmlWriter.writeAttribute("packages", packages);
+ }
+ if (shutdownFlag != null) {
+ xmlWriter.writeAttribute("shutdownHook", shutdownFlag);
+ }
+ if (advertiser != null) {
+ xmlWriter.writeAttribute("advertiser", advertiser);
+ }
+ if (monitorInterval > 0) {
+ xmlWriter.writeAttribute("monitorInterval", String.valueOf(monitorInterval));
+ }
+
+ xmlWriter.writeCharacters(System.lineSeparator());
+
+ for (Component component : root.getComponents()) {
+ if (!component.getAttributes().isEmpty() || !component.getComponents().isEmpty() || component.getValue() != null) {
+ writeComponentXml(xmlWriter, component, 1);
+ }
+ }
+
+ xmlWriter.writeEndElement(); // "Configuration"
+
+ xmlWriter.writeEndDocument();
+ }
+
+ private void writeComponentXml(XMLStreamWriter xmlWriter, Component component, int nesting) throws XMLStreamException {
+ if (!component.getComponents().isEmpty() || component.getValue() != null) {
+ indentXml(xmlWriter, nesting);
+ xmlWriter.writeStartElement(component.getPluginType());
+ writeAttributesXml(xmlWriter, component);
+ xmlWriter.writeCharacters(System.lineSeparator());
+ for (Component subComponent : component.getComponents()) {
+ writeComponentXml(xmlWriter, subComponent, nesting + 1);
+ }
+ if (component.getValue() != null) {
+ xmlWriter.writeCharacters(component.getValue());
+ }
+ indentXml(xmlWriter, nesting);
+ xmlWriter.writeEndElement();
+ } else {
+ indentXml(xmlWriter, nesting);
+ xmlWriter.writeEmptyElement(component.getPluginType());
+ writeAttributesXml(xmlWriter, component);
+ }
+ xmlWriter.writeCharacters(System.lineSeparator());
+ }
+
+ private void indentXml(XMLStreamWriter xmlWriter, int nesting) throws XMLStreamException {
+ for (int i = 0; i < nesting; i++) {
+ xmlWriter.writeCharacters("\t");
+ }
+ }
+
+ private void writeAttributesXml(XMLStreamWriter xmlWriter, Component component) throws XMLStreamException {
+ for (Map.Entry<String, String> attribute : component.getAttributes().entrySet()) {
+ xmlWriter.writeAttribute(attribute.getKey(), attribute.getValue());
+ }
+ }
+
+ @Override
public ScriptComponentBuilder newScript(final String name, final String language, final String text) {
return new DefaultScriptComponentBuilder(this, name, language, text);
}
[26/26] logging-log4j2 git commit: Fix changes.xml
Posted by mi...@apache.org.
Fix changes.xml
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/eb82f77c
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/eb82f77c
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/eb82f77c
Branch: refs/heads/master
Commit: eb82f77c01d438c330c6997c99ca9ffb9228d4f5
Parents: 45a7da2
Author: Mikael St�ldal <mi...@magine.com>
Authored: Tue Aug 30 11:31:02 2016 +0200
Committer: Mikael St�ldal <mi...@magine.com>
Committed: Tue Aug 30 11:31:02 2016 +0200
----------------------------------------------------------------------
src/changes/changes.xml | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/eb82f77c/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 0842ec5..58a7a08 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -27,12 +27,6 @@
<action issue="LOG4J2-1528" dev="mikes" type="add">
Create XML configuration file from ConfigurationBuilder.
</action>
- <action issue="LOG4J2-1181" dev="mikes" type="add">
- Scala API.
- </action>
- <action issue="LOG4J2-1512" dev="mikes" type="add">
- Options to exclude stack trace from JSON, XML and YAML layouts.
- </action>
<action issue="LOG4J2-1511" dev="ggregory" type="fix" due-to="Srikanth Surukuntu">
DynamicThresholdFilter filters incorrectly when params are passed as individual arguments instead of varargs.
</action>
@@ -105,6 +99,18 @@
<action issue="LOG4J2-1313" dev="rpopma" type="fix" due-to="Philipp Knobel">
Properties declared in configuration can now have their value either in the element body or in an attribute named "value".
</action>
+ <action issue="LOG4J2-1235" dev="ggregory" type="fix" due-to="Niranjan Rao, Sascha Scholz, Aleksey Zvolinsky">
+ org.apache.logging.log4j.core.appender.routing.IdlePurgePolicy not working correctly.
+ </action>
+ <action issue="LOG4J2-1502" dev="ggregory" type="fix" due-to="Sumit Singhal">
+ CsvParameterLayout and CsvLogEventLayout insert NUL characters if data starts with {, (, [ or "
+ </action>
+ <action issue="LOG4J2-1181" dev="mikes" type="add">
+ Scala API.
+ </action>
+ <action issue="LOG4J2-1512" dev="mikes" type="add">
+ Options to exclude stack trace from JSON, XML and YAML layouts.
+ </action>
<action issue="LOG4J2-1539" dev="ggregory" type="add" due-to="Gary Gregory">
Add Core API Configurator.shutdown(LoggerContext, long, TimeUnit).
</action>
[14/26] logging-log4j2 git commit: Add test and TODO for
includeLocation on loggers
Posted by mi...@apache.org.
Add test and TODO for includeLocation on loggers
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/634df7cc
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/634df7cc
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/634df7cc
Branch: refs/heads/master
Commit: 634df7cc1adddd9b38ff73508a83802c83922083
Parents: e0f5ec4
Author: Mikael St�ldal <mi...@staldal.nu>
Authored: Sun Aug 21 17:40:44 2016 +0200
Committer: Mikael St�ldal <mi...@staldal.nu>
Committed: Sun Aug 21 17:40:44 2016 +0200
----------------------------------------------------------------------
.../core/config/AbstractConfiguration.java | 2 +-
.../impl/DefaultConfigurationBuilder.java | 2 +-
.../builder/ConfigurationBuilderTest.java | 39 +++++++++++++++-----
3 files changed, 31 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/634df7cc/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
index d89b8f5..b098334 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
@@ -265,7 +265,7 @@ public abstract class AbstractConfiguration extends AbstractFilterable implement
}
writeXmlSection(xmlWriter, lookupSection("Appenders"));
- writeXmlSection(xmlWriter, lookupSection("Loggers"));
+ writeXmlSection(xmlWriter, lookupSection("Loggers")); // TODO includeLocation on loggers
xmlWriter.writeEndElement(); // "Configuration"
xmlWriter.writeCharacters(System.lineSeparator());
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/634df7cc/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
index e3de1ae..849a9f4 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
@@ -264,7 +264,7 @@ public class DefaultConfigurationBuilder<T extends BuiltConfiguration> implement
writeXmlSection(xmlWriter, filters);
}
writeXmlSection(xmlWriter, appenders);
- writeXmlSection(xmlWriter, loggers);
+ writeXmlSection(xmlWriter, loggers); // TODO includeLocation on loggers
xmlWriter.writeEndElement(); // "Configuration"
xmlWriter.writeCharacters(System.lineSeparator());
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/634df7cc/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java
index 951038f..15b9599 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java
@@ -16,8 +16,11 @@
*/
package org.apache.logging.log4j.core.config.builder;
+import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.core.Filter;
+import org.apache.logging.log4j.core.appender.ConsoleAppender;
import org.apache.logging.log4j.core.config.AbstractConfiguration;
+import org.apache.logging.log4j.core.config.builder.api.AppenderComponentBuilder;
import org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilder;
import org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilderFactory;
import org.apache.logging.log4j.core.config.builder.impl.BuiltConfiguration;
@@ -27,6 +30,28 @@ import static org.junit.Assert.assertEquals;
public class ConfigurationBuilderTest {
+ private void addTestFixtures(final String name, final ConfigurationBuilder<BuiltConfiguration> builder) {
+ builder.setConfigurationName(name);
+ builder.setStatusLevel(Level.ERROR);
+ builder.add(builder.newScriptFile("target/test-classes/scripts/filter.groovy").addIsWatched(true));
+ builder.add(builder.newFilter("ThresholdFilter", Filter.Result.ACCEPT, Filter.Result.NEUTRAL)
+ .addAttribute("level", Level.DEBUG));
+ final AppenderComponentBuilder appenderBuilder = builder.newAppender("Stdout", "CONSOLE").addAttribute("target", ConsoleAppender.Target.SYSTEM_OUT);
+ appenderBuilder.add(builder.newLayout("PatternLayout").
+ addAttribute("pattern", "%d [%t] %-5level: %msg%n%throwable"));
+ appenderBuilder.add(builder.newFilter("MarkerFilter", Filter.Result.DENY,
+ Filter.Result.NEUTRAL).addAttribute("marker", "FLOW"));
+ builder.add(appenderBuilder);
+ builder.add(builder.newLogger("org.apache.logging.log4j", Level.DEBUG).
+ add(builder.newAppenderRef("Stdout")).
+ addAttribute("additivity", false).
+ addAttribute("includeLocation", true));
+ builder.add(builder.newRootLogger(Level.ERROR).add(builder.newAppenderRef("Stdout")));
+ builder.addProperty("MyKey", "MyValue");
+ builder.add(builder.newCustomLevel("Panic", 17));
+ builder.setPackages("foo,bar");
+ }
+
private final static String expectedXml1 =
"<?xml version='1.0' encoding='UTF-8'?>" + System.lineSeparator() +
"<Configuration name=\"config name\" status=\"ERROR\" packages=\"foo,bar\">" + System.lineSeparator() +
@@ -50,7 +75,7 @@ public class ConfigurationBuilderTest {
"\t\t<Logger additivity=\"false\" level=\"DEBUG\" includeLocation=\"true\" name=\"org.apache.logging.log4j\">" + System.lineSeparator() +
"\t\t\t<AppenderRef ref=\"Stdout\"/>" + System.lineSeparator() +
"\t\t</Logger>" + System.lineSeparator() +
- "\t\t<Root level=\"ERROR\" includeLocation=\"true\">" + System.lineSeparator() +
+ "\t\t<Root level=\"ERROR\">" + System.lineSeparator() +
"\t\t\t<AppenderRef ref=\"Stdout\"/>" + System.lineSeparator() +
"\t\t</Root>" + System.lineSeparator() +
"\t</Loggers>" + System.lineSeparator() +
@@ -59,10 +84,7 @@ public class ConfigurationBuilderTest {
@Test
public void testXmlConstructing() throws Exception {
final ConfigurationBuilder<BuiltConfiguration> builder = ConfigurationBuilderFactory.newConfigurationBuilder();
- CustomConfigurationFactory.addTestFixtures("config name", builder);
- builder.addProperty("MyKey", "MyValue");
- builder.add(builder.newCustomLevel("Panic", 17));
- builder.setPackages("foo,bar");
+ addTestFixtures("config name", builder);
final String xmlConfiguration = builder.toXmlConfiguration();
assertEquals(expectedXml1, xmlConfiguration);
}
@@ -90,7 +112,7 @@ public class ConfigurationBuilderTest {
"\t\t<Logger name=\"org.apache.logging.log4j\" additivity=\"false\" level=\"DEBUG\" includeLocation=\"true\">" + System.lineSeparator() +
"\t\t\t<AppenderRef ref=\"Stdout\"/>" + System.lineSeparator() +
"\t\t</Logger>" + System.lineSeparator() +
- "\t\t<Root level=\"ERROR\" includeLocation=\"true\">" + System.lineSeparator() +
+ "\t\t<Root level=\"ERROR\">" + System.lineSeparator() +
"\t\t\t<AppenderRef ref=\"Stdout\"/>" + System.lineSeparator() +
"\t\t</Root>" + System.lineSeparator() +
"\t</Loggers>" + System.lineSeparator() +
@@ -99,10 +121,7 @@ public class ConfigurationBuilderTest {
@Test
public void testXmlConstructingWithAbstractConfiguration() throws Exception {
final ConfigurationBuilder<BuiltConfiguration> builder = ConfigurationBuilderFactory.newConfigurationBuilder();
- CustomConfigurationFactory.addTestFixtures("config name", builder);
- builder.addProperty("MyKey", "MyValue");
- builder.add(builder.newCustomLevel("Panic", 17));
- builder.setPackages("foo,bar");
+ addTestFixtures("config name", builder);
AbstractConfiguration configuration = builder.build(false);
configuration.setup();
final String xmlConfiguration = configuration.toXmlConfiguration();
[04/26] logging-log4j2 git commit: Fix method naming
Posted by mi...@apache.org.
Fix method naming
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/97f626f0
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/97f626f0
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/97f626f0
Branch: refs/heads/master
Commit: 97f626f0d3d4dd75b726cabd58f925dc335b1bcd
Parents: 486823a
Author: Mikael St�ldal <mi...@staldal.nu>
Authored: Fri Aug 19 22:27:43 2016 +0200
Committer: Mikael St�ldal <mi...@staldal.nu>
Committed: Fri Aug 19 22:27:43 2016 +0200
----------------------------------------------------------------------
.../log4j/core/config/builder/api/ConfigurationBuilder.java | 8 ++++----
.../config/builder/impl/DefaultConfigurationBuilder.java | 4 ++--
2 files changed, 6 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/97f626f0/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/api/ConfigurationBuilder.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/api/ConfigurationBuilder.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/api/ConfigurationBuilder.java
index 2e7ef96..fba24fd 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/api/ConfigurationBuilder.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/api/ConfigurationBuilder.java
@@ -410,16 +410,16 @@ public interface ConfigurationBuilder<T extends Configuration> extends Builder<T
T build(boolean initialize);
/**
- * Write an XML configuration file from this builder.
+ * Constructs an XML configuration from this builder.
*
* @param output OutputStream to write to, will not be closed
*/
- void writeXmlConfigurationFile(OutputStream output) throws IOException;
+ void writeXmlConfiguration(OutputStream output) throws IOException;
/**
- * Write an XML configuration from this builder.
+ * Constructs an XML configuration from this builder.
*
* @return XML configuration
*/
- String writeXmlConfiguration();
+ String toXmlConfiguration();
}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/97f626f0/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
index 6834956..2fc78f4 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
@@ -196,7 +196,7 @@ public class DefaultConfigurationBuilder<T extends BuiltConfiguration> implement
}
@Override
- public void writeXmlConfigurationFile(final OutputStream output) throws IOException {
+ public void writeXmlConfiguration(final OutputStream output) throws IOException {
try {
XMLStreamWriter xmlWriter = XMLOutputFactory.newInstance().createXMLStreamWriter(output);
writeConfigurationXml(xmlWriter);
@@ -211,7 +211,7 @@ public class DefaultConfigurationBuilder<T extends BuiltConfiguration> implement
}
@Override
- public String writeXmlConfiguration() {
+ public String toXmlConfiguration() {
StringWriter sw = new StringWriter();
try {
XMLStreamWriter xmlWriter = XMLOutputFactory.newInstance().createXMLStreamWriter(sw);
[19/26] logging-log4j2 git commit: Remove XML writing in
AbstactConfiguration
Posted by mi...@apache.org.
Remove XML writing in AbstactConfiguration
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/3e7df46b
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/3e7df46b
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/3e7df46b
Branch: refs/heads/master
Commit: 3e7df46bbdc4c7b1c0b5bb35572f4691e91d761e
Parents: 4ae1cc2
Author: Mikael St�ldal <mi...@staldal.nu>
Authored: Sun Aug 21 20:19:22 2016 +0200
Committer: Mikael St�ldal <mi...@staldal.nu>
Committed: Sun Aug 21 20:19:22 2016 +0200
----------------------------------------------------------------------
.../core/config/AbstractConfiguration.java | 154 -------------------
.../builder/ConfigurationBuilderTest.java | 43 +-----
2 files changed, 2 insertions(+), 195 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/3e7df46b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
index 49a401b..ef3f668 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
@@ -46,17 +46,11 @@ import org.apache.logging.log4j.core.util.NameUtil;
import org.apache.logging.log4j.core.util.NanoClock;
import org.apache.logging.log4j.core.util.WatchManager;
import org.apache.logging.log4j.util.PropertiesUtil;
-import org.apache.logging.log4j.util.Strings;
-import javax.xml.stream.XMLOutputFactory;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamWriter;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
-import java.io.OutputStream;
import java.io.Serializable;
-import java.io.StringWriter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -187,154 +181,6 @@ public abstract class AbstractConfiguration extends AbstractFilterable implement
return rootNode;
}
- private static final List<String> SECTION_NAMES =
- Arrays.asList("Properties", "Scripts", "CustomLevels", "Filters", "Appenders", "Loggers");
-
- public void writeXmlConfiguration(final OutputStream output) throws IOException {
- try {
- XMLStreamWriter xmlWriter = XMLOutputFactory.newInstance().createXMLStreamWriter(output);
- writeXmlConfiguration(xmlWriter);
- xmlWriter.close();
- } catch (XMLStreamException e) {
- if (e.getNestedException() instanceof IOException) {
- throw (IOException)e.getNestedException();
- } else {
- throw new RuntimeException(e);
- }
- }
- }
-
- public String toXmlConfiguration() {
- StringWriter sw = new StringWriter();
- try {
- XMLStreamWriter xmlWriter = XMLOutputFactory.newInstance().createXMLStreamWriter(sw);
- writeXmlConfiguration(xmlWriter);
- xmlWriter.close();
- } catch (XMLStreamException e) {
- throw new RuntimeException(e);
- }
- return sw.toString();
- }
-
- private void writeXmlConfiguration(XMLStreamWriter xmlWriter) throws XMLStreamException {
- xmlWriter.writeStartDocument();
- xmlWriter.writeCharacters(System.lineSeparator());
-
- xmlWriter.writeStartElement("Configuration");
-
- if (name != null) {
- xmlWriter.writeAttribute("name", getName());
- }
- /* TODO status logger config
- if (level != null) {
- xmlWriter.writeAttribute("status", level.name());
- }
- if (verbosity != null) {
- xmlWriter.writeAttribute("verbose", verbosity);
- }
- if (destination != null) {
- xmlWriter.writeAttribute("dest", destination);
- }
- */
- if (!getPluginPackages().isEmpty()) {
- xmlWriter.writeAttribute("packages", Strings.join(getPluginPackages(), ','));
- }
- if (!isShutdownHookEnabled()) {
- xmlWriter.writeAttribute("shutdownHook", "disable");
- }
- if (advertiserNode != null) {
- xmlWriter.writeAttribute("advertiser", advertiserNode.getName());
- }
- if (getWatchManager().getIntervalSeconds() > 0) {
- xmlWriter.writeAttribute("monitorInterval", String.valueOf(getWatchManager().getIntervalSeconds()));
- }
-
- xmlWriter.writeCharacters(System.lineSeparator());
-
- writeXmlSection(xmlWriter, lookupSection("Properties"));
- writeXmlSection(xmlWriter, lookupSection("Scripts"));
- writeXmlSection(xmlWriter, lookupSection("CustomLevels"));
- Node filters = lookupSection("Filters");
- if (filters != null) {
- writeXmlSection(xmlWriter, filters);
- } else {
- Node filter = lookupFilter();
- if (filter != null) {
- writeXmlNode(xmlWriter, filter, 1);
- }
- }
-
- writeXmlSection(xmlWriter, lookupSection("Appenders"));
- writeXmlSection(xmlWriter, lookupSection("Loggers"));
-
- xmlWriter.writeEndElement(); // "Configuration"
- xmlWriter.writeCharacters(System.lineSeparator());
-
- xmlWriter.writeEndDocument();
- }
-
- private Node lookupSection(String name) {
- for (final Node child : rootNode.getChildren()) {
- if (child.getName().equalsIgnoreCase(name)) {
- return child;
- }
- }
- return null;
- }
-
- private Node lookupFilter() {
- for (final Node child : rootNode.getChildren()) {
- if (!SECTION_NAMES.contains(child.getName())) {
- return child;
- }
- }
- return null;
- }
-
- private void writeXmlSection(XMLStreamWriter xmlWriter, Node node) throws XMLStreamException {
- if (node != null && (!node.getAttributes().isEmpty() || !node.getChildren().isEmpty() || node.getValue() != null)) {
- writeXmlNode(xmlWriter, node, 1);
- }
- }
-
- private void writeXmlNode(XMLStreamWriter xmlWriter, Node node, int nesting) throws XMLStreamException {
- if (!node.getChildren().isEmpty() || node.getValue() != null) {
- writeXmlIndent(xmlWriter, nesting);
- xmlWriter.writeStartElement(node.getName());
- writeXmlAttributes(xmlWriter, node);
- if (!node.getChildren().isEmpty()) {
- xmlWriter.writeCharacters(System.lineSeparator());
- }
- for (Node childNode : node.getChildren()) {
- writeXmlNode(xmlWriter, childNode, nesting + 1);
- }
- if (node.getValue() != null) {
- xmlWriter.writeCharacters(node.getValue());
- }
- if (!node.getChildren().isEmpty()) {
- writeXmlIndent(xmlWriter, nesting);
- }
- xmlWriter.writeEndElement();
- } else {
- writeXmlIndent(xmlWriter, nesting);
- xmlWriter.writeEmptyElement(node.getName());
- writeXmlAttributes(xmlWriter, node);
- }
- xmlWriter.writeCharacters(System.lineSeparator());
- }
-
- private void writeXmlIndent(XMLStreamWriter xmlWriter, int nesting) throws XMLStreamException {
- for (int i = 0; i < nesting; i++) {
- xmlWriter.writeCharacters("\t");
- }
- }
-
- private void writeXmlAttributes(XMLStreamWriter xmlWriter, Node node) throws XMLStreamException {
- for (Map.Entry<String, String> attribute : node.getAttributes().entrySet()) {
- xmlWriter.writeAttribute(attribute.getKey(), attribute.getValue());
- }
- }
-
@Override
public AsyncLoggerConfigDelegate getAsyncLoggerConfigDelegate() {
// lazily instantiate only when requested by AsyncLoggers:
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/3e7df46b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java
index 3525125..87ecd26 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java
@@ -19,7 +19,6 @@ package org.apache.logging.log4j.core.config.builder;
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.core.Filter;
import org.apache.logging.log4j.core.appender.ConsoleAppender;
-import org.apache.logging.log4j.core.config.AbstractConfiguration;
import org.apache.logging.log4j.core.config.builder.api.AppenderComponentBuilder;
import org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilder;
import org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilderFactory;
@@ -51,7 +50,7 @@ public class ConfigurationBuilderTest {
builder.setPackages("foo,bar");
}
- private final static String expectedXml1 =
+ private final static String expectedXml =
"<?xml version='1.0' encoding='UTF-8'?>" + System.lineSeparator() +
"<Configuration name=\"config name\" status=\"ERROR\" packages=\"foo,bar\">" + System.lineSeparator() +
"\t<Properties>" + System.lineSeparator() +
@@ -85,45 +84,7 @@ public class ConfigurationBuilderTest {
final ConfigurationBuilder<BuiltConfiguration> builder = ConfigurationBuilderFactory.newConfigurationBuilder();
addTestFixtures("config name", builder);
final String xmlConfiguration = builder.toXmlConfiguration();
- assertEquals(expectedXml1, xmlConfiguration);
+ assertEquals(expectedXml, xmlConfiguration);
}
- private final static String expectedXml2 =
- "<?xml version='1.0' encoding='UTF-8'?>" + System.lineSeparator() +
- "<Configuration name=\"config name\" status=\"ERROR\" packages=\"foo,bar\">" + System.lineSeparator() +
- "\t<Properties>" + System.lineSeparator() +
- "\t\t<Property name=\"MyKey\">MyValue</Property>" + System.lineSeparator() +
- "\t</Properties>" + System.lineSeparator() +
- "\t<Scripts>" + System.lineSeparator() +
- "\t\t<ScriptFile name=\"target/test-classes/scripts/filter.groovy\" path=\"target/test-classes/scripts/filter.groovy\" isWatched=\"true\"/>" + System.lineSeparator() +
- "\t</Scripts>" + System.lineSeparator() +
- "\t<CustomLevels>" + System.lineSeparator() +
- "\t\t<CustomLevel name=\"Panic\" intLevel=\"17\"/>" + System.lineSeparator() +
- "\t</CustomLevels>" + System.lineSeparator() +
- "\t<ThresholdFilter onMatch=\"ACCEPT\" level=\"DEBUG\" onMisMatch=\"NEUTRAL\"/>" + System.lineSeparator() +
- "\t<Appenders>" + System.lineSeparator() +
- "\t\t<CONSOLE name=\"Stdout\" target=\"SYSTEM_OUT\">" + System.lineSeparator() +
- "\t\t\t<PatternLayout pattern=\"%d [%t] %-5level: %msg%n%throwable\"/>" + System.lineSeparator() +
- "\t\t\t<MarkerFilter onMatch=\"DENY\" onMisMatch=\"NEUTRAL\" marker=\"FLOW\"/>" + System.lineSeparator() +
- "\t\t</CONSOLE>" + System.lineSeparator() +
- "\t</Appenders>" + System.lineSeparator() +
- "\t<Loggers>" + System.lineSeparator() +
- "\t\t<Logger name=\"org.apache.logging.log4j\" additivity=\"false\" level=\"DEBUG\" includeLocation=\"true\">" + System.lineSeparator() +
- "\t\t\t<AppenderRef ref=\"Stdout\"/>" + System.lineSeparator() +
- "\t\t</Logger>" + System.lineSeparator() +
- "\t\t<Root level=\"ERROR\">" + System.lineSeparator() +
- "\t\t\t<AppenderRef ref=\"Stdout\"/>" + System.lineSeparator() +
- "\t\t</Root>" + System.lineSeparator() +
- "\t</Loggers>" + System.lineSeparator() +
- "</Configuration>" + System.lineSeparator();
-
- @Test
- public void testXmlConstructingWithAbstractConfiguration() throws Exception {
- final ConfigurationBuilder<BuiltConfiguration> builder = ConfigurationBuilderFactory.newConfigurationBuilder();
- addTestFixtures("config name", builder);
- AbstractConfiguration configuration = builder.build(false);
- configuration.setup();
- final String xmlConfiguration = configuration.toXmlConfiguration();
- assertEquals(expectedXml2, xmlConfiguration);
- }
}
[09/26] logging-log4j2 git commit: Fix XML configuration formatting
Posted by mi...@apache.org.
Fix XML configuration formatting
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/87235980
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/87235980
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/87235980
Branch: refs/heads/master
Commit: 8723598057dd938be060961988f6d460f82dfe90
Parents: b1e8f6f
Author: Mikael St�ldal <mi...@staldal.nu>
Authored: Sun Aug 21 15:44:28 2016 +0200
Committer: Mikael St�ldal <mi...@staldal.nu>
Committed: Sun Aug 21 15:44:28 2016 +0200
----------------------------------------------------------------------
.../core/config/AbstractConfiguration.java | 189 +++++++++++++++++--
.../impl/DefaultConfigurationBuilder.java | 27 ++-
.../builder/ConfigurationBuilderTest.java | 58 +++++-
3 files changed, 245 insertions(+), 29 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/87235980/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
index a152ea7..f123991 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
@@ -16,24 +16,6 @@
*/
package org.apache.logging.log4j.core.config;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.CopyOnWriteArrayList;
-
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.core.Appender;
import org.apache.logging.log4j.core.Filter;
@@ -65,6 +47,29 @@ import org.apache.logging.log4j.core.util.NanoClock;
import org.apache.logging.log4j.core.util.WatchManager;
import org.apache.logging.log4j.util.PropertiesUtil;
+import javax.xml.stream.XMLOutputFactory;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.io.Serializable;
+import java.io.StringWriter;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
+import java.util.concurrent.CopyOnWriteArrayList;
+
/**
* The base Configuration. Many configuration implementations will extend this class.
*/
@@ -181,6 +186,154 @@ public abstract class AbstractConfiguration extends AbstractFilterable implement
return rootNode;
}
+ private static final List<String> SECTION_NAMES =
+ Arrays.asList("Properties", "Scripts", "CustomLevels", "Filters", "Appenders", "Loggers");
+
+ public void writeXmlConfiguration(final OutputStream output) throws IOException {
+ try {
+ XMLStreamWriter xmlWriter = XMLOutputFactory.newInstance().createXMLStreamWriter(output);
+ writeXmlConfiguration(xmlWriter);
+ xmlWriter.close();
+ } catch (XMLStreamException e) {
+ if (e.getNestedException() instanceof IOException) {
+ throw (IOException)e.getNestedException();
+ } else {
+ throw new RuntimeException(e);
+ }
+ }
+ }
+
+ public String toXmlConfiguration() {
+ StringWriter sw = new StringWriter();
+ try {
+ XMLStreamWriter xmlWriter = XMLOutputFactory.newInstance().createXMLStreamWriter(sw);
+ writeXmlConfiguration(xmlWriter);
+ xmlWriter.close();
+ } catch (XMLStreamException e) {
+ throw new RuntimeException(e);
+ }
+ return sw.toString();
+ }
+
+ private void writeXmlConfiguration(XMLStreamWriter xmlWriter) throws XMLStreamException {
+ xmlWriter.writeStartDocument();
+ xmlWriter.writeCharacters(System.lineSeparator());
+
+ xmlWriter.writeStartElement("Configuration");
+
+ if (name != null) {
+ xmlWriter.writeAttribute("name", getName());
+ }
+ /* TODO status logger config
+ if (level != null) {
+ xmlWriter.writeAttribute("status", level.name());
+ }
+ if (verbosity != null) {
+ xmlWriter.writeAttribute("verbose", verbosity);
+ }
+ if (destination != null) {
+ xmlWriter.writeAttribute("dest", destination);
+ }
+ */
+ if (!getPluginPackages().isEmpty()) {
+ xmlWriter.writeAttribute("packages", getPluginPackages().toString()); // TODO comma-separated string
+ }
+ if (!isShutdownHookEnabled()) {
+ xmlWriter.writeAttribute("shutdownHook", "disable");
+ }
+ if (advertiserNode != null) {
+ xmlWriter.writeAttribute("advertiser", advertiserNode.getName());
+ }
+ if (getWatchManager().getIntervalSeconds() > 0) {
+ xmlWriter.writeAttribute("monitorInterval", String.valueOf(getWatchManager().getIntervalSeconds()));
+ }
+
+ xmlWriter.writeCharacters(System.lineSeparator());
+
+ writeXmlSection(xmlWriter, lookupSection("Properties"));
+ writeXmlSection(xmlWriter, lookupSection("Scripts"));
+ writeXmlSection(xmlWriter, lookupSection("CustomLevels")); // TODO customLevel level vs intLevel
+ Node filters = lookupSection("Filters");
+ if (filters != null) {
+ writeXmlSection(xmlWriter, filters);
+ } else {
+ Node filter = lookupFilter();
+ if (filter != null) {
+ writeXmlNode(xmlWriter, filter, 1);
+ }
+ }
+
+ writeXmlSection(xmlWriter, lookupSection("Appenders"));
+ writeXmlSection(xmlWriter, lookupSection("Loggers"));
+
+ xmlWriter.writeEndElement(); // "Configuration"
+ xmlWriter.writeCharacters(System.lineSeparator());
+
+ xmlWriter.writeEndDocument();
+ }
+
+ private Node lookupSection(String name) {
+ for (final Node child : rootNode.getChildren()) {
+ if (child.getName().equalsIgnoreCase(name)) {
+ return child;
+ }
+ }
+ return null;
+ }
+
+ private Node lookupFilter() {
+ for (final Node child : rootNode.getChildren()) {
+ if (!SECTION_NAMES.contains(child.getName())) {
+ return child;
+ }
+ }
+ return null;
+ }
+
+ private void writeXmlSection(XMLStreamWriter xmlWriter, Node node) throws XMLStreamException {
+ if (node != null && (!node.getAttributes().isEmpty() || !node.getChildren().isEmpty() || node.getValue() != null)) {
+ writeXmlNode(xmlWriter, node, 1);
+ }
+ }
+
+ private void writeXmlNode(XMLStreamWriter xmlWriter, Node node, int nesting) throws XMLStreamException {
+ if (!node.getChildren().isEmpty() || node.getValue() != null) {
+ writeXmlIndent(xmlWriter, nesting);
+ xmlWriter.writeStartElement(node.getName());
+ writeXmlAttributes(xmlWriter, node);
+ if (!node.getChildren().isEmpty()) {
+ xmlWriter.writeCharacters(System.lineSeparator());
+ }
+ for (Node childNode : node.getChildren()) {
+ writeXmlNode(xmlWriter, childNode, nesting + 1);
+ }
+ if (node.getValue() != null) {
+ xmlWriter.writeCharacters(node.getValue());
+ }
+ if (!node.getChildren().isEmpty()) {
+ writeXmlIndent(xmlWriter, nesting);
+ }
+ xmlWriter.writeEndElement();
+ } else {
+ writeXmlIndent(xmlWriter, nesting);
+ xmlWriter.writeEmptyElement(node.getName());
+ writeXmlAttributes(xmlWriter, node);
+ }
+ xmlWriter.writeCharacters(System.lineSeparator());
+ }
+
+ private void writeXmlIndent(XMLStreamWriter xmlWriter, int nesting) throws XMLStreamException {
+ for (int i = 0; i < nesting; i++) {
+ xmlWriter.writeCharacters("\t");
+ }
+ }
+
+ private void writeXmlAttributes(XMLStreamWriter xmlWriter, Node node) throws XMLStreamException {
+ for (Map.Entry<String, String> attribute : node.getAttributes().entrySet()) {
+ xmlWriter.writeAttribute(attribute.getKey(), attribute.getValue());
+ }
+ }
+
@Override
public AsyncLoggerConfigDelegate getAsyncLoggerConfigDelegate() {
// lazily instantiate only when requested by AsyncLoggers:
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/87235980/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
index 47688f7..e3de1ae 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
@@ -255,11 +255,16 @@ public class DefaultConfigurationBuilder<T extends BuiltConfiguration> implement
xmlWriter.writeCharacters(System.lineSeparator());
- for (Component component : root.getComponents()) {
- if (!component.getAttributes().isEmpty() || !component.getComponents().isEmpty() || component.getValue() != null) {
- writeXmlComponent(xmlWriter, component, 1);
- }
+ writeXmlSection(xmlWriter, properties);
+ writeXmlSection(xmlWriter, scripts);
+ writeXmlSection(xmlWriter, customLevels); // TODO customLevel level vs intLevel
+ if (filters.getComponents().size() == 1) {
+ writeXmlComponent(xmlWriter, filters.getComponents().get(0), 1);
+ } else if (filters.getComponents().size() > 1) {
+ writeXmlSection(xmlWriter, filters);
}
+ writeXmlSection(xmlWriter, appenders);
+ writeXmlSection(xmlWriter, loggers);
xmlWriter.writeEndElement(); // "Configuration"
xmlWriter.writeCharacters(System.lineSeparator());
@@ -267,19 +272,29 @@ public class DefaultConfigurationBuilder<T extends BuiltConfiguration> implement
xmlWriter.writeEndDocument();
}
+ private void writeXmlSection(XMLStreamWriter xmlWriter, Component component) throws XMLStreamException {
+ if (!component.getAttributes().isEmpty() || !component.getComponents().isEmpty() || component.getValue() != null) {
+ writeXmlComponent(xmlWriter, component, 1);
+ }
+ }
+
private void writeXmlComponent(XMLStreamWriter xmlWriter, Component component, int nesting) throws XMLStreamException {
if (!component.getComponents().isEmpty() || component.getValue() != null) {
writeXmlIndent(xmlWriter, nesting);
xmlWriter.writeStartElement(component.getPluginType());
writeXmlAttributes(xmlWriter, component);
- xmlWriter.writeCharacters(System.lineSeparator());
+ if (!component.getComponents().isEmpty()) {
+ xmlWriter.writeCharacters(System.lineSeparator());
+ }
for (Component subComponent : component.getComponents()) {
writeXmlComponent(xmlWriter, subComponent, nesting + 1);
}
if (component.getValue() != null) {
xmlWriter.writeCharacters(component.getValue());
}
- writeXmlIndent(xmlWriter, nesting);
+ if (!component.getComponents().isEmpty()) {
+ writeXmlIndent(xmlWriter, nesting);
+ }
xmlWriter.writeEndElement();
} else {
writeXmlIndent(xmlWriter, nesting);
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/87235980/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java
index 3d8c4d2..b4b2bff 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java
@@ -16,6 +16,8 @@
*/
package org.apache.logging.log4j.core.config.builder;
+import org.apache.logging.log4j.core.Filter;
+import org.apache.logging.log4j.core.config.AbstractConfiguration;
import org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilder;
import org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilderFactory;
import org.apache.logging.log4j.core.config.builder.impl.BuiltConfiguration;
@@ -25,15 +27,19 @@ import static org.junit.Assert.assertEquals;
public class ConfigurationBuilderTest {
- private final static String expectedXml =
+ private final static String expectedXml1 =
"<?xml version='1.0' encoding='UTF-8'?>" + System.lineSeparator() +
"<Configuration name=\"config name\" status=\"ERROR\">" + System.lineSeparator() +
+ "\t<Properties>" + System.lineSeparator() +
+ "\t\t<Property name=\"MyKey\">MyValue</Property>" + System.lineSeparator() +
+ "\t</Properties>" + System.lineSeparator() +
"\t<Scripts>" + System.lineSeparator() +
"\t\t<ScriptFile path=\"target/test-classes/scripts/filter.groovy\" name=\"target/test-classes/scripts/filter.groovy\" isWatched=\"true\"/>" + System.lineSeparator() +
"\t</Scripts>" + System.lineSeparator() +
- "\t<Filters>" + System.lineSeparator() +
- "\t\t<ThresholdFilter onMatch=\"ACCEPT\" level=\"DEBUG\" onMisMatch=\"NEUTRAL\"/>" + System.lineSeparator() +
- "\t</Filters>" + System.lineSeparator() +
+ "\t<CustomLevels>" + System.lineSeparator() +
+ "\t\t<CustomLevel intLevel=\"17\" name=\"Panic\"/>" + System.lineSeparator() +
+ "\t</CustomLevels>" + System.lineSeparator() +
+ "\t<ThresholdFilter onMatch=\"ACCEPT\" level=\"DEBUG\" onMisMatch=\"NEUTRAL\"/>" + System.lineSeparator() +
"\t<Appenders>" + System.lineSeparator() +
"\t\t<CONSOLE name=\"Stdout\" target=\"SYSTEM_OUT\">" + System.lineSeparator() +
"\t\t\t<PatternLayout pattern=\"%d [%t] %-5level: %msg%n%throwable\"/>" + System.lineSeparator() +
@@ -54,8 +60,50 @@ public class ConfigurationBuilderTest {
public void testXmlConstructing() throws Exception {
final ConfigurationBuilder<BuiltConfiguration> builder = ConfigurationBuilderFactory.newConfigurationBuilder();
CustomConfigurationFactory.addTestFixtures("config name", builder);
+ builder.addProperty("MyKey", "MyValue");
+ builder.add(builder.newCustomLevel("Panic", 17));
final String xmlConfiguration = builder.toXmlConfiguration();
- assertEquals(expectedXml, xmlConfiguration);
+ assertEquals(expectedXml1, xmlConfiguration);
}
+ private final static String expectedXml2 =
+ "<?xml version='1.0' encoding='UTF-8'?>" + System.lineSeparator() +
+ "<Configuration name=\"config name\" status=\"ERROR\">" + System.lineSeparator() +
+ "\t<Properties>" + System.lineSeparator() +
+ "\t\t<Property name=\"MyKey\">MyValue</Property>" + System.lineSeparator() +
+ "\t</Properties>" + System.lineSeparator() +
+ "\t<Scripts>" + System.lineSeparator() +
+ "\t\t<ScriptFile name=\"target/test-classes/scripts/filter.groovy\" path=\"target/test-classes/scripts/filter.groovy\" isWatched=\"true\"/>" + System.lineSeparator() +
+ "\t</Scripts>" + System.lineSeparator() +
+ "\t<CustomLevels>" + System.lineSeparator() +
+ "\t\t<CustomLevel name=\"Panic\" intLevel=\"17\"/>" + System.lineSeparator() +
+ "\t</CustomLevels>" + System.lineSeparator() +
+ "\t<ThresholdFilter onMatch=\"ACCEPT\" level=\"DEBUG\" onMisMatch=\"NEUTRAL\"/>" + System.lineSeparator() +
+ "\t<Appenders>" + System.lineSeparator() +
+ "\t\t<CONSOLE name=\"Stdout\" target=\"SYSTEM_OUT\">" + System.lineSeparator() +
+ "\t\t\t<PatternLayout pattern=\"%d [%t] %-5level: %msg%n%throwable\"/>" + System.lineSeparator() +
+ "\t\t\t<MarkerFilter onMatch=\"DENY\" onMisMatch=\"NEUTRAL\" marker=\"FLOW\"/>" + System.lineSeparator() +
+ "\t\t</CONSOLE>" + System.lineSeparator() +
+ "\t</Appenders>" + System.lineSeparator() +
+ "\t<Loggers>" + System.lineSeparator() +
+ "\t\t<Logger name=\"org.apache.logging.log4j\" additivity=\"false\" level=\"DEBUG\" includeLocation=\"true\">" + System.lineSeparator() +
+ "\t\t\t<AppenderRef ref=\"Stdout\"/>" + System.lineSeparator() +
+ "\t\t</Logger>" + System.lineSeparator() +
+ "\t\t<Root level=\"ERROR\" includeLocation=\"true\">" + System.lineSeparator() +
+ "\t\t\t<AppenderRef ref=\"Stdout\"/>" + System.lineSeparator() +
+ "\t\t</Root>" + System.lineSeparator() +
+ "\t</Loggers>" + System.lineSeparator() +
+ "</Configuration>" + System.lineSeparator();
+
+ @Test
+ public void testXmlConstructingWithAbstractConfiguration() throws Exception {
+ final ConfigurationBuilder<BuiltConfiguration> builder = ConfigurationBuilderFactory.newConfigurationBuilder();
+ CustomConfigurationFactory.addTestFixtures("config name", builder);
+ builder.addProperty("MyKey", "MyValue");
+ builder.add(builder.newCustomLevel("Panic", 17));
+ AbstractConfiguration configuration = builder.build(false);
+ configuration.setup();
+ final String xmlConfiguration = configuration.toXmlConfiguration();
+ assertEquals(expectedXml2, xmlConfiguration);
+ }
}
[18/26] logging-log4j2 git commit: Remove TODO for includeLocation on
Loggers in ConfigurationBuilder
Posted by mi...@apache.org.
Remove TODO for includeLocation on Loggers in ConfigurationBuilder
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/4ae1cc24
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/4ae1cc24
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/4ae1cc24
Branch: refs/heads/master
Commit: 4ae1cc24579dcb4afc9e25024d6e86bc84791600
Parents: 090d63a
Author: Mikael St�ldal <mi...@staldal.nu>
Authored: Sun Aug 21 20:16:42 2016 +0200
Committer: Mikael St�ldal <mi...@staldal.nu>
Committed: Sun Aug 21 20:16:42 2016 +0200
----------------------------------------------------------------------
.../apache/logging/log4j/core/config/AbstractConfiguration.java | 2 +-
.../core/config/builder/impl/DefaultConfigurationBuilder.java | 2 +-
.../log4j/core/config/builder/ConfigurationBuilderTest.java | 5 ++---
3 files changed, 4 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/4ae1cc24/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
index 68f88d1..49a401b 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
@@ -265,7 +265,7 @@ public abstract class AbstractConfiguration extends AbstractFilterable implement
}
writeXmlSection(xmlWriter, lookupSection("Appenders"));
- writeXmlSection(xmlWriter, lookupSection("Loggers")); // TODO includeLocation on loggers
+ writeXmlSection(xmlWriter, lookupSection("Loggers"));
xmlWriter.writeEndElement(); // "Configuration"
xmlWriter.writeCharacters(System.lineSeparator());
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/4ae1cc24/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
index db06046..7bbb5fa 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
@@ -264,7 +264,7 @@ public class DefaultConfigurationBuilder<T extends BuiltConfiguration> implement
writeXmlSection(xmlWriter, filters);
}
writeXmlSection(xmlWriter, appenders);
- writeXmlSection(xmlWriter, loggers); // TODO includeLocation on loggers
+ writeXmlSection(xmlWriter, loggers);
xmlWriter.writeEndElement(); // "Configuration"
xmlWriter.writeCharacters(System.lineSeparator());
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/4ae1cc24/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java
index c975e01..3525125 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java
@@ -42,10 +42,9 @@ public class ConfigurationBuilderTest {
appenderBuilder.add(builder.newFilter("MarkerFilter", Filter.Result.DENY,
Filter.Result.NEUTRAL).addAttribute("marker", "FLOW"));
builder.add(appenderBuilder);
- builder.add(builder.newLogger("org.apache.logging.log4j", Level.DEBUG).
+ builder.add(builder.newLogger("org.apache.logging.log4j", Level.DEBUG, true).
add(builder.newAppenderRef("Stdout")).
- addAttribute("additivity", false).
- addAttribute("includeLocation", true));
+ addAttribute("additivity", false));
builder.add(builder.newRootLogger(Level.ERROR).add(builder.newAppenderRef("Stdout")));
builder.addProperty("MyKey", "MyValue");
builder.add(builder.newCustomLevel("Panic", 17));
[08/26] logging-log4j2 git commit: Fix method naming
Posted by mi...@apache.org.
Fix method naming
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/b1e8f6f3
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/b1e8f6f3
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/b1e8f6f3
Branch: refs/heads/master
Commit: b1e8f6f3e7758dfaa05c464e382530ddf89834e1
Parents: ce08bfb
Author: Mikael St�ldal <mi...@staldal.nu>
Authored: Sun Aug 21 13:58:45 2016 +0200
Committer: Mikael St�ldal <mi...@staldal.nu>
Committed: Sun Aug 21 13:58:45 2016 +0200
----------------------------------------------------------------------
.../impl/DefaultConfigurationBuilder.java | 26 ++++++++++----------
1 file changed, 13 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/b1e8f6f3/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
index b32b037..47688f7 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
@@ -199,7 +199,7 @@ public class DefaultConfigurationBuilder<T extends BuiltConfiguration> implement
public void writeXmlConfiguration(final OutputStream output) throws IOException {
try {
XMLStreamWriter xmlWriter = XMLOutputFactory.newInstance().createXMLStreamWriter(output);
- writeConfigurationXml(xmlWriter);
+ writeXmlConfiguration(xmlWriter);
xmlWriter.close();
} catch (XMLStreamException e) {
if (e.getNestedException() instanceof IOException) {
@@ -215,7 +215,7 @@ public class DefaultConfigurationBuilder<T extends BuiltConfiguration> implement
StringWriter sw = new StringWriter();
try {
XMLStreamWriter xmlWriter = XMLOutputFactory.newInstance().createXMLStreamWriter(sw);
- writeConfigurationXml(xmlWriter);
+ writeXmlConfiguration(xmlWriter);
xmlWriter.close();
} catch (XMLStreamException e) {
throw new RuntimeException(e);
@@ -223,7 +223,7 @@ public class DefaultConfigurationBuilder<T extends BuiltConfiguration> implement
return sw.toString();
}
- private void writeConfigurationXml(XMLStreamWriter xmlWriter) throws XMLStreamException {
+ private void writeXmlConfiguration(XMLStreamWriter xmlWriter) throws XMLStreamException {
xmlWriter.writeStartDocument();
xmlWriter.writeCharacters(System.lineSeparator());
@@ -257,7 +257,7 @@ public class DefaultConfigurationBuilder<T extends BuiltConfiguration> implement
for (Component component : root.getComponents()) {
if (!component.getAttributes().isEmpty() || !component.getComponents().isEmpty() || component.getValue() != null) {
- writeComponentXml(xmlWriter, component, 1);
+ writeXmlComponent(xmlWriter, component, 1);
}
}
@@ -267,35 +267,35 @@ public class DefaultConfigurationBuilder<T extends BuiltConfiguration> implement
xmlWriter.writeEndDocument();
}
- private void writeComponentXml(XMLStreamWriter xmlWriter, Component component, int nesting) throws XMLStreamException {
+ private void writeXmlComponent(XMLStreamWriter xmlWriter, Component component, int nesting) throws XMLStreamException {
if (!component.getComponents().isEmpty() || component.getValue() != null) {
- indentXml(xmlWriter, nesting);
+ writeXmlIndent(xmlWriter, nesting);
xmlWriter.writeStartElement(component.getPluginType());
- writeAttributesXml(xmlWriter, component);
+ writeXmlAttributes(xmlWriter, component);
xmlWriter.writeCharacters(System.lineSeparator());
for (Component subComponent : component.getComponents()) {
- writeComponentXml(xmlWriter, subComponent, nesting + 1);
+ writeXmlComponent(xmlWriter, subComponent, nesting + 1);
}
if (component.getValue() != null) {
xmlWriter.writeCharacters(component.getValue());
}
- indentXml(xmlWriter, nesting);
+ writeXmlIndent(xmlWriter, nesting);
xmlWriter.writeEndElement();
} else {
- indentXml(xmlWriter, nesting);
+ writeXmlIndent(xmlWriter, nesting);
xmlWriter.writeEmptyElement(component.getPluginType());
- writeAttributesXml(xmlWriter, component);
+ writeXmlAttributes(xmlWriter, component);
}
xmlWriter.writeCharacters(System.lineSeparator());
}
- private void indentXml(XMLStreamWriter xmlWriter, int nesting) throws XMLStreamException {
+ private void writeXmlIndent(XMLStreamWriter xmlWriter, int nesting) throws XMLStreamException {
for (int i = 0; i < nesting; i++) {
xmlWriter.writeCharacters("\t");
}
}
- private void writeAttributesXml(XMLStreamWriter xmlWriter, Component component) throws XMLStreamException {
+ private void writeXmlAttributes(XMLStreamWriter xmlWriter, Component component) throws XMLStreamException {
for (Map.Entry<String, String> attribute : component.getAttributes().entrySet()) {
xmlWriter.writeAttribute(attribute.getKey(), attribute.getValue());
}
[20/26] logging-log4j2 git commit: Revert change
Posted by mi...@apache.org.
Revert change
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/fcfb672c
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/fcfb672c
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/fcfb672c
Branch: refs/heads/master
Commit: fcfb672ca74ea5a3e7179a165339bb17f4d451e3
Parents: 3e7df46
Author: Mikael St�ldal <mi...@staldal.nu>
Authored: Sun Aug 21 20:21:28 2016 +0200
Committer: Mikael St�ldal <mi...@staldal.nu>
Committed: Sun Aug 21 20:21:28 2016 +0200
----------------------------------------------------------------------
.../core/config/AbstractConfiguration.java | 36 ++++++++++----------
1 file changed, 18 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/fcfb672c/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
index ef3f668..a152ea7 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
@@ -16,6 +16,24 @@
*/
package org.apache.logging.log4j.core.config;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
+import java.util.concurrent.CopyOnWriteArrayList;
+
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.core.Appender;
import org.apache.logging.log4j.core.Filter;
@@ -47,24 +65,6 @@ import org.apache.logging.log4j.core.util.NanoClock;
import org.apache.logging.log4j.core.util.WatchManager;
import org.apache.logging.log4j.util.PropertiesUtil;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.CopyOnWriteArrayList;
-
/**
* The base Configuration. Many configuration implementations will extend this class.
*/
[06/26] logging-log4j2 git commit: Merge branch 'master' into
LOG4J2-1528
Posted by mi...@apache.org.
Merge branch 'master' into LOG4J2-1528
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/cc215c76
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/cc215c76
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/cc215c76
Branch: refs/heads/master
Commit: cc215c76d41f8eeb6e8a273c16387a194b63278e
Parents: 7a1cd3a 03fe13f
Author: Mikael St�ldal <mi...@staldal.nu>
Authored: Sun Aug 21 10:17:23 2016 +0200
Committer: Mikael St�ldal <mi...@staldal.nu>
Committed: Sun Aug 21 10:17:23 2016 +0200
----------------------------------------------------------------------
.../java/org/apache/logging/log4j/Logger.java | 20 +
.../org/apache/logging/log4j/ThreadContext.java | 55 +--
.../log4j/spi/DefaultThreadContextMap.java | 6 +-
.../logging/log4j/spi/ThreadContextMap.java | 13 +-
.../logging/log4j/spi/ThreadContextMap2.java | 40 ++
.../logging/log4j/spi/ThreadContextStack.java | 1 +
.../logging/log4j/core/LoggerContext.java | 1 +
.../log4j/core/appender/AbstractManager.java | 2 +
.../log4j/core/appender/FileAppender.java | 12 +-
.../log4j/core/appender/FileManager.java | 36 +-
.../core/appender/OutputStreamManager.java | 18 +-
.../core/appender/RollingFileAppender.java | 372 ++++++++++++-------
.../core/appender/mom/kafka/KafkaManager.java | 185 +++++----
.../appender/rolling/RollingFileManager.java | 50 ++-
.../core/async/AsyncLoggerConfigDisruptor.java | 3 +-
.../log4j/core/async/AsyncLoggerDisruptor.java | 3 +-
.../log4j/core/async/DaemonThreadFactory.java | 53 ---
.../log4j/core/async/RingBufferLogEvent.java | 4 +-
.../core/config/ConfigurationScheduler.java | 15 +-
.../config/composite/DefaultMergeStrategy.java | 1 +
.../apache/logging/log4j/core/jmx/Server.java | 5 +-
.../log4j/core/layout/PatternLayout.java | 4 +-
.../logging/log4j/core/util/Log4jThread.java | 138 +++----
.../log4j/core/util/Log4jThreadFactory.java | 88 +++++
.../log4j/core/appender/FileAppenderTest.java | 48 +--
.../rolling/OnStartupTriggeringPolicyTest.java | 10 +-
.../rolling/RollingAppenderSizeTest.java | 43 ++-
.../rolling/RollingFileAppenderAccessTest.java | 61 +--
.../core/async/RingBufferLogEventTest.java | 18 +-
.../core/config/CompositeConfigurationTest.java | 34 +-
.../log4j-comp-logger-attr-override.json | 38 ++
.../test/resources/log4j-comp-logger-root.xml | 44 +++
.../test/resources/log4j-rolling-7z-lazy.xml | 59 +++
.../test/resources/log4j-rolling-bzip2-lazy.xml | 60 +++
.../resources/log4j-rolling-deflate-lazy.xml | 60 +++
.../test/resources/log4j-rolling-gz-lazy.xml | 59 +++
.../resources/log4j-rolling-pack200-lazy.xml | 60 +++
.../test/resources/log4j-rolling-xz-lazy.xml | 60 +++
.../test/resources/log4j-rolling-zip-lazy.xml | 60 +++
.../flume/appender/FlumePersistentManager.java | 30 +-
.../org/apache/logging/slf4j/MDCContextMap.java | 7 +-
src/changes/changes.xml | 15 +-
src/site/xdoc/manual/appenders.xml | 18 +-
43 files changed, 1354 insertions(+), 555 deletions(-)
----------------------------------------------------------------------
[16/26] logging-log4j2 git commit: Remove TODO for CustomLevel in
ConfigurationBuilder
Posted by mi...@apache.org.
Remove TODO for CustomLevel in ConfigurationBuilder
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/244b79b3
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/244b79b3
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/244b79b3
Branch: refs/heads/master
Commit: 244b79b36623b6a61cdb5c1d5715bd2b32083290
Parents: 7ab63d4
Author: Mikael St�ldal <mi...@staldal.nu>
Authored: Sun Aug 21 19:17:25 2016 +0200
Committer: Mikael St�ldal <mi...@staldal.nu>
Committed: Sun Aug 21 19:17:25 2016 +0200
----------------------------------------------------------------------
.../apache/logging/log4j/core/config/AbstractConfiguration.java | 2 +-
.../core/config/builder/impl/DefaultConfigurationBuilder.java | 2 +-
.../log4j/core/config/builder/ConfigurationBuilderTest.java | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/244b79b3/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
index b098334..68f88d1 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
@@ -253,7 +253,7 @@ public abstract class AbstractConfiguration extends AbstractFilterable implement
writeXmlSection(xmlWriter, lookupSection("Properties"));
writeXmlSection(xmlWriter, lookupSection("Scripts"));
- writeXmlSection(xmlWriter, lookupSection("CustomLevels")); // TODO customLevel level vs intLevel
+ writeXmlSection(xmlWriter, lookupSection("CustomLevels"));
Node filters = lookupSection("Filters");
if (filters != null) {
writeXmlSection(xmlWriter, filters);
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/244b79b3/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
index 849a9f4..139d721 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
@@ -257,7 +257,7 @@ public class DefaultConfigurationBuilder<T extends BuiltConfiguration> implement
writeXmlSection(xmlWriter, properties);
writeXmlSection(xmlWriter, scripts);
- writeXmlSection(xmlWriter, customLevels); // TODO customLevel level vs intLevel
+ writeXmlSection(xmlWriter, customLevels);
if (filters.getComponents().size() == 1) {
writeXmlComponent(xmlWriter, filters.getComponents().get(0), 1);
} else if (filters.getComponents().size() > 1) {
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/244b79b3/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java
index 15b9599..c975e01 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java
@@ -62,7 +62,7 @@ public class ConfigurationBuilderTest {
"\t\t<ScriptFile path=\"target/test-classes/scripts/filter.groovy\" name=\"target/test-classes/scripts/filter.groovy\" isWatched=\"true\"/>" + System.lineSeparator() +
"\t</Scripts>" + System.lineSeparator() +
"\t<CustomLevels>" + System.lineSeparator() +
- "\t\t<CustomLevel intLevel=\"17\" name=\"Panic\"/>" + System.lineSeparator() +
+ "\t\t<CustomLevel name=\"Panic\" intLevel=\"17\"/>" + System.lineSeparator() +
"\t</CustomLevels>" + System.lineSeparator() +
"\t<ThresholdFilter onMatch=\"ACCEPT\" level=\"DEBUG\" onMisMatch=\"NEUTRAL\"/>" + System.lineSeparator() +
"\t<Appenders>" + System.lineSeparator() +
[22/26] logging-log4j2 git commit: merged master into LOG4J2-1528
Posted by mi...@apache.org.
merged master into LOG4J2-1528
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/557a4c87
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/557a4c87
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/557a4c87
Branch: refs/heads/master
Commit: 557a4c87597895beed9d9861d8dc1a3e9f6ceb65
Parents: 7a1cd3a 139f57b
Author: rpopma <rp...@apache.org>
Authored: Sun Aug 28 19:26:06 2016 +0900
Committer: rpopma <rp...@apache.org>
Committed: Sun Aug 28 19:26:06 2016 +0900
----------------------------------------------------------------------
.../config/Log4j1ConfigurationFactory.java | 311 +---------
.../log4j/config/Log4j1ConfigurationParser.java | 327 ++++++++++
.../apache/log4j/BasicConfigurationFactory.java | 13 +-
.../config/Log4j1ConfigurationFactoryTest.java | 29 +-
...g4j-console-EnhancedPatternLayout.properties | 3 +-
.../log4j-console-HtmlLayout.properties | 1 -
.../log4j-console-PatternLayout.properties | 1 -
.../log4j-console-SimpleLayout.properties | 1 -
.../log4j-console-TTCCLayout.properties | 1 -
.../log4j-console-XmlLayout.properties | 1 -
.../log4j-file-SimpleLayout.properties | 17 +
log4j-api-scala_2.10/.gitignore | 3 +
log4j-api-scala_2.10/pom.xml | 150 +++++
.../org/apache/logging/log4j/scala/Logger.scala | 592 +++++++++++++++++++
.../logging/log4j/scala/LoggerMacro.scala | 425 +++++++++++++
.../apache/logging/log4j/scala/Logging.scala | 30 +
.../apache/logging/log4j/scala/LoggerTest.scala | 550 +++++++++++++++++
log4j-api-scala_2.11/.gitignore | 3 +
log4j-api-scala_2.11/pom.xml | 150 +++++
.../org/apache/logging/log4j/scala/Logger.scala | 592 +++++++++++++++++++
.../logging/log4j/scala/LoggerMacro.scala | 425 +++++++++++++
.../apache/logging/log4j/scala/Logging.scala | 30 +
.../apache/logging/log4j/scala/LoggerTest.scala | 550 +++++++++++++++++
.../java/org/apache/logging/log4j/Logger.java | 20 +
.../org/apache/logging/log4j/ThreadContext.java | 55 +-
.../log4j/spi/DefaultThreadContextMap.java | 6 +-
.../logging/log4j/spi/ThreadContextMap.java | 13 +-
.../logging/log4j/spi/ThreadContextMap2.java | 40 ++
.../logging/log4j/spi/ThreadContextStack.java | 1 +
log4j-bom/pom.xml | 12 +
.../logging/log4j/core/AbstractLifeCycle.java | 8 +
.../apache/logging/log4j/core/LifeCycle.java | 13 +
.../logging/log4j/core/LoggerContext.java | 140 ++++-
.../log4j/core/appender/AbstractManager.java | 19 +-
.../core/appender/ConfigurationFactoryData.java | 50 ++
.../log4j/core/appender/ConsoleAppender.java | 4 -
.../log4j/core/appender/FileAppender.java | 28 +-
.../log4j/core/appender/FileManager.java | 58 +-
.../core/appender/OutputStreamManager.java | 26 +-
.../core/appender/RandomAccessFileAppender.java | 2 +-
.../core/appender/RandomAccessFileManager.java | 27 +-
.../core/appender/RollingFileAppender.java | 372 +++++++-----
.../RollingRandomAccessFileAppender.java | 2 +-
.../log4j/core/appender/WriterManager.java | 2 +-
.../appender/db/AbstractDatabaseManager.java | 2 +-
.../log4j/core/appender/mom/JmsManager.java | 2 +-
.../core/appender/mom/jeromq/JeroMqManager.java | 2 +-
.../core/appender/mom/kafka/KafkaAppender.java | 7 +-
.../core/appender/mom/kafka/KafkaManager.java | 185 +++---
.../appender/rolling/RollingFileManager.java | 68 ++-
.../rolling/RollingRandomAccessFileManager.java | 32 +-
.../core/appender/rolling/TriggeringPolicy.java | 2 +-
.../core/async/AsyncLoggerConfigDisruptor.java | 3 +-
.../log4j/core/async/AsyncLoggerDisruptor.java | 3 +-
.../log4j/core/async/DaemonThreadFactory.java | 53 --
.../log4j/core/async/RingBufferLogEvent.java | 4 +-
.../core/config/AbstractConfiguration.java | 42 +-
.../log4j/core/config/AppenderControl.java | 3 +-
.../log4j/core/config/Configuration.java | 8 +
.../log4j/core/config/ConfigurationFactory.java | 86 +--
.../core/config/ConfigurationScheduler.java | 23 +-
.../core/config/ConfiguratonFileWatcher.java | 10 +-
.../logging/log4j/core/config/Configurator.java | 36 +-
.../log4j/core/config/DefaultConfiguration.java | 2 +-
.../logging/log4j/core/config/LoggerConfig.java | 36 +-
.../log4j/core/config/NullConfiguration.java | 2 +-
.../builder/api/ConfigurationBuilder.java | 7 +
.../config/builder/impl/BuiltConfiguration.java | 5 +-
.../impl/DefaultConfigurationBuilder.java | 45 +-
.../DefaultCustomLevelComponentBuilder.java | 2 +-
.../composite/CompositeConfiguration.java | 4 +-
.../config/composite/DefaultMergeStrategy.java | 1 +
.../core/config/json/JsonConfiguration.java | 14 +-
.../config/json/JsonConfigurationFactory.java | 5 +-
.../config/plugins/PluginBuilderFactory.java | 1 +
.../config/plugins/PluginConfiguration.java | 1 +
.../core/config/plugins/PluginFactory.java | 2 +-
.../log4j/core/config/plugins/PluginNode.java | 1 +
.../core/config/plugins/util/PluginBuilder.java | 2 -
.../config/plugins/util/PluginRegistry.java | 1 -
.../core/config/plugins/util/ResolverUtil.java | 13 +-
.../properties/PropertiesConfiguration.java | 8 +-
.../PropertiesConfigurationBuilder.java | 16 +-
.../PropertiesConfigurationFactory.java | 13 +-
.../log4j/core/config/xml/XmlConfiguration.java | 47 +-
.../config/xml/XmlConfigurationFactory.java | 6 +-
.../core/config/yaml/YamlConfiguration.java | 7 +-
.../config/yaml/YamlConfigurationFactory.java | 5 +-
.../core/filter/DynamicThresholdFilter.java | 85 ++-
.../log4j/core/impl/Log4jContextFactory.java | 6 +-
.../log4j/core/jackson/Initializers.java | 10 +-
.../log4j/core/jackson/Log4jJsonModule.java | 9 +-
.../core/jackson/Log4jJsonObjectMapper.java | 6 +-
.../log4j/core/jackson/Log4jXmlModule.java | 6 +-
.../core/jackson/Log4jXmlObjectMapper.java | 9 +-
.../log4j/core/jackson/Log4jYamlModule.java | 9 +-
.../core/jackson/Log4jYamlObjectMapper.java | 6 +-
.../ThrowableProxyWithoutStacktraceMixIn.java | 77 +++
.../log4j/core/jmx/LoggerContextAdmin.java | 4 +-
.../apache/logging/log4j/core/jmx/Server.java | 19 +-
.../log4j/core/layout/JacksonFactory.java | 22 +-
.../logging/log4j/core/layout/JsonLayout.java | 14 +-
.../log4j/core/layout/PatternLayout.java | 4 +-
.../logging/log4j/core/layout/XmlLayout.java | 15 +-
.../logging/log4j/core/layout/YamlLayout.java | 13 +-
.../logging/log4j/core/net/JndiManager.java | 2 +-
.../logging/log4j/core/net/SmtpManager.java | 2 +-
.../core/net/server/AbstractSocketServer.java | 7 +-
.../log4j/core/net/server/JmsServer.java | 10 +-
.../server/JsonInputStreamLogEventBridge.java | 2 +-
.../log4j/core/script/ScriptManager.java | 1 -
.../core/selector/BasicContextSelector.java | 131 ++--
.../apache/logging/log4j/core/util/Assert.java | 38 --
.../logging/log4j/core/util/Constants.java | 11 -
.../util/DefaultShutdownCallbackRegistry.java | 7 +
.../logging/log4j/core/util/Log4jThread.java | 138 ++---
.../log4j/core/util/Log4jThreadFactory.java | 99 ++++
.../logging/log4j/MarkerMixInXmlTest.java | 2 +-
.../log4j/core/BasicConfigurationFactory.java | 6 +-
.../log4j/core/appender/FileAppenderTest.java | 48 +-
.../core/appender/OutputStreamAppenderTest.java | 2 +-
.../appender/RandomAccessFileManagerTest.java | 18 +-
.../rolling/OnStartupTriggeringPolicyTest.java | 10 +-
.../RandomRollingAppenderOnStartupTest.java | 2 +-
.../RollingAppenderCronOnceADayTest.java | 125 ++++
.../rolling/RollingAppenderCronTest.java | 2 +-
.../RollingAppenderCustomDeleteActionTest.java | 2 +-
...lingAppenderDeleteAccumulatedCount1Test.java | 2 +-
...lingAppenderDeleteAccumulatedCount2Test.java | 2 +-
...ollingAppenderDeleteAccumulatedSizeTest.java | 2 +-
.../RollingAppenderDeleteMaxDepthTest.java | 2 +-
.../RollingAppenderDeleteNestedTest.java | 2 +-
.../RollingAppenderDeleteScriptFri13thTest.java | 2 +-
.../RollingAppenderDeleteScriptTest.java | 2 +-
...ollingAppenderNoUnconditionalDeleteTest.java | 2 +-
.../rolling/RollingAppenderOnStartupTest.java | 2 +-
.../rolling/RollingAppenderSizeTest.java | 45 +-
.../rolling/RollingAppenderTimeAndSizeTest.java | 4 +-
.../rolling/RollingAppenderTimeTest.java | 2 +-
.../rolling/RollingFileAppenderAccessTest.java | 61 +-
...RandomAccessFileManagerHeaderFooterTest.java | 3 +-
.../RollingRandomAccessFileManagerTest.java | 24 +-
.../core/async/RingBufferLogEventTest.java | 18 +-
.../core/config/CompositeConfigurationTest.java | 34 +-
.../log4j/core/config/ConfigurationTest.java | 6 +
.../builder/ConfigurationAssemblerTest.java | 35 +-
.../builder/CustomConfigurationFactory.java | 18 +-
.../plugins/util/PluginManagerPackagesTest.java | 2 +-
.../util/ResolverUtilCustomProtocolTest.java | 208 +++++++
.../config/plugins/util/ResolverUtilTest.java | 126 ++--
.../core/filter/DynamicThresholdFilterTest.java | 17 +
.../log4j/core/jackson/LevelMixInJsonTest.java | 2 +-
.../jackson/StackTraceElementMixInTest.java | 2 +-
.../core/layout/CsvParameterLayoutTest.java | 59 +-
.../log4j/core/layout/JsonLayoutTest.java | 59 +-
.../log4j/core/layout/LogEventFixtures.java | 6 +-
.../log4j/core/layout/XmlLayoutTest.java | 59 +-
.../log4j/core/layout/YamlLayoutTest.java | 55 +-
.../net/server/AbstractSocketServerTest.java | 4 +-
.../logging/log4j/junit/LoggerContextRule.java | 27 +-
.../junit/URLStreamHandlerFactoryRule.java | 96 +++
.../log4j-comp-logger-attr-override.json | 38 ++
.../test/resources/log4j-comp-logger-root.xml | 44 ++
.../test/resources/log4j-rolling-7z-lazy.xml | 59 ++
.../test/resources/log4j-rolling-bzip2-lazy.xml | 60 ++
.../resources/log4j-rolling-cron-once-a-day.xml | 47 ++
.../src/test/resources/log4j-rolling-cron.xml | 2 +-
.../src/test/resources/log4j-rolling-cron2.xml | 2 +-
.../resources/log4j-rolling-deflate-lazy.xml | 60 ++
.../test/resources/log4j-rolling-gz-lazy.xml | 59 ++
.../resources/log4j-rolling-pack200-lazy.xml | 60 ++
.../test/resources/log4j-rolling-xz-lazy.xml | 60 ++
.../test/resources/log4j-rolling-zip-lazy.xml | 60 ++
.../flume/appender/AbstractFlumeManager.java | 2 +-
.../flume/appender/FlumePersistentManager.java | 30 +-
.../configuration/CustomConfiguration.java | 13 +-
.../CustomConfigurationFactory.java | 12 +-
log4j-samples/pom.xml | 1 +
log4j-samples/scala-api/pom.xml | 65 ++
.../scala-api/src/main/resources/log4j2.xml | 32 +
.../logging/log4j/scalasample/LoggingApp.scala | 31 +
.../org/apache/logging/slf4j/MDCContextMap.java | 7 +-
.../org/apache/logging/log4j/web/WebLookup.java | 8 -
pom.xml | 14 +-
src/changes/changes.xml | 99 +++-
src/site/site.xml | 1 +
src/site/xdoc/manual/appenders.xml | 18 +-
src/site/xdoc/manual/customconfig.xml | 10 +-
src/site/xdoc/manual/extending.xml | 8 +-
src/site/xdoc/manual/layouts.xml.vm | 15 +
src/site/xdoc/manual/scala-api.xml | 91 +++
src/site/xdoc/runtime-dependencies.xml | 7 +
192 files changed, 7381 insertions(+), 1523 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/557a4c87/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/api/ConfigurationBuilder.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/557a4c87/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
----------------------------------------------------------------------
[24/26] logging-log4j2 git commit: LOG4J2-1528 changes.xml
Posted by mi...@apache.org.
LOG4J2-1528 changes.xml
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/ea90a316
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/ea90a316
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/ea90a316
Branch: refs/heads/master
Commit: ea90a316d888a69e82f1de959a6bc69ae2d6d7ae
Parents: c72522f
Author: rpopma <rp...@apache.org>
Authored: Sun Aug 28 19:32:18 2016 +0900
Committer: rpopma <rp...@apache.org>
Committed: Sun Aug 28 19:32:18 2016 +0900
----------------------------------------------------------------------
src/changes/changes.xml | 3 +++
1 file changed, 3 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ea90a316/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 108d75a..0842ec5 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -24,6 +24,9 @@
</properties>
<body>
<release version="2.7" date="2016-MM-DD" description="GA Release 2.7">
+ <action issue="LOG4J2-1528" dev="mikes" type="add">
+ Create XML configuration file from ConfigurationBuilder.
+ </action>
<action issue="LOG4J2-1181" dev="mikes" type="add">
Scala API.
</action>
[15/26] logging-log4j2 git commit: Merge branch 'master' into
LOG4J2-1528
Posted by mi...@apache.org.
Merge branch 'master' into LOG4J2-1528
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/7ab63d49
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/7ab63d49
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/7ab63d49
Branch: refs/heads/master
Commit: 7ab63d49d935d481048f78d7a80bb2be13da2693
Parents: 634df7c f7298ce
Author: Mikael St�ldal <mi...@staldal.nu>
Authored: Sun Aug 21 19:14:56 2016 +0200
Committer: Mikael St�ldal <mi...@staldal.nu>
Committed: Sun Aug 21 19:14:56 2016 +0200
----------------------------------------------------------------------
.../builder/impl/DefaultCustomLevelComponentBuilder.java | 2 +-
.../core/config/builder/ConfigurationAssemblerTest.java | 8 ++++++++
.../core/config/builder/CustomConfigurationFactory.java | 1 +
3 files changed, 10 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
[23/26] logging-log4j2 git commit: Merge remote-tracking branch
'origin/LOG4J2-1528' into LOG4J2-1528
Posted by mi...@apache.org.
Merge remote-tracking branch 'origin/LOG4J2-1528' into LOG4J2-1528
Conflicts:
src/changes/changes.xml
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/c72522f4
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/c72522f4
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/c72522f4
Branch: refs/heads/master
Commit: c72522f426563139f952fccc2e87b6c10e380e79
Parents: 557a4c8 d8fb964
Author: rpopma <rp...@apache.org>
Authored: Sun Aug 28 19:28:53 2016 +0900
Committer: rpopma <rp...@apache.org>
Committed: Sun Aug 28 19:28:53 2016 +0900
----------------------------------------------------------------------
log4j-1.2-api/pom.xml | 4 -
.../apache/log4j/layout/Log4j1XmlLayout.java | 4 +-
.../pattern/Log4j1NdcPatternConverter.java | 4 +-
.../org/apache/logging/log4j/util/Strings.java | 63 ++++++++++++++
.../impl/DefaultConfigurationBuilder.java | 50 +++++++----
.../builder/ConfigurationBuilderTest.java | 90 ++++++++++++++++++++
6 files changed, 190 insertions(+), 25 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/c72522f4/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
----------------------------------------------------------------------
[25/26] logging-log4j2 git commit: Merge branch 'master' into
LOG4J2-1528
Posted by mi...@apache.org.
Merge branch 'master' into LOG4J2-1528
# Conflicts:
# src/changes/changes.xml
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/45a7da2d
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/45a7da2d
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/45a7da2d
Branch: refs/heads/master
Commit: 45a7da2d27df625855f3b0529a716ee931cd987f
Parents: ea90a31 ef321c1
Author: Mikael St�ldal <mi...@magine.com>
Authored: Tue Aug 30 11:26:58 2016 +0200
Committer: Mikael St�ldal <mi...@magine.com>
Committed: Tue Aug 30 11:26:58 2016 +0200
----------------------------------------------------------------------
.../core/appender/routing/IdlePurgePolicy.java | 57 ++++++---
.../core/appender/routing/RoutingAppender.java | 35 +++---
.../log4j/core/layout/AbstractCsvLayout.java | 10 +-
.../apache/logging/log4j/core/DeadlockTest.java | 2 +-
.../logging/log4j/core/LoggerUpdateTest.java | 2 +-
.../CsvJsonParameterLayoutFileAppenderTest.java | 117 +++++++++++++++++++
.../appender/JsonCompleteFileAppenderTest.java | 2 +-
.../appender/RandomAccessFileAppenderTests.java | 2 +-
.../db/jdbc/AbstractJdbcAppenderTest.java | 12 +-
.../db/jpa/AbstractJpaAppenderTest.java | 12 +-
.../core/appender/db/jpa/JpaH2AppenderTest.java | 28 +++--
.../db/jpa/JpaHyperSqlAppenderTest.java | 28 +++--
.../RollingAppenderCronOnceADayTest.java | 4 +-
.../rolling/RollingAppenderCronTest.java | 2 +-
.../routing/PropertiesRoutingAppenderTest.java | 2 +-
.../appender/routing/RoutingAppenderTest.java | 2 +-
.../routing/RoutingAppenderWithPurgingTest.java | 21 +++-
.../routing/RoutingDefaultAppenderTest.java | 2 +-
.../log4j/core/config/ConfigurationTest.java | 2 +-
.../core/config/CustomConfigurationTest.java | 2 +-
.../core/config/MissingRootLoggerTest.java | 2 +-
.../logging/log4j/core/config/XIncludeTest.java | 2 +-
.../core/util/ShutdownCallbackRegistryTest.java | 2 +-
.../logging/log4j/junit/LoggerContextRule.java | 22 ++--
.../test/resources/log4j-cvs-json-parameter.xml | 32 +++++
log4j-samples/scala-api/.gitignore | 3 +
src/site/xdoc/maven-artifacts.xml.vm | 28 +++++
27 files changed, 318 insertions(+), 117 deletions(-)
----------------------------------------------------------------------
[10/26] logging-log4j2 git commit: Test packages configuration
attribute
Posted by mi...@apache.org.
Test packages configuration attribute
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/0353fa47
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/0353fa47
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/0353fa47
Branch: refs/heads/master
Commit: 0353fa47493a4f6b4c0ec8a5a397de7a001849c4
Parents: 8723598
Author: Mikael St�ldal <mi...@staldal.nu>
Authored: Sun Aug 21 16:25:55 2016 +0200
Committer: Mikael St�ldal <mi...@staldal.nu>
Committed: Sun Aug 21 16:25:55 2016 +0200
----------------------------------------------------------------------
.../log4j/core/config/builder/ConfigurationBuilderTest.java | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/0353fa47/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java
index b4b2bff..951038f 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java
@@ -29,7 +29,7 @@ public class ConfigurationBuilderTest {
private final static String expectedXml1 =
"<?xml version='1.0' encoding='UTF-8'?>" + System.lineSeparator() +
- "<Configuration name=\"config name\" status=\"ERROR\">" + System.lineSeparator() +
+ "<Configuration name=\"config name\" status=\"ERROR\" packages=\"foo,bar\">" + System.lineSeparator() +
"\t<Properties>" + System.lineSeparator() +
"\t\t<Property name=\"MyKey\">MyValue</Property>" + System.lineSeparator() +
"\t</Properties>" + System.lineSeparator() +
@@ -62,13 +62,14 @@ public class ConfigurationBuilderTest {
CustomConfigurationFactory.addTestFixtures("config name", builder);
builder.addProperty("MyKey", "MyValue");
builder.add(builder.newCustomLevel("Panic", 17));
+ builder.setPackages("foo,bar");
final String xmlConfiguration = builder.toXmlConfiguration();
assertEquals(expectedXml1, xmlConfiguration);
}
private final static String expectedXml2 =
"<?xml version='1.0' encoding='UTF-8'?>" + System.lineSeparator() +
- "<Configuration name=\"config name\" status=\"ERROR\">" + System.lineSeparator() +
+ "<Configuration name=\"config name\" status=\"ERROR\" packages=\"foo,bar\">" + System.lineSeparator() +
"\t<Properties>" + System.lineSeparator() +
"\t\t<Property name=\"MyKey\">MyValue</Property>" + System.lineSeparator() +
"\t</Properties>" + System.lineSeparator() +
@@ -101,6 +102,7 @@ public class ConfigurationBuilderTest {
CustomConfigurationFactory.addTestFixtures("config name", builder);
builder.addProperty("MyKey", "MyValue");
builder.add(builder.newCustomLevel("Panic", 17));
+ builder.setPackages("foo,bar");
AbstractConfiguration configuration = builder.build(false);
configuration.setup();
final String xmlConfiguration = configuration.toXmlConfiguration();
[17/26] logging-log4j2 git commit: Merge branch 'master' into
LOG4J2-1528
Posted by mi...@apache.org.
Merge branch 'master' into LOG4J2-1528
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/090d63ad
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/090d63ad
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/090d63ad
Branch: refs/heads/master
Commit: 090d63ad192d3fedbde20aa4578ebab8571c29e9
Parents: 244b79b e73d9d4
Author: Mikael St�ldal <mi...@staldal.nu>
Authored: Sun Aug 21 20:14:36 2016 +0200
Committer: Mikael St�ldal <mi...@staldal.nu>
Committed: Sun Aug 21 20:14:36 2016 +0200
----------------------------------------------------------------------
.../impl/DefaultConfigurationBuilder.java | 16 ++++++------
.../builder/ConfigurationAssemblerTest.java | 27 ++++++++++++++++----
.../builder/CustomConfigurationFactory.java | 6 ++---
3 files changed, 33 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/090d63ad/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
----------------------------------------------------------------------
[07/26] logging-log4j2 git commit: Unit test for ConfigurationBuilder
XML generation
Posted by mi...@apache.org.
Unit test for ConfigurationBuilder XML generation
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/ce08bfbe
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/ce08bfbe
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/ce08bfbe
Branch: refs/heads/master
Commit: ce08bfbe41cc96b891446fd76595ac3611f92b5e
Parents: cc215c7
Author: Mikael St�ldal <mi...@staldal.nu>
Authored: Sun Aug 21 10:41:39 2016 +0200
Committer: Mikael St�ldal <mi...@staldal.nu>
Committed: Sun Aug 21 10:41:39 2016 +0200
----------------------------------------------------------------------
.../impl/DefaultConfigurationBuilder.java | 1 +
.../builder/ConfigurationBuilderTest.java | 61 ++++++++++++++++++++
2 files changed, 62 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ce08bfbe/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
index 2fc78f4..b32b037 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
@@ -262,6 +262,7 @@ public class DefaultConfigurationBuilder<T extends BuiltConfiguration> implement
}
xmlWriter.writeEndElement(); // "Configuration"
+ xmlWriter.writeCharacters(System.lineSeparator());
xmlWriter.writeEndDocument();
}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ce08bfbe/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java
new file mode 100644
index 0000000..3d8c4d2
--- /dev/null
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/config/builder/ConfigurationBuilderTest.java
@@ -0,0 +1,61 @@
+/*
+ * 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.builder;
+
+import org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilder;
+import org.apache.logging.log4j.core.config.builder.api.ConfigurationBuilderFactory;
+import org.apache.logging.log4j.core.config.builder.impl.BuiltConfiguration;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+
+public class ConfigurationBuilderTest {
+
+ private final static String expectedXml =
+ "<?xml version='1.0' encoding='UTF-8'?>" + System.lineSeparator() +
+ "<Configuration name=\"config name\" status=\"ERROR\">" + System.lineSeparator() +
+ "\t<Scripts>" + System.lineSeparator() +
+ "\t\t<ScriptFile path=\"target/test-classes/scripts/filter.groovy\" name=\"target/test-classes/scripts/filter.groovy\" isWatched=\"true\"/>" + System.lineSeparator() +
+ "\t</Scripts>" + System.lineSeparator() +
+ "\t<Filters>" + System.lineSeparator() +
+ "\t\t<ThresholdFilter onMatch=\"ACCEPT\" level=\"DEBUG\" onMisMatch=\"NEUTRAL\"/>" + System.lineSeparator() +
+ "\t</Filters>" + System.lineSeparator() +
+ "\t<Appenders>" + System.lineSeparator() +
+ "\t\t<CONSOLE name=\"Stdout\" target=\"SYSTEM_OUT\">" + System.lineSeparator() +
+ "\t\t\t<PatternLayout pattern=\"%d [%t] %-5level: %msg%n%throwable\"/>" + System.lineSeparator() +
+ "\t\t\t<MarkerFilter onMatch=\"DENY\" onMisMatch=\"NEUTRAL\" marker=\"FLOW\"/>" + System.lineSeparator() +
+ "\t\t</CONSOLE>" + System.lineSeparator() +
+ "\t</Appenders>" + System.lineSeparator() +
+ "\t<Loggers>" + System.lineSeparator() +
+ "\t\t<Logger additivity=\"false\" level=\"DEBUG\" includeLocation=\"true\" name=\"org.apache.logging.log4j\">" + System.lineSeparator() +
+ "\t\t\t<AppenderRef ref=\"Stdout\"/>" + System.lineSeparator() +
+ "\t\t</Logger>" + System.lineSeparator() +
+ "\t\t<Root level=\"ERROR\" includeLocation=\"true\">" + System.lineSeparator() +
+ "\t\t\t<AppenderRef ref=\"Stdout\"/>" + System.lineSeparator() +
+ "\t\t</Root>" + System.lineSeparator() +
+ "\t</Loggers>" + System.lineSeparator() +
+ "</Configuration>" + System.lineSeparator();
+
+ @Test
+ public void testXmlConstructing() throws Exception {
+ final ConfigurationBuilder<BuiltConfiguration> builder = ConfigurationBuilderFactory.newConfigurationBuilder();
+ CustomConfigurationFactory.addTestFixtures("config name", builder);
+ final String xmlConfiguration = builder.toXmlConfiguration();
+ assertEquals(expectedXml, xmlConfiguration);
+ }
+
+}
[21/26] logging-log4j2 git commit: Update changes.xml
Posted by mi...@apache.org.
Update changes.xml
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/d8fb9647
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/d8fb9647
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/d8fb9647
Branch: refs/heads/master
Commit: d8fb964705af0f0f0d47ca0d5e9f7af0353d6b43
Parents: fcfb672
Author: Mikael St�ldal <mi...@magine.com>
Authored: Mon Aug 22 10:26:07 2016 +0200
Committer: Mikael St�ldal <mi...@magine.com>
Committed: Mon Aug 22 10:26:07 2016 +0200
----------------------------------------------------------------------
src/changes/changes.xml | 3 +++
1 file changed, 3 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/d8fb9647/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 767e097..626de55 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -24,6 +24,9 @@
</properties>
<body>
<release version="2.7" date="2016-MM-DD" description="GA Release 2.7">
+ <action issue="LOG4J2-1528" dev="mikes" type="add">
+ Create XML configuration file from ConfigurationBuilder.
+ </action>
<action issue="LOG4J2-1529" dev="mattsicker" type="fix" due-to="Sridevi Narra">
Attributes are not merged properly in composite configurations.
</action>
[03/26] logging-log4j2 git commit: Merge remote-tracking branch
'origin/LOG4J2-1528' into LOG4J2-1528
Posted by mi...@apache.org.
Merge remote-tracking branch 'origin/LOG4J2-1528' into LOG4J2-1528
# Conflicts:
# log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/DefaultConfigurationBuilder.java
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/486823a6
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/486823a6
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/486823a6
Branch: refs/heads/master
Commit: 486823a6a23fbbd56f2b38415635c072311c66cd
Parents: ac80524 446fb87
Author: Mikael St�ldal <mi...@staldal.nu>
Authored: Wed Aug 17 22:23:07 2016 +0200
Committer: Mikael St�ldal <mi...@staldal.nu>
Committed: Wed Aug 17 22:23:07 2016 +0200
----------------------------------------------------------------------
----------------------------------------------------------------------
[13/26] logging-log4j2 git commit: Merge branch 'master' into
LOG4J2-1528
Posted by mi...@apache.org.
Merge branch 'master' into LOG4J2-1528
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/e0f5ec45
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/e0f5ec45
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/e0f5ec45
Branch: refs/heads/master
Commit: e0f5ec45099de8cb669c8b8327bcb9f003d3edc0
Parents: 5f361e0 520170c
Author: Mikael St�ldal <mi...@staldal.nu>
Authored: Sun Aug 21 17:10:03 2016 +0200
Committer: Mikael St�ldal <mi...@staldal.nu>
Committed: Sun Aug 21 17:10:03 2016 +0200
----------------------------------------------------------------------
.../config/Log4j1ConfigurationFactory.java | 312 +------------------
.../log4j/config/Log4j1ConfigurationParser.java | 301 ++++++++++++++++++
...g4j-console-EnhancedPatternLayout.properties | 2 +-
.../PropertiesConfigurationFactory.java | 3 +-
4 files changed, 317 insertions(+), 301 deletions(-)
----------------------------------------------------------------------
[11/26] logging-log4j2 git commit: Fix string-joining of packages
configuration attribute
Posted by mi...@apache.org.
Fix string-joining of packages configuration attribute
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/871a0971
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/871a0971
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/871a0971
Branch: refs/heads/master
Commit: 871a097181aa7f6136638d9f0a9e7095e32ef29f
Parents: 0353fa4
Author: Mikael St�ldal <mi...@staldal.nu>
Authored: Sun Aug 21 16:47:20 2016 +0200
Committer: Mikael St�ldal <mi...@staldal.nu>
Committed: Sun Aug 21 16:47:20 2016 +0200
----------------------------------------------------------------------
.../org/apache/logging/log4j/util/Strings.java | 63 ++++++++++++++++++++
.../core/config/AbstractConfiguration.java | 3 +-
2 files changed, 65 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/871a0971/log4j-api/src/main/java/org/apache/logging/log4j/util/Strings.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/util/Strings.java b/log4j-api/src/main/java/org/apache/logging/log4j/util/Strings.java
index 294b771..747bed4 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/util/Strings.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/util/Strings.java
@@ -16,7 +16,9 @@
*/
package org.apache.logging.log4j.util;
+import java.util.Iterator;
import java.util.Locale;
+import java.util.Objects;
/**
* <em>Consider this class private.</em>
@@ -166,4 +168,65 @@ public final class Strings {
final String ts = str == null ? null : str.trim();
return isEmpty(ts) ? null : ts;
}
+
+ /**
+ * <p>Joins the elements of the provided {@code Iterable} into
+ * a single String containing the provided elements.</p>
+ *
+ * <p>No delimiter is added before or after the list. Null objects or empty
+ * strings within the iteration are represented by empty strings.</p>
+ *
+ * @param iterable the {@code Iterable} providing the values to join together, may be null
+ * @param separator the separator character to use
+ * @return the joined String, {@code null} if null iterator input
+ */
+ public static String join(final Iterable<?> iterable, final char separator) {
+ if (iterable == null) {
+ return null;
+ }
+ return join(iterable.iterator(), separator);
+ }
+
+ /**
+ * <p>Joins the elements of the provided {@code Iterator} into
+ * a single String containing the provided elements.</p>
+ *
+ * <p>No delimiter is added before or after the list. Null objects or empty
+ * strings within the iteration are represented by empty strings.</p>
+ *
+ * @param iterator the {@code Iterator} of values to join together, may be null
+ * @param separator the separator character to use
+ * @return the joined String, {@code null} if null iterator input
+ */
+ public static String join(final Iterator<?> iterator, final char separator) {
+
+ // handle null, zero and one elements before building a buffer
+ if (iterator == null) {
+ return null;
+ }
+ if (!iterator.hasNext()) {
+ return EMPTY;
+ }
+ final Object first = iterator.next();
+ if (!iterator.hasNext()) {
+ return Objects.toString(first);
+ }
+
+ // two or more elements
+ final StringBuilder buf = new StringBuilder(256); // Java default is 16, probably too small
+ if (first != null) {
+ buf.append(first);
+ }
+
+ while (iterator.hasNext()) {
+ buf.append(separator);
+ final Object obj = iterator.next();
+ if (obj != null) {
+ buf.append(obj);
+ }
+ }
+
+ return buf.toString();
+ }
+
}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/871a0971/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
index f123991..d89b8f5 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java
@@ -46,6 +46,7 @@ import org.apache.logging.log4j.core.util.NameUtil;
import org.apache.logging.log4j.core.util.NanoClock;
import org.apache.logging.log4j.core.util.WatchManager;
import org.apache.logging.log4j.util.PropertiesUtil;
+import org.apache.logging.log4j.util.Strings;
import javax.xml.stream.XMLOutputFactory;
import javax.xml.stream.XMLStreamException;
@@ -236,7 +237,7 @@ public abstract class AbstractConfiguration extends AbstractFilterable implement
}
*/
if (!getPluginPackages().isEmpty()) {
- xmlWriter.writeAttribute("packages", getPluginPackages().toString()); // TODO comma-separated string
+ xmlWriter.writeAttribute("packages", Strings.join(getPluginPackages(), ','));
}
if (!isShutdownHookEnabled()) {
xmlWriter.writeAttribute("shutdownHook", "disable");
[05/26] logging-log4j2 git commit: Merge branch 'master' into
LOG4J2-1528
Posted by mi...@apache.org.
Merge branch 'master' into LOG4J2-1528
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/7a1cd3a3
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/7a1cd3a3
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/7a1cd3a3
Branch: refs/heads/master
Commit: 7a1cd3a3855562fcef9b144a4931541211f51fb6
Parents: 97f626f 60649ef
Author: Mikael St�ldal <mi...@staldal.nu>
Authored: Fri Aug 19 22:27:51 2016 +0200
Committer: Mikael St�ldal <mi...@staldal.nu>
Committed: Fri Aug 19 22:27:51 2016 +0200
----------------------------------------------------------------------
.../config/Log4j1ConfigurationFactory.java | 28 ++-
.../org/apache/log4j/layout/TTCCLayout.java | 131 ------------
.../config/Log4j1ConfigurationFactoryTest.java | 15 +-
.../org/apache/log4j/layout/TTCCLayoutTest.java | 82 --------
.../core/pattern/MessagePatternConverter.java | 45 +++--
.../logging/log4j/core/util/ArrayUtils.java | 124 ++++++++++++
.../layout/PatternLayoutLookupDateTest.java | 28 +++
.../layout/PatternLayoutNoLookupDateTest.java | 26 +++
.../log4j/core/layout/PatternLayoutTest.java | 10 +-
.../pattern/MessagePatternConverterTest.java | 197 ++++++++++---------
.../src/test/resources/log4j-list-nolookups.xml | 29 +++
pom.xml | 2 +-
src/changes/changes.xml | 8 +-
src/site/site.xml | 2 +
src/site/xdoc/manual/appenders.xml | 6 +
src/site/xdoc/manual/configuration.xml.vm | 3 +-
src/site/xdoc/manual/extending.xml | 14 +-
src/site/xdoc/manual/layouts.xml.vm | 12 +-
18 files changed, 415 insertions(+), 347 deletions(-)
----------------------------------------------------------------------