Fix case sensitivity in configuration parsing Fix VFS tailing, particularly with sftp (the filesystem needed to be closed)
Project: http://git-wip-us.apache.org/repos/asf/logging-chainsaw/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-chainsaw/commit/7329254a Tree: http://git-wip-us.apache.org/repos/asf/logging-chainsaw/tree/7329254a Diff: http://git-wip-us.apache.org/repos/asf/logging-chainsaw/diff/7329254a Branch: refs/heads/master Commit: 7329254a317c7a06232149904dc8a5c1a6ae2850 Parents: 8fcf375 Author: Scott Deboy <[email protected]> Authored: Wed Aug 17 07:13:43 2011 +0000 Committer: Scott Deboy <[email protected]> Committed: Wed Aug 17 07:13:43 2011 +0000 ---------------------------------------------------------------------- .../log4j/chainsaw/LogFilePatternLayoutBuilder.java | 8 +++++--- src/main/java/org/apache/log4j/chainsaw/LogUI.java | 2 +- .../log4j/chainsaw/vfs/VFSLogFilePatternReceiver.java | 13 ++----------- 3 files changed, 8 insertions(+), 15 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/7329254a/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 7c8bc26..cd5a016 100644 --- a/src/main/java/org/apache/log4j/chainsaw/LogFilePatternLayoutBuilder.java +++ b/src/main/java/org/apache/log4j/chainsaw/LogFilePatternLayoutBuilder.java @@ -32,6 +32,7 @@ import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; +import org.apache.log4j.chainsaw.messages.MessageCenter; import org.apache.log4j.helpers.OptionConverter; import org.apache.log4j.pattern.ClassNamePatternConverter; import org.apache.log4j.pattern.DatePatternConverter; @@ -255,14 +256,14 @@ public class LogFilePatternLayoutBuilder Node appenderChild = appenderChildren.item(j); if (appenderChild.getNodeName().equals("param") && appenderChild.hasAttributes()) { Node fileNameNode = appenderChild.getAttributes().getNamedItem("name"); - if (fileNameNode != null && fileNameNode.getNodeValue().equals("file")) { + if (fileNameNode != null && fileNameNode.getNodeValue().toLowerCase().equals("file")) { Node fileValueNode = appenderChild.getAttributes().getNamedItem("value"); if (fileValueNode != null) { entry.put("file", fileValueNode.getNodeValue()); } } } - if (appenderChild.getNodeName().equals("layout") && appenderChild.hasAttributes()) { + if (appenderChild.getNodeName().toLowerCase().equals("layout") && appenderChild.hasAttributes()) { NamedNodeMap layoutAttributes = appenderChild.getAttributes(); Node layoutNode = layoutAttributes.getNamedItem("class"); if (layoutNode != null && layoutNode.getNodeValue() != null && layoutNode.getNodeValue().equals("org.apache.log4j.PatternLayout")) { @@ -271,7 +272,7 @@ public class LogFilePatternLayoutBuilder 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().equals("ConversionPattern")) { + if (layoutName != null && layoutName.getNodeValue() != null && layoutName.getNodeValue().toLowerCase().equals("conversionpattern")) { Node conversionValue = layoutChild.getAttributes().getNamedItem("value"); if (conversionValue != null) { entry.put("conversion", conversionValue.getNodeValue()); @@ -289,6 +290,7 @@ public class LogFilePatternLayoutBuilder } 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/7329254a/src/main/java/org/apache/log4j/chainsaw/LogUI.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/log4j/chainsaw/LogUI.java b/src/main/java/org/apache/log4j/chainsaw/LogUI.java index e1a71f5..c62efe0 100644 --- a/src/main/java/org/apache/log4j/chainsaw/LogUI.java +++ b/src/main/java/org/apache/log4j/chainsaw/LogUI.java @@ -1427,7 +1427,7 @@ public class LogUI extends JFrame implements ChainsawViewer, SettingsListener { } /** - * Displays a dialog which will provide options for selecting a configuratino + * Displays a dialog which will provide options for selecting a configuration */ private void showReceiverConfigurationPanel() { SwingUtilities.invokeLater( http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/7329254a/src/main/java/org/apache/log4j/chainsaw/vfs/VFSLogFilePatternReceiver.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/log4j/chainsaw/vfs/VFSLogFilePatternReceiver.java b/src/main/java/org/apache/log4j/chainsaw/vfs/VFSLogFilePatternReceiver.java index fadc480..29dc146 100644 --- a/src/main/java/org/apache/log4j/chainsaw/vfs/VFSLogFilePatternReceiver.java +++ b/src/main/java/org/apache/log4j/chainsaw/vfs/VFSLogFilePatternReceiver.java @@ -314,9 +314,8 @@ public class VFSLogFilePatternReceiver extends LogFilePatternReceiver implements } vfsReader = new VFSReader(); new Thread(vfsReader).start(); - } + } else if (oldURL != null && oldURL.indexOf("://") > -1) { //starts with protocol:// - if (oldURL != null && oldURL.indexOf("://") > -1) { int index = oldURL.indexOf("://"); String lastPart = oldURL.substring(index + "://".length()); int passEndIndex = lastPart.indexOf("@"); @@ -403,6 +402,7 @@ public class VFSLogFilePatternReceiver extends LogFilePatternReceiver implements //fileobject was created above, release it and construct a new one if (fileObject != null) { + fileObject.getFileSystem().getFileSystemManager().closeFileSystem(fileObject.getFileSystem()); fileObject.close(); fileObject = null; } @@ -435,15 +435,6 @@ public class VFSLogFilePatternReceiver extends LogFilePatternReceiver implements rac.close(); } try { - //release file so it can be externally deleted/renamed if necessary - fileObject.close(); - fileObject = null; - } - catch (IOException e) - { - getLogger().debug(getPath() + " - unable to close fileobject", e); - } - try { if (reader != null) { reader.close(); reader = null;
