diff options
Diffstat (limited to 'misc/log4j')
-rw-r--r-- | misc/log4j/src/main/java/org/onap/aaf/misc/env/log4j/LogFileNamer.java | 25 | ||||
-rw-r--r-- | misc/log4j/src/test/java/org/onap/aaf/misc/env/log4j/JU_LogFileNamerTest.java | 92 |
2 files changed, 59 insertions, 58 deletions
diff --git a/misc/log4j/src/main/java/org/onap/aaf/misc/env/log4j/LogFileNamer.java b/misc/log4j/src/main/java/org/onap/aaf/misc/env/log4j/LogFileNamer.java index e118baaa..9a615fb8 100644 --- a/misc/log4j/src/main/java/org/onap/aaf/misc/env/log4j/LogFileNamer.java +++ b/misc/log4j/src/main/java/org/onap/aaf/misc/env/log4j/LogFileNamer.java @@ -23,12 +23,9 @@ package org.onap.aaf.misc.env.log4j; import java.io.File;
import java.io.IOException;
import java.net.URL;
-import java.text.SimpleDateFormat;
-import java.util.Date;
public class LogFileNamer {
private final String root;
- private final String ending;
private final String dir;
public LogFileNamer(final String dir, final String root) {
@@ -38,14 +35,14 @@ public class LogFileNamer { } else {
this.root = root + "-";
}
- ending = new SimpleDateFormat("YYYYMMdd").format(new Date());
}
public LogFileNamer noPID() {
return this;
}
- private static final String FILE_FORMAT_STR = "%s/%s%s%s_%d.log";
+ private static final String FIRST_FILE_FORMAT_STR = "%s/%s%s.log";
+ private static final String FILE_FORMAT_STR = "%s/%s%s.%d.log";
/**
* Accepts a String. If Separated by "|" then first part is the Appender name,
@@ -59,13 +56,19 @@ public class LogFileNamer { * @throws IOException
*/
public String setAppender(String appender) throws IOException {
- int i = 0;
- File f;
- while ((f = new File(String.format(FILE_FORMAT_STR, dir, root, appender, ending, i))).exists()) {
- ++i;
- }
+ File f = new File(String.format(FIRST_FILE_FORMAT_STR, dir, root, appender));
+ if(f.exists()) {
+ int i = 0;
+ while ((f = new File(String.format(FILE_FORMAT_STR, dir, root, appender, i))).exists()) {
+ ++i;
+ }
+ }
- f.createNewFile();
+ try {
+ f.createNewFile();
+ } catch (IOException e) {
+ throw new IOException("Cannot create file '" + f.getCanonicalPath() + '\'', e);
+ }
System.setProperty("LOG4J_FILENAME_" + appender, f.getCanonicalPath());
return appender;
}
diff --git a/misc/log4j/src/test/java/org/onap/aaf/misc/env/log4j/JU_LogFileNamerTest.java b/misc/log4j/src/test/java/org/onap/aaf/misc/env/log4j/JU_LogFileNamerTest.java index 75ad44ad..8657e1d6 100644 --- a/misc/log4j/src/test/java/org/onap/aaf/misc/env/log4j/JU_LogFileNamerTest.java +++ b/misc/log4j/src/test/java/org/onap/aaf/misc/env/log4j/JU_LogFileNamerTest.java @@ -24,71 +24,69 @@ package org.onap.aaf.misc.env.log4j; import static org.junit.Assert.assertEquals; import java.io.File; +import java.io.FilenameFilter; import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Paths; -import java.text.SimpleDateFormat; -import java.util.Date; -import org.junit.After; import org.junit.Before; import org.junit.Test; public class JU_LogFileNamerTest { private File dir = new File("."); - private String ending = new SimpleDateFormat("YYYYMMdd").format(new Date()); - @Before public void setUp() throws Exception { } - @Test - public void test() throws IOException { - LogFileNamer logFileNamer = new LogFileNamer(dir.getCanonicalPath(), "log"); - assertEquals(logFileNamer, logFileNamer.noPID()); + private void cleanup(String name) { +// System.out.println("XXXX" + dir.getAbsolutePath()); + for(File f : dir.listFiles(new FilenameFilter() { + @Override + public boolean accept(File dir, String name) { + return name.contains(name) && name.endsWith(".log"); + } + })) { +// System.out.println("Deleting " + f.getAbsolutePath()); + f.delete(); + }; + } - logFileNamer.setAppender("Append"); - assertEquals(System.getProperty("LOG4J_FILENAME_Append"), - dir.getCanonicalFile() + File.separator + "log-Append" + ending + "_0.log"); - logFileNamer.setAppender("Append"); - assertEquals(System.getProperty("LOG4J_FILENAME_Append"), - dir.getCanonicalFile() + File.separator + "log-Append" + ending + "_1.log"); + @Test + public void test() throws IOException { + String name = "Append"; + try { + LogFileNamer logFileNamer = new LogFileNamer(dir.getCanonicalPath(), "log"); + assertEquals(logFileNamer, logFileNamer.noPID()); + + logFileNamer.setAppender(name); + assertEquals(System.getProperty("LOG4J_FILENAME_Append"), + dir.getCanonicalFile() + File.separator + "log-" + name + ".log"); + + logFileNamer.setAppender(name); + assertEquals(System.getProperty("LOG4J_FILENAME_Append"), + dir.getCanonicalFile() + File.separator + "log-" + name + ".0.log"); + } finally { + cleanup("log-" + name); + } } @Test public void testBlankRoot() throws IOException { - LogFileNamer logFileNamer = new LogFileNamer(dir.getCanonicalPath(), ""); - assertEquals(logFileNamer, logFileNamer.noPID()); - - logFileNamer.setAppender("Append"); - assertEquals(System.getProperty("LOG4J_FILENAME_Append"), - dir.getCanonicalPath() + File.separator + "Append" + ending + "_0.log"); - - logFileNamer.setAppender("Append"); - assertEquals(System.getProperty("LOG4J_FILENAME_Append"), - dir.getCanonicalPath() + File.separator + "Append" + ending + "_1.log"); - } - - @After - public void tearDown() throws IOException { - File file = new File("./log-Append" + ending + "_0.log"); - if (file.exists()) { - Files.delete(Paths.get(file.getAbsolutePath())); - } - file = new File("./log-Append" + ending + "_1.log"); - if (file.exists()) { - Files.delete(Paths.get(file.getAbsolutePath())); - } - file = new File("./Append" + ending + "_0.log"); - if (file.exists()) { - Files.delete(Paths.get(file.getAbsolutePath())); - } - file = new File("./Append" + ending + "_1.log"); - if (file.exists()) { - Files.delete(Paths.get(file.getAbsolutePath())); - } + String name = "Different"; + try { + LogFileNamer logFileNamer = new LogFileNamer(dir.getCanonicalPath(), ""); + assertEquals(logFileNamer, logFileNamer.noPID()); + + logFileNamer.setAppender(name); + assertEquals(System.getProperty("LOG4J_FILENAME_Different"), + dir.getCanonicalPath() + File.separator + name + ".log"); + + logFileNamer.setAppender(name); + assertEquals(System.getProperty("LOG4J_FILENAME_Different"), + dir.getCanonicalPath() + File.separator + name + ".0.log"); + } finally { + cleanup(name); + } } } |