You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by gg...@apache.org on 2013/01/13 06:15:46 UTC
svn commit: r1432557 - in
/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core:
helpers/ layout/
Author: ggregory
Date: Sun Jan 13 05:15:46 2013
New Revision: 1432557
URL: http://svn.apache.org/viewvc?rev=1432557&view=rev
Log:
(Continued) Refactor duplicate code in the layouts into the abstract superclass AbstractStringLayout, now in a helper class.
Added:
logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/helpers/Charsets.java (with props)
Modified:
logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java
logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/layout/HTMLLayout.java
logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java
logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/layout/RFC5424Layout.java
logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/layout/SyslogLayout.java
logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/layout/XMLLayout.java
Added: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/helpers/Charsets.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/helpers/Charsets.java?rev=1432557&view=auto
==============================================================================
--- logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/helpers/Charsets.java (added)
+++ logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/helpers/Charsets.java Sun Jan 13 05:15:46 2013
@@ -0,0 +1,52 @@
+/*
+ * 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.helpers;
+
+import java.nio.charset.Charset;
+
+import org.apache.logging.log4j.status.StatusLogger;
+
+/**
+ * Charset utilities.
+ */
+public class Charsets {
+
+ /**
+ * Gets a Charset, starting with the preferred {@code charsetName} if supported, if not, use UTF-8, if not supported, use the platform
+ * default.
+ *
+ * @param charsetName
+ * the preferred charset name
+ * @return a Charset, not null.
+ */
+ public static Charset getSupportedCharset(final String charsetName) {
+ Charset charset = null;
+ if (charsetName != null) {
+ if (Charset.isSupported(charsetName)) {
+ charset = Charset.forName(charsetName);
+ }
+ }
+ if (charset == null) {
+ charset = Charset.isSupported("UTF-8") ? Charset.forName("UTF-8") : Charset.defaultCharset();
+ if (charsetName != null) {
+ StatusLogger.getLogger().error("Charset " + charsetName + " is not supported for layout, using " + charset.displayName());
+ }
+ }
+ return charset;
+ }
+
+}
Propchange: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/helpers/Charsets.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/helpers/Charsets.java
------------------------------------------------------------------------------
svn:keywords = Id
Modified: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java?rev=1432557&r1=1432556&r2=1432557&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java (original)
+++ logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java Sun Jan 13 05:15:46 2013
@@ -27,30 +27,6 @@ import java.nio.charset.Charset;
public abstract class AbstractStringLayout extends AbstractLayout<String> {
/**
- * Gets a Charset, starting with the preferred {@code charsetName} if supported, if not, use UTF-8, if not supported, use the platform
- * default.
- *
- * @param charsetName
- * the preferred charset name
- * @return a Charset, not null.
- */
- public static Charset getSupportedCharset(final String charsetName) {
- Charset charset = null;
- if (charsetName != null) {
- if (Charset.isSupported(charsetName)) {
- charset = Charset.forName(charsetName);
- }
- }
- if (charset == null) {
- charset = Charset.isSupported("UTF-8") ? Charset.forName("UTF-8") : Charset.defaultCharset();
- if (charsetName != null) {
- LOGGER.error("Charset " + charsetName + " is not supported for layout, using " + charset.displayName());
- }
- }
- return charset;
- }
-
- /**
* The charset of the formatted message.
*/
private final Charset charset;
Modified: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/layout/HTMLLayout.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/layout/HTMLLayout.java?rev=1432557&r1=1432556&r2=1432557&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/layout/HTMLLayout.java (original)
+++ logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/layout/HTMLLayout.java Sun Jan 13 05:15:46 2013
@@ -21,6 +21,7 @@ import org.apache.logging.log4j.core.Log
import org.apache.logging.log4j.core.config.plugins.Plugin;
import org.apache.logging.log4j.core.config.plugins.PluginAttr;
import org.apache.logging.log4j.core.config.plugins.PluginFactory;
+import org.apache.logging.log4j.core.helpers.Charsets;
import org.apache.logging.log4j.core.helpers.Constants;
import org.apache.logging.log4j.core.helpers.Transform;
@@ -300,7 +301,7 @@ public final class HTMLLayout extends Ab
@PluginAttr("charset") final String charsetName,
@PluginAttr("fontSize") String fontSize,
@PluginAttr("fontName") String font) {
- final Charset charset = getSupportedCharset(charsetName);
+ final Charset charset = Charsets.getSupportedCharset(charsetName);
if (font == null) {
font = "arial,sans-serif";
}
Modified: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java?rev=1432557&r1=1432556&r2=1432557&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java (original)
+++ logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java Sun Jan 13 05:15:46 2013
@@ -23,6 +23,7 @@ import org.apache.logging.log4j.core.con
import org.apache.logging.log4j.core.config.plugins.PluginConfiguration;
import org.apache.logging.log4j.core.config.plugins.PluginElement;
import org.apache.logging.log4j.core.config.plugins.PluginFactory;
+import org.apache.logging.log4j.core.helpers.Charsets;
import org.apache.logging.log4j.core.helpers.OptionConverter;
import org.apache.logging.log4j.core.pattern.LogEventPatternConverter;
import org.apache.logging.log4j.core.pattern.PatternFormatter;
@@ -177,7 +178,7 @@ public final class PatternLayout extends
@PluginConfiguration final Configuration config,
@PluginElement("replace") final RegexReplacement replace,
@PluginAttr("charset") final String charsetName) {
- final Charset charset = getSupportedCharset(charsetName);
+ final Charset charset = Charsets.getSupportedCharset(charsetName);
return new PatternLayout(config, replace, pattern == null ? DEFAULT_CONVERSION_PATTERN : pattern, charset);
}
}
Modified: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/layout/RFC5424Layout.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/layout/RFC5424Layout.java?rev=1432557&r1=1432556&r2=1432557&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/layout/RFC5424Layout.java (original)
+++ logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/layout/RFC5424Layout.java Sun Jan 13 05:15:46 2013
@@ -23,6 +23,7 @@ import org.apache.logging.log4j.core.con
import org.apache.logging.log4j.core.config.plugins.PluginAttr;
import org.apache.logging.log4j.core.config.plugins.PluginConfiguration;
import org.apache.logging.log4j.core.config.plugins.PluginFactory;
+import org.apache.logging.log4j.core.helpers.Charsets;
import org.apache.logging.log4j.core.helpers.NetUtils;
import org.apache.logging.log4j.core.net.Facility;
import org.apache.logging.log4j.core.net.Priority;
@@ -471,7 +472,7 @@ public final class RFC5424Layout extends
@PluginAttr("charset") final String charsetName,
@PluginAttr("exceptionPattern") final String exceptionPattern,
@PluginConfiguration final Configuration config) {
- final Charset charset = getSupportedCharset(charsetName);
+ final Charset charset = Charsets.getSupportedCharset(charsetName);
if (includes != null && excludes != null) {
LOGGER.error("mdcIncludes and mdcExcludes are mutually exclusive. Includes wil be ignored");
includes = null;
Modified: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/layout/SyslogLayout.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/layout/SyslogLayout.java?rev=1432557&r1=1432556&r2=1432557&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/layout/SyslogLayout.java (original)
+++ logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/layout/SyslogLayout.java Sun Jan 13 05:15:46 2013
@@ -20,6 +20,7 @@ import org.apache.logging.log4j.core.Log
import org.apache.logging.log4j.core.config.plugins.Plugin;
import org.apache.logging.log4j.core.config.plugins.PluginAttr;
import org.apache.logging.log4j.core.config.plugins.PluginFactory;
+import org.apache.logging.log4j.core.helpers.Charsets;
import org.apache.logging.log4j.core.net.Facility;
import org.apache.logging.log4j.core.net.Priority;
@@ -133,7 +134,7 @@ public class SyslogLayout extends Abstra
@PluginAttr("newLine") final String includeNL,
@PluginAttr("newLineEscape") final String escapeNL,
@PluginAttr("charset") final String charsetName) {
- final Charset charset = getSupportedCharset(charsetName);
+ final Charset charset = Charsets.getSupportedCharset(charsetName);
final boolean includeNewLine = includeNL == null ? false : Boolean.valueOf(includeNL);
final Facility f = Facility.toFacility(facility, Facility.LOCAL0);
return new SyslogLayout(f, includeNewLine, escapeNL, charset);
Modified: logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/layout/XMLLayout.java
URL: http://svn.apache.org/viewvc/logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/layout/XMLLayout.java?rev=1432557&r1=1432556&r2=1432557&view=diff
==============================================================================
--- logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/layout/XMLLayout.java (original)
+++ logging/log4j/log4j2/trunk/core/src/main/java/org/apache/logging/log4j/core/layout/XMLLayout.java Sun Jan 13 05:15:46 2013
@@ -30,6 +30,7 @@ import java.util.Map;
import org.apache.logging.log4j.core.config.plugins.Plugin;
import org.apache.logging.log4j.core.config.plugins.PluginAttr;
import org.apache.logging.log4j.core.config.plugins.PluginFactory;
+import org.apache.logging.log4j.core.helpers.Charsets;
import org.apache.logging.log4j.core.helpers.Transform;
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.message.Message;
@@ -261,7 +262,7 @@ public class XMLLayout extends AbstractS
@PluginAttr("properties") final String properties,
@PluginAttr("complete") final String complete,
@PluginAttr("charset") final String charsetName) {
- final Charset charset = getSupportedCharset(charsetName);
+ final Charset charset = Charsets.getSupportedCharset(charsetName);
final boolean info = locationInfo == null ? false : Boolean.valueOf(locationInfo);
final boolean props = properties == null ? false : Boolean.valueOf(properties);
final boolean comp = complete == null ? false : Boolean.valueOf(complete);