You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by ma...@apache.org on 2018/03/10 05:40:09 UTC
[02/14] logging-chainsaw git commit: Use try-with-resources
Use try-with-resources
Project: http://git-wip-us.apache.org/repos/asf/logging-chainsaw/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-chainsaw/commit/a088cd69
Tree: http://git-wip-us.apache.org/repos/asf/logging-chainsaw/tree/a088cd69
Diff: http://git-wip-us.apache.org/repos/asf/logging-chainsaw/diff/a088cd69
Branch: refs/heads/master
Commit: a088cd696e32b9f56db541d9211c821d69924b2a
Parents: 3d91bdd
Author: Matt Sicker <bo...@gmail.com>
Authored: Fri Mar 9 23:01:47 2018 -0600
Committer: Matt Sicker <bo...@gmail.com>
Committed: Fri Mar 9 23:01:47 2018 -0600
----------------------------------------------------------------------
.../chainsaw/LogFilePatternLayoutBuilder.java | 109 +++++++++----------
.../java/org/apache/log4j/db/DBReceiverJob.java | 21 ++--
.../org/apache/log4j/db/FullCycleDBTest.java | 65 ++++++-----
.../java/org/apache/log4j/util/Compare.java | 26 ++---
4 files changed, 102 insertions(+), 119 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/a088cd69/src/main/java/org/apache/log4j/chainsaw/LogFilePatternLayoutBuilder.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/chainsaw/LogFilePatternLayoutBuilder.java b/src/main/java/org/apache/log4j/chainsaw/LogFilePatternLayoutBuilder.java
index 8b5d039..344b2fd 100644
--- a/src/main/java/org/apache/log4j/chainsaw/LogFilePatternLayoutBuilder.java
+++ b/src/main/java/org/apache/log4j/chainsaw/LogFilePatternLayoutBuilder.java
@@ -224,69 +224,66 @@ public class LogFilePatternLayoutBuilder
}
private static Map getXMLFileAppenderConfiguration(File file) throws IOException, ParserConfigurationException, SAXException {
- InputStream stream = file.toURI().toURL().openStream();
- Map result = new HashMap();
- try {
- InputSource src = new InputSource(stream);
- src.setSystemId(file.toURI().toURL().toString());
- DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
- DocumentBuilder docBuilder = dbf.newDocumentBuilder();
+ Map result = new HashMap();
+ try (InputStream stream = file.toURI().toURL().openStream()) {
+ InputSource src = new InputSource(stream);
+ src.setSystemId(file.toURI().toURL().toString());
+ DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
+ DocumentBuilder docBuilder = dbf.newDocumentBuilder();
- docBuilder.setErrorHandler(new SAXErrorHandler());
- docBuilder.setEntityResolver(new Log4jEntityResolver());
- Document doc = docBuilder.parse(src);
- NodeList appenders = doc.getElementsByTagName("appender");
- for (int i = 0; i < appenders.getLength(); i++) {
- Node appender = appenders.item(i);
- NamedNodeMap appenderAttributes = appender.getAttributes();
+ docBuilder.setErrorHandler(new SAXErrorHandler());
+ docBuilder.setEntityResolver(new Log4jEntityResolver());
+ Document doc = docBuilder.parse(src);
+ NodeList appenders = doc.getElementsByTagName("appender");
+ for (int i = 0; i < appenders.getLength(); i++) {
+ Node appender = appenders.item(i);
+ NamedNodeMap appenderAttributes = appender.getAttributes();
// Class appenderClass = Class.forName(map.getNamedItem("class").getNodeValue());
- Node appenderClass = appenderAttributes.getNamedItem("class");
- if (appenderAttributes.getNamedItem("name") != null && appenderClass != null && appenderClass.getNodeValue() != null) {
- //all log4j fileappenders end in fileappender..if a custom fileappender also ends in fileappender and uses the same dom nodes to be loaded,
- //try to parse the nodes as well
- if (appenderClass.getNodeValue().toLowerCase(Locale.ENGLISH).endsWith("fileappender")) {
- String appenderName = appenderAttributes.getNamedItem("name").getNodeValue();
- //subclass of FileAppender - add it
- Map entry = new HashMap();
- NodeList appenderChildren = appender.getChildNodes();
- for (int j = 0; j < appenderChildren.getLength(); j++) {
- Node appenderChild = appenderChildren.item(j);
- if (appenderChild.getNodeName().equals("param") && appenderChild.hasAttributes()) {
- Node fileNameNode = appenderChild.getAttributes().getNamedItem("name");
- if (fileNameNode != null && fileNameNode.getNodeValue().equalsIgnoreCase("file")) {
- Node fileValueNode = appenderChild.getAttributes().getNamedItem("value");
- if (fileValueNode != null) {
- entry.put("file", fileValueNode.getNodeValue());
- }
- }
- }
- if (appenderChild.getNodeName().equalsIgnoreCase("layout") && appenderChild.hasAttributes()) {
- NamedNodeMap layoutAttributes = appenderChild.getAttributes();
- Node layoutNode = layoutAttributes.getNamedItem("class");
- if (layoutNode != null && layoutNode.getNodeValue() != null && layoutNode.getNodeValue().equalsIgnoreCase("org.apache.log4j.PatternLayout")) {
- NodeList layoutChildren = appenderChild.getChildNodes();
- for (int k = 0; k < layoutChildren.getLength(); k++) {
- Node layoutChild = layoutChildren.item(k);
- if (layoutChild.getNodeName().equals("param") && layoutChild.hasAttributes()) {
- Node layoutName = layoutChild.getAttributes().getNamedItem("name");
- if (layoutName != null && layoutName.getNodeValue() != null && layoutName.getNodeValue().equalsIgnoreCase("conversionpattern")) {
- Node conversionValue = layoutChild.getAttributes().getNamedItem("value");
- if (conversionValue != null) {
- entry.put("conversion", conversionValue.getNodeValue());
- }
+ Node appenderClass = appenderAttributes.getNamedItem("class");
+ if (appenderAttributes.getNamedItem("name") != null && appenderClass != null && appenderClass.getNodeValue() != null) {
+ //all log4j fileappenders end in fileappender..if a custom fileappender also ends in fileappender and uses the same dom nodes to be loaded,
+ //try to parse the nodes as well
+ if (appenderClass.getNodeValue().toLowerCase(Locale.ENGLISH).endsWith("fileappender")) {
+ String appenderName = appenderAttributes.getNamedItem("name").getNodeValue();
+ //subclass of FileAppender - add it
+ Map entry = new HashMap();
+ NodeList appenderChildren = appender.getChildNodes();
+ for (int j = 0; j < appenderChildren.getLength(); j++) {
+ Node appenderChild = appenderChildren.item(j);
+ if (appenderChild.getNodeName().equals("param") && appenderChild.hasAttributes()) {
+ Node fileNameNode = appenderChild.getAttributes().getNamedItem("name");
+ if (fileNameNode != null && fileNameNode.getNodeValue().equalsIgnoreCase("file")) {
+ Node fileValueNode = appenderChild.getAttributes().getNamedItem("value");
+ if (fileValueNode != null) {
+ entry.put("file", fileValueNode.getNodeValue());
+ }
+ }
+ }
+ if (appenderChild.getNodeName().equalsIgnoreCase("layout") && appenderChild.hasAttributes()) {
+ NamedNodeMap layoutAttributes = appenderChild.getAttributes();
+ Node layoutNode = layoutAttributes.getNamedItem("class");
+ if (layoutNode != null && layoutNode.getNodeValue() != null && layoutNode.getNodeValue().equalsIgnoreCase("org.apache.log4j.PatternLayout")) {
+ NodeList layoutChildren = appenderChild.getChildNodes();
+ for (int k = 0; k < layoutChildren.getLength(); k++) {
+ Node layoutChild = layoutChildren.item(k);
+ if (layoutChild.getNodeName().equals("param") && layoutChild.hasAttributes()) {
+ Node layoutName = layoutChild.getAttributes().getNamedItem("name");
+ if (layoutName != null && layoutName.getNodeValue() != null && layoutName.getNodeValue().equalsIgnoreCase("conversionpattern")) {
+ Node conversionValue = layoutChild.getAttributes().getNamedItem("value");
+ if (conversionValue != null) {
+ entry.put("conversion", conversionValue.getNodeValue());
+ }
+ }
+ }
+ }
+ }
+ }
}
- }
+ result.put(appenderName, entry);
}
- }
}
- }
- result.put(appenderName, entry);
}
- }
}
- } finally {
- stream.close();
- }
MessageCenter.getInstance().getLogger().info("getXMLFileAppenderConfiguration for file: " + file + ", result: " + result);
return result;
}
http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/a088cd69/src/main/java/org/apache/log4j/db/DBReceiverJob.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/log4j/db/DBReceiverJob.java b/src/main/java/org/apache/log4j/db/DBReceiverJob.java
index 1e29663..19d3fe0 100644
--- a/src/main/java/org/apache/log4j/db/DBReceiverJob.java
+++ b/src/main/java/org/apache/log4j/db/DBReceiverJob.java
@@ -174,19 +174,16 @@ class DBReceiverJob extends ComponentBase implements Job {
void getProperties(Connection connection, long id, LoggingEvent event)
throws SQLException {
- PreparedStatement statement = connection.prepareStatement(sqlProperties);
- try {
- statement.setLong(1, id);
- ResultSet rs = statement.executeQuery();
-
- while (rs.next()) {
- String key = rs.getString(1);
- String value = rs.getString(2);
- event.setProperty(key, value);
+ try (PreparedStatement statement = connection.prepareStatement(sqlProperties)) {
+ statement.setLong(1, id);
+ ResultSet rs = statement.executeQuery();
+
+ while (rs.next()) {
+ String key = rs.getString(1);
+ String value = rs.getString(2);
+ event.setProperty(key, value);
+ }
}
- } finally {
- statement.close();
- }
}
/**
http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/a088cd69/src/test/java/org/apache/log4j/db/FullCycleDBTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/log4j/db/FullCycleDBTest.java b/src/test/java/org/apache/log4j/db/FullCycleDBTest.java
index b4e9223..6f4334e 100644
--- a/src/test/java/org/apache/log4j/db/FullCycleDBTest.java
+++ b/src/test/java/org/apache/log4j/db/FullCycleDBTest.java
@@ -85,40 +85,37 @@ public class FullCycleDBTest
// will throw exception if already defined.
//
Class.forName("org.hsqldb.jdbcDriver");
- Connection connection = DriverManager.getConnection("jdbc:hsqldb:mem:testdb");
- try {
- Statement s = connection.createStatement();
- s.executeUpdate("CREATE TABLE logging_event " +
- "( sequence_number BIGINT NOT NULL, " +
- " timestamp BIGINT NOT NULL, " +
- " rendered_message LONGVARCHAR NOT NULL, " +
- " logger_name VARCHAR NOT NULL, " +
- " level_string VARCHAR NOT NULL, " +
- " ndc LONGVARCHAR, " +
- " thread_name VARCHAR, " +
- " reference_flag SMALLINT, " +
- " caller_filename VARCHAR, " +
- " caller_class VARCHAR, " +
- " caller_method VARCHAR, " +
- " caller_line CHAR(4), " +
- " event_id INT NOT NULL IDENTITY)");
- s.executeUpdate("CREATE TABLE logging_event_property " +
- "( event_id INT NOT NULL, " +
- " mapped_key VARCHAR(254) NOT NULL, " +
- " mapped_value LONGVARCHAR, " +
- " PRIMARY KEY(event_id, mapped_key), " +
- " FOREIGN KEY (event_id) REFERENCES logging_event(event_id))");
- s.executeUpdate("CREATE TABLE logging_event_exception" +
- " ( event_id INT NOT NULL, " +
- " i SMALLINT NOT NULL," +
- " trace_line VARCHAR NOT NULL," +
- " PRIMARY KEY(event_id, i)," +
- " FOREIGN KEY (event_id) REFERENCES logging_event(event_id))");
- } catch(SQLException ex) {
- String s = ex.toString();
- } finally {
- connection.close();
- }
+ try (Connection connection = DriverManager.getConnection("jdbc:hsqldb:mem:testdb")) {
+ Statement s = connection.createStatement();
+ s.executeUpdate("CREATE TABLE logging_event " +
+ "( sequence_number BIGINT NOT NULL, " +
+ " timestamp BIGINT NOT NULL, " +
+ " rendered_message LONGVARCHAR NOT NULL, " +
+ " logger_name VARCHAR NOT NULL, " +
+ " level_string VARCHAR NOT NULL, " +
+ " ndc LONGVARCHAR, " +
+ " thread_name VARCHAR, " +
+ " reference_flag SMALLINT, " +
+ " caller_filename VARCHAR, " +
+ " caller_class VARCHAR, " +
+ " caller_method VARCHAR, " +
+ " caller_line CHAR(4), " +
+ " event_id INT NOT NULL IDENTITY)");
+ s.executeUpdate("CREATE TABLE logging_event_property " +
+ "( event_id INT NOT NULL, " +
+ " mapped_key VARCHAR(254) NOT NULL, " +
+ " mapped_value LONGVARCHAR, " +
+ " PRIMARY KEY(event_id, mapped_key), " +
+ " FOREIGN KEY (event_id) REFERENCES logging_event(event_id))");
+ s.executeUpdate("CREATE TABLE logging_event_exception" +
+ " ( event_id INT NOT NULL, " +
+ " i SMALLINT NOT NULL," +
+ " trace_line VARCHAR NOT NULL," +
+ " PRIMARY KEY(event_id, i)," +
+ " FOREIGN KEY (event_id) REFERENCES logging_event(event_id))");
+ } catch (SQLException ex) {
+ String s = ex.toString();
+ }
}
http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/a088cd69/src/test/java/org/apache/log4j/util/Compare.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/log4j/util/Compare.java b/src/test/java/org/apache/log4j/util/Compare.java
index 9fe7ae6..b68ea31 100644
--- a/src/test/java/org/apache/log4j/util/Compare.java
+++ b/src/test/java/org/apache/log4j/util/Compare.java
@@ -56,15 +56,11 @@ public class Compare {
final String file1,
final String file2)
throws IOException {
- BufferedReader in1 = new BufferedReader(new FileReader(file1));
- BufferedReader in2 = new BufferedReader(new InputStreamReader(
- open(testClass, file2)));
- try {
- return compare(testClass, file1, file2, in1, in2);
- } finally {
- in1.close();
- in2.close();
- }
+ try (BufferedReader in1 = new BufferedReader(new FileReader(file1));
+ BufferedReader in2 = new BufferedReader(new InputStreamReader(
+ open(testClass, file2)))) {
+ return compare(testClass, file1, file2, in1, in2);
+ }
}
public static boolean compare(
@@ -153,14 +149,10 @@ public class Compare {
throw new FileNotFoundException("Could not locate resource " + resourceName);
}
- BufferedReader in1 = new BufferedReader(new InputStreamReader(new GZIPInputStream(new FileInputStream(actual))));
- BufferedReader in2 = new BufferedReader(new InputStreamReader(new GZIPInputStream(resourceStream)));
- try {
- return gzCompare(testClass, actual, expected, in1, in2);
- } finally {
- in1.close();
- in2.close();
- }
+ try (BufferedReader in1 = new BufferedReader(new InputStreamReader(new GZIPInputStream(new FileInputStream(actual))));
+ BufferedReader in2 = new BufferedReader(new InputStreamReader(new GZIPInputStream(resourceStream)))) {
+ return gzCompare(testClass, actual, expected, in1, in2);
+ }
}
public static boolean gzCompare(Class testClass, String file1, String file2, BufferedReader in1, BufferedReader in2) throws IOException {