Use UTF-8 encoding for VFS/LogFilePatternReceiver readers
Project: http://git-wip-us.apache.org/repos/asf/logging-chainsaw/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-chainsaw/commit/c52dd714 Tree: http://git-wip-us.apache.org/repos/asf/logging-chainsaw/tree/c52dd714 Diff: http://git-wip-us.apache.org/repos/asf/logging-chainsaw/diff/c52dd714 Branch: refs/heads/master Commit: c52dd714405bd337d27f68a0ec2fd0531df7966d Parents: e2021f8 Author: Scott Deboy <[email protected]> Authored: Sat Jun 14 08:10:13 2014 +0000 Committer: Scott Deboy <[email protected]> Committed: Sat Jun 14 08:10:13 2014 +0000 ---------------------------------------------------------------------- .../log4j/chainsaw/vfs/VFSLogFilePatternReceiver.java | 9 ++++++--- .../java/org/apache/log4j/varia/LogFilePatternReceiver.java | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/c52dd714/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 29dc146..1d7acc0 100644 --- a/src/main/java/org/apache/log4j/chainsaw/vfs/VFSLogFilePatternReceiver.java +++ b/src/main/java/org/apache/log4j/chainsaw/vfs/VFSLogFilePatternReceiver.java @@ -29,6 +29,7 @@ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.Reader; +import java.io.UnsupportedEncodingException; import javax.swing.JButton; import javax.swing.JDialog; @@ -356,7 +357,7 @@ public class VFSLogFilePatternReceiver extends LogFilePatternReceiver implements fileObject = fileSystemManager.resolveFile(getFileURL(), opts); if (fileObject.exists()) { - reader = new InputStreamReader(fileObject.getContent().getInputStream()); + reader = new InputStreamReader(fileObject.getContent().getInputStream() , "UTF-8"); //now that we have a reader, remove additional portions of the file url (sftp passwords, etc.) //check to see if the name is a URLFileName..if so, set file name to not include username/pass if (fileObject.getName() instanceof URLFileName) { @@ -369,6 +370,8 @@ public class VFSLogFilePatternReceiver extends LogFilePatternReceiver implements } } catch (FileSystemException fse) { getLogger().info(loggableFileURL + " not available - may be due to incorrect credentials, but will re-attempt to load after waiting " + MISSING_FILE_RETRY_MILLIS + " millis", fse); + } catch (UnsupportedEncodingException e) { + getLogger().info("UTF-8 not available", e); } if (reader == null) { synchronized (this) { @@ -419,7 +422,7 @@ public class VFSLogFilePatternReceiver extends LogFilePatternReceiver implements } //could have been truncated or appended to (don't do anything if same size) if (fileObject.getContent().getSize() < lastFileSize) { - reader = new InputStreamReader(fileObject.getContent().getInputStream()); + reader = new InputStreamReader(fileObject.getContent().getInputStream(), "UTF-8"); getLogger().debug(getPath() + " was truncated"); lastFileSize = 0; //seek to beginning of file lastFilePointer = 0; @@ -427,7 +430,7 @@ public class VFSLogFilePatternReceiver extends LogFilePatternReceiver implements fileLarger = true; RandomAccessContent rac = fileObject.getContent().getRandomAccessContent(RandomAccessMode.READ); rac.seek(lastFilePointer); - reader = new InputStreamReader(rac.getInputStream()); + reader = new InputStreamReader(rac.getInputStream(), "UTF-8"); BufferedReader bufferedReader = new BufferedReader(reader); process(bufferedReader); lastFilePointer = rac.getFilePointer(); http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/c52dd714/src/main/java/org/apache/log4j/varia/LogFilePatternReceiver.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/log4j/varia/LogFilePatternReceiver.java b/src/main/java/org/apache/log4j/varia/LogFilePatternReceiver.java index df91332..3a39508 100644 --- a/src/main/java/org/apache/log4j/varia/LogFilePatternReceiver.java +++ b/src/main/java/org/apache/log4j/varia/LogFilePatternReceiver.java @@ -1046,7 +1046,7 @@ public class LogFilePatternReceiver extends Receiver { while (reader == null) { getLogger().info("attempting to load file: " + getFileURL()); try { - reader = new InputStreamReader(new URL(getFileURL()).openStream()); + reader = new InputStreamReader(new URL(getFileURL()).openStream(), "UTF-8"); } catch (FileNotFoundException fnfe) { getLogger().info("file not available - will try again"); synchronized (this) {
