Do not require a dateformat if not needed

Project: http://git-wip-us.apache.org/repos/asf/logging-chainsaw/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-chainsaw/commit/025d756a
Tree: http://git-wip-us.apache.org/repos/asf/logging-chainsaw/tree/025d756a
Diff: http://git-wip-us.apache.org/repos/asf/logging-chainsaw/diff/025d756a

Branch: refs/heads/master
Commit: 025d756a68e29afde367e2139f2c6ce78118b714
Parents: c52dd71
Author: Scott Deboy <[email protected]>
Authored: Thu Nov 20 14:26:16 2014 +0000
Committer: Scott Deboy <[email protected]>
Committed: Thu Nov 20 14:26:16 2014 +0000

----------------------------------------------------------------------
 .../chainsaw/vfs/VFSLogFilePatternReceiver.java | 37 +++++++++++---------
 .../log4j/varia/LogFilePatternReceiver.java     | 21 ++++++-----
 2 files changed, 33 insertions(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/025d756a/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 1d7acc0..a0fc0d8 100644
--- a/src/main/java/org/apache/log4j/chainsaw/vfs/VFSLogFilePatternReceiver.java
+++ b/src/main/java/org/apache/log4j/chainsaw/vfs/VFSLogFilePatternReceiver.java
@@ -355,18 +355,20 @@ public class VFSLogFilePatternReceiver extends 
LogFilePatternReceiver implements
                        getLogger().warn("JSch not on classpath!", ncdfe);
                     }
 
-                    fileObject = fileSystemManager.resolveFile(getFileURL(), 
opts);
-                    if (fileObject.exists()) {
-                        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) {
-                            URLFileName urlFileName = (URLFileName) 
fileObject.getName();
-                            setHost(urlFileName.getHostName());
-                            setPath(urlFileName.getPath());
+                                       synchronized(fileSystemManager) {
+                        fileObject = 
fileSystemManager.resolveFile(getFileURL(), opts);
+                        if (fileObject.exists()) {
+                            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) {
+                                URLFileName urlFileName = (URLFileName) 
fileObject.getName();
+                                setHost(urlFileName.getHostName());
+                                setPath(urlFileName.getPath());
+                            }
+                        } else {
+                            getLogger().info(loggableFileURL + " not available 
- will re-attempt to load after waiting " + MISSING_FILE_RETRY_MILLIS + " 
millis");
                         }
-                    } else {
-                        getLogger().info(loggableFileURL + " not available - 
will re-attempt to load after waiting " + MISSING_FILE_RETRY_MILLIS + " 
millis");
                     }
                 } 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);
@@ -404,12 +406,15 @@ 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;
+                                               synchronized(fileSystemManager) 
{
+                               if (fileObject != null) {
+                                     
fileObject.getFileSystem().getFileSystemManager().closeFileSystem(fileObject.getFileSystem());
+                                     fileObject.close();
+                                     fileObject = null;
+                            }
+                        
+                               fileObject = 
fileSystemManager.resolveFile(getFileURL(), opts);
                         }
-                        fileObject = 
fileSystemManager.resolveFile(getFileURL(), opts);
 
                         //file may not exist..
                         boolean fileLarger = false;

http://git-wip-us.apache.org/repos/asf/logging-chainsaw/blob/025d756a/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 3a39508..1c2e30c 100644
--- a/src/main/java/org/apache/log4j/varia/LogFilePatternReceiver.java
+++ b/src/main/java/org/apache/log4j/varia/LogFilePatternReceiver.java
@@ -173,7 +173,7 @@ public class LogFilePatternReceiver extends Receiver {
   private final String[] emptyException = new String[] { "" };
 
   private SimpleDateFormat dateFormat;
-  private String timestampFormat = "yyyy-MM-d HH:mm:ss,SSS";
+  private String timestampFormat;
   private String logFormat;
   private String customLevelDefinitions;
   private String fileURL;
@@ -357,7 +357,7 @@ public class LogFilePatternReceiver extends Receiver {
     /**
    * Accessor
    *
-   * @return timestamp format
+   * @return group
    */
   public String getGroup() { return group; }
     
@@ -481,7 +481,7 @@ public class LogFilePatternReceiver extends Receiver {
     if (currentMap.size() == 0) {
       if (additionalLines.size() > 0) {
         for (Iterator iter = additionalLines.iterator();iter.hasNext();) {
-          getLogger().info("found non-matching line: " + iter.next());
+          getLogger().debug("found non-matching line: " + iter.next());
         }
       }
       additionalLines.clear();
@@ -625,11 +625,14 @@ public class LogFilePatternReceiver extends Receiver {
    */
   private String convertTimestamp() {
     //some locales (for example, French) generate timestamp text with 
characters not included in \w -
-    // now using \S (all non-whitespace characters) instead of /w 
-    String result = timestampFormat.replaceAll(Pattern.quote("+"), "[+]");
-    result = result.replaceAll(VALID_DATEFORMAT_CHAR_PATTERN, "\\\\S+");
-    //make sure dots in timestamp are escaped
-    result = result.replaceAll(Pattern.quote("."), "\\\\.");
+    // now using \S (all non-whitespace characters) instead of /w
+    String result = "";
+    if (timestampFormat != null) {
+      result = timestampFormat.replaceAll(Pattern.quote("+"), "[+]");
+      result = result.replaceAll(VALID_DATEFORMAT_CHAR_PATTERN, "\\\\S+");
+      //make sure dots in timestamp are escaped
+      result = result.replaceAll(Pattern.quote("."), "\\\\.");
+    }
     return result;
   }
 
@@ -929,7 +932,7 @@ public class LogFilePatternReceiver extends Receiver {
         e.printStackTrace();
       }
     }
-    //use current time if timestamp not parseable
+    //use current time if timestamp not parseable/dateformat not specified
     if (timeStamp == 0L) {
       timeStamp = System.currentTimeMillis();
     }

Reply via email to