You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rg...@apache.org on 2017/01/15 21:44:33 UTC
[1/3] logging-log4j2 git commit: LOG4J2-1101 - RollingFileAppender
now supports omitting the file name and writing directly to the archive
files.
Repository: logging-log4j2
Updated Branches:
refs/heads/master 6f3fe2fe8 -> 8e88deb3e
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_04-4.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_04-4.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_04-4.gz
new file mode 100644
index 0000000..8c4c56f
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_04-4.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_04-5.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_04-5.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_04-5.gz
new file mode 100644
index 0000000..2586926
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_04-5.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_05-1.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_05-1.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_05-1.gz
new file mode 100644
index 0000000..2cb3dbe
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_05-1.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_05-2.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_05-2.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_05-2.gz
new file mode 100644
index 0000000..df8eb5f
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_05-2.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_05-3.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_05-3.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_05-3.gz
new file mode 100644
index 0000000..595e822
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_05-3.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_05-4.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_05-4.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_05-4.gz
new file mode 100644
index 0000000..e23bfa7
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_05-4.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_05-5.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_05-5.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_05-5.gz
new file mode 100644
index 0000000..2b62b60
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_05-5.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-1.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-1.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-1.gz
new file mode 100644
index 0000000..4029d87
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-1.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-10.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-10.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-10.gz
new file mode 100644
index 0000000..5e84491
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-10.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-11.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-11.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-11.gz
new file mode 100644
index 0000000..35e9106
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-11.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-12.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-12.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-12.gz
new file mode 100644
index 0000000..8c6c8c9
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-12.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-13.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-13.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-13.gz
new file mode 100644
index 0000000..d57e405
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-13.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-14.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-14.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-14.gz
new file mode 100644
index 0000000..3a51392
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-14.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-15.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-15.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-15.gz
new file mode 100644
index 0000000..3665dcd
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-15.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-16.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-16.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-16.gz
new file mode 100644
index 0000000..2082cfe
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-16.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-17.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-17.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-17.gz
new file mode 100644
index 0000000..e501588
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-17.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-18.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-18.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-18.gz
new file mode 100644
index 0000000..94c617d
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-18.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-19.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-19.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-19.gz
new file mode 100644
index 0000000..90b8ad5
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-19.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-2.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-2.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-2.gz
new file mode 100644
index 0000000..ae38614
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-2.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-20.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-20.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-20.gz
new file mode 100644
index 0000000..084b35f
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-20.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-3.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-3.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-3.gz
new file mode 100644
index 0000000..500fe48
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-3.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-4.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-4.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-4.gz
new file mode 100644
index 0000000..69d2c59
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-4.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-5.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-5.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-5.gz
new file mode 100644
index 0000000..582ffbf
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-5.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-6.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-6.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-6.gz
new file mode 100644
index 0000000..6c495ed
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-6.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-7.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-7.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-7.gz
new file mode 100644
index 0000000..a0e74ab
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-7.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-8.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-8.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-8.gz
new file mode 100644
index 0000000..eee5116
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-8.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-9.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-9.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-9.gz
new file mode 100644
index 0000000..44db59a
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_06-9.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-1.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-1.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-1.gz
new file mode 100644
index 0000000..84e8da8
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-1.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-10.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-10.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-10.gz
new file mode 100644
index 0000000..f21f32d
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-10.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-11.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-11.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-11.gz
new file mode 100644
index 0000000..2a5cf2c
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-11.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-12.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-12.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-12.gz
new file mode 100644
index 0000000..77bda42
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-12.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-13.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-13.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-13.gz
new file mode 100644
index 0000000..cd6efb0
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-13.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-14.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-14.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-14.gz
new file mode 100644
index 0000000..a770936
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-14.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-15.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-15.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-15.gz
new file mode 100644
index 0000000..8202f96
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-15.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-16.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-16.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-16.gz
new file mode 100644
index 0000000..b54b72b
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-16.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-17.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-17.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-17.gz
new file mode 100644
index 0000000..09062f6
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-17.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-18.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-18.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-18.gz
new file mode 100644
index 0000000..0e92dd6
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-18.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-19.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-19.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-19.gz
new file mode 100644
index 0000000..d676180
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-19.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-2.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-2.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-2.gz
new file mode 100644
index 0000000..325ec46
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-2.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-20.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-20.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-20.gz
new file mode 100644
index 0000000..3bb918c
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-20.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-21.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-21.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-21.gz
new file mode 100644
index 0000000..eb9047a
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-21.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-22.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-22.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-22.gz
new file mode 100644
index 0000000..4e8e476
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-22.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-23.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-23.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-23.gz
new file mode 100644
index 0000000..6628d1b
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-23.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-24.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-24.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-24.gz
new file mode 100644
index 0000000..bfc9cfb
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-24.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-25.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-25.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-25.gz
new file mode 100644
index 0000000..24cd8d0
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-25.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-26.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-26.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-26.gz
new file mode 100644
index 0000000..910de6b
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-26.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-27.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-27.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-27.gz
new file mode 100644
index 0000000..ceca019
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-27.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-28.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-28.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-28.gz
new file mode 100644
index 0000000..efe0f3c
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-28.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-29.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-29.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-29.gz
new file mode 100644
index 0000000..b2f5a65
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-29.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-3.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-3.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-3.gz
new file mode 100644
index 0000000..ffd78fa
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-3.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-4.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-4.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-4.gz
new file mode 100644
index 0000000..e1b0df9
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-4.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-5.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-5.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-5.gz
new file mode 100644
index 0000000..46d1e52
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-5.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-6.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-6.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-6.gz
new file mode 100644
index 0000000..dc950fd
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-6.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-7.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-7.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-7.gz
new file mode 100644
index 0000000..8179eef
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-7.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-8.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-8.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-8.gz
new file mode 100644
index 0000000..7012113
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-8.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-9.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-9.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-9.gz
new file mode 100644
index 0000000..8ede7e6
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_07-9.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-1.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-1.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-1.gz
new file mode 100644
index 0000000..abc6970
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-1.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-10.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-10.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-10.gz
new file mode 100644
index 0000000..286c4ad
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-10.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-11.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-11.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-11.gz
new file mode 100644
index 0000000..a896d25
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-11.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-12.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-12.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-12.gz
new file mode 100644
index 0000000..c6a7dc6
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-12.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-13.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-13.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-13.gz
new file mode 100644
index 0000000..1b7f95e
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-13.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-14.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-14.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-14.gz
new file mode 100644
index 0000000..3908509
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-14.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-15.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-15.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-15.gz
new file mode 100644
index 0000000..4063ac4
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-15.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-16.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-16.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-16.gz
new file mode 100644
index 0000000..d68ffff
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-16.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-17.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-17.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-17.gz
new file mode 100644
index 0000000..d2b3c80
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-17.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-18.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-18.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-18.gz
new file mode 100644
index 0000000..1eb490f
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-18.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-19.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-19.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-19.gz
new file mode 100644
index 0000000..00901ba
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-19.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-2.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-2.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-2.gz
new file mode 100644
index 0000000..e676105
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-2.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-20.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-20.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-20.gz
new file mode 100644
index 0000000..5eca03f
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-20.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-21.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-21.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-21.gz
new file mode 100644
index 0000000..9226c18
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-21.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-22.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-22.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-22.gz
new file mode 100644
index 0000000..165f22b
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-22.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-23.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-23.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-23.gz
new file mode 100644
index 0000000..079663c
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-23.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-24.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-24.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-24.gz
new file mode 100644
index 0000000..5ee9d98
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-24.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-25.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-25.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-25.gz
new file mode 100644
index 0000000..e6bcb1d
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-25.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-26.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-26.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-26.gz
new file mode 100644
index 0000000..de7fef6
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-26.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-27.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-27.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-27.gz
new file mode 100644
index 0000000..fb16a69
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-27.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-28.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-28.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-28.gz
new file mode 100644
index 0000000..eb7616b
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-28.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-29.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-29.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-29.gz
new file mode 100644
index 0000000..052d48f
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-29.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-3.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-3.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-3.gz
new file mode 100644
index 0000000..18dac25
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-3.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-4.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-4.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-4.gz
new file mode 100644
index 0000000..e12a936
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-4.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-5.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-5.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-5.gz
new file mode 100644
index 0000000..660c8fa
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-5.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-6.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-6.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-6.gz
new file mode 100644
index 0000000..60620e3
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-6.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-7.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-7.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-7.gz
new file mode 100644
index 0000000..4061c2f
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-7.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-8.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-8.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-8.gz
new file mode 100644
index 0000000..2263391
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-8.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-9.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-9.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-9.gz
new file mode 100644
index 0000000..7745f89
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_08-9.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-1.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-1.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-1.gz
new file mode 100644
index 0000000..a619cce
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-1.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-10.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-10.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-10.gz
new file mode 100644
index 0000000..3ea73de
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-10.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-11.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-11.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-11.gz
new file mode 100644
index 0000000..24d1a2c
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-11.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-12.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-12.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-12.gz
new file mode 100644
index 0000000..fa8c7c7
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-12.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-13.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-13.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-13.gz
new file mode 100644
index 0000000..0be4d8a
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-13.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-14.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-14.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-14.gz
new file mode 100644
index 0000000..f28ca6c
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-14.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-15.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-15.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-15.gz
new file mode 100644
index 0000000..6f7f918
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-15.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-16.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-16.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-16.gz
new file mode 100644
index 0000000..0b4cf75
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-16.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-17.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-17.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-17.gz
new file mode 100644
index 0000000..9e55730
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-17.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-18.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-18.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-18.gz
new file mode 100644
index 0000000..a69c3f5
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-18.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-19.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-19.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-19.gz
new file mode 100644
index 0000000..bc554f1
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-19.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-2.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-2.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-2.gz
new file mode 100644
index 0000000..18b9ac7
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-2.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-20.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-20.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-20.gz
new file mode 100644
index 0000000..2da4fed
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-20.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-21.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-21.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-21.gz
new file mode 100644
index 0000000..f4d6b3e
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-21.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-22.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-22.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-22.gz
new file mode 100644
index 0000000..336e7cc
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-22.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-23.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-23.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-23.gz
new file mode 100644
index 0000000..cfda7ec
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-23.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-24.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-24.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-24.gz
new file mode 100644
index 0000000..c4e15c9
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-24.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-25.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-25.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-25.gz
new file mode 100644
index 0000000..da0ea63
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-25.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-26.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-26.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-26.gz
new file mode 100644
index 0000000..ab275af
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-26.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-27.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-27.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-27.gz
new file mode 100644
index 0000000..9227376
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-27.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-28.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-28.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-28.gz
new file mode 100644
index 0000000..3188962
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-28.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-29.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-29.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-29.gz
new file mode 100644
index 0000000..8fa0ab8
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-29.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-3.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-3.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-3.gz
new file mode 100644
index 0000000..e61a84f
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-3.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-30
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-30 b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-30
new file mode 100644
index 0000000..8d1c8b6
--- /dev/null
+++ b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-30
@@ -0,0 +1 @@
+
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-4.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-4.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-4.gz
new file mode 100644
index 0000000..5b9f041
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-4.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-5.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-5.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-5.gz
new file mode 100644
index 0000000..5b4d123
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-5.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-6.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-6.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-6.gz
new file mode 100644
index 0000000..d88f76c
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-6.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-7.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-7.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-7.gz
new file mode 100644
index 0000000..ca0a93d
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-7.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-8.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-8.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-8.gz
new file mode 100644
index 0000000..ae1fd86
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-8.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-9.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-9.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-9.gz
new file mode 100644
index 0000000..427327e
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_09-9.gz differ
[3/3] logging-log4j2 git commit: LOG4J2-1101 - Add documentation. Add
missing license headers
Posted by rg...@apache.org.
LOG4J2-1101 - Add documentation. Add missing license headers
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/8e88deb3
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/8e88deb3
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/8e88deb3
Branch: refs/heads/master
Commit: 8e88deb3e7e09c5e3df9445d7930bc63b5c39f4b
Parents: acd8a4d
Author: Ralph Goers <rg...@nextiva.com>
Authored: Sun Jan 15 14:13:53 2017 -0700
Committer: Ralph Goers <rg...@nextiva.com>
Committed: Sun Jan 15 14:13:53 2017 -0700
----------------------------------------------------------------------
.../rolling/DirectWriteRolloverStrategy.java | 2 +
.../core/appender/rolling/FileExtension.java | 16 ++++
.../core/net/SocketPerformancePreferences.java | 16 ++++
.../logging/log4j/core/CronRolloverApp.java | 16 ++++
.../core/async/Log4j2Jira1688AsyncTest.java | 16 ++++
.../log4j/core/async/Log4j2Jira1688Test.java | 16 ++++
src/changes/changes.xml | 3 +
src/site/xdoc/manual/appenders.xml | 86 +++++++++++++++++++-
8 files changed, 169 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/8e88deb3/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DirectWriteRolloverStrategy.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DirectWriteRolloverStrategy.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DirectWriteRolloverStrategy.java
index 2d8cbc6..6861db2 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DirectWriteRolloverStrategy.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DirectWriteRolloverStrategy.java
@@ -46,6 +46,8 @@ import org.apache.logging.log4j.core.util.Integers;
* on the file pattern, however the DirectWriteRolloverStrategy writes directly to a file and does not rename it
* during rollover, except if it is compressed, in which case it will add the appropriate file extension.
* </p>
+ *
+ * @since 2.8
*/
@Plugin(name = "DirectWriteRolloverStrategy", category = Core.CATEGORY_NAME, printObject = true)
public class DirectWriteRolloverStrategy extends AbstractRolloverStrategy implements DirectFileRolloverStrategy {
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/8e88deb3/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/FileExtension.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/FileExtension.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/FileExtension.java
index 8a6595e..9d0016f 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/FileExtension.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/FileExtension.java
@@ -1,3 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache license, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the license for the specific language governing permissions and
+ * limitations under the license.
+ */
package org.apache.logging.log4j.core.appender.rolling;
import java.io.File;
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/8e88deb3/log4j-core/src/main/java/org/apache/logging/log4j/core/net/SocketPerformancePreferences.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/SocketPerformancePreferences.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/SocketPerformancePreferences.java
index c7a246a..571acb6 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/net/SocketPerformancePreferences.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/net/SocketPerformancePreferences.java
@@ -1,3 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache license, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the license for the specific language governing permissions and
+ * limitations under the license.
+ */
package org.apache.logging.log4j.core.net;
import java.net.Socket;
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/8e88deb3/log4j-core/src/test/java/org/apache/logging/log4j/core/CronRolloverApp.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/CronRolloverApp.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/CronRolloverApp.java
index 7ba7816..59919da 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/CronRolloverApp.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/CronRolloverApp.java
@@ -1,3 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache license, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the license for the specific language governing permissions and
+ * limitations under the license.
+ */
package org.apache.logging.log4j.core;
import org.apache.logging.log4j.LogManager;
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/8e88deb3/log4j-core/src/test/java/org/apache/logging/log4j/core/async/Log4j2Jira1688AsyncTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/async/Log4j2Jira1688AsyncTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/async/Log4j2Jira1688AsyncTest.java
index 1f98edb..b846d74 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/async/Log4j2Jira1688AsyncTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/async/Log4j2Jira1688AsyncTest.java
@@ -1,3 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache license, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the license for the specific language governing permissions and
+ * limitations under the license.
+ */
package org.apache.logging.log4j.core.async;
import java.util.Arrays;
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/8e88deb3/log4j-core/src/test/java/org/apache/logging/log4j/core/async/Log4j2Jira1688Test.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/async/Log4j2Jira1688Test.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/async/Log4j2Jira1688Test.java
index 475addc..57d9247 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/async/Log4j2Jira1688Test.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/async/Log4j2Jira1688Test.java
@@ -1,3 +1,19 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache license, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the license for the specific language governing permissions and
+ * limitations under the license.
+ */
package org.apache.logging.log4j.core.async;
import java.util.Arrays;
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/8e88deb3/src/changes/changes.xml
----------------------------------------------------------------------
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 2d51ffe..0020125 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -24,6 +24,9 @@
</properties>
<body>
<release version="2.8" date="2017-MM-DD" description="GA Release 2.8">
+ <action issue="LOG4J2-1101" dev="rgoers" type="add">
+ RollingFileAppender now supports omitting the file name and writing directly to the archive files.
+ </action>
<action issue="LOG4J2-1786" dev="rpopma" type="fix">
ConfigurationScheduler now preserves interrupt flag during stop.
</action>
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/8e88deb3/src/site/xdoc/manual/appenders.xml
----------------------------------------------------------------------
diff --git a/src/site/xdoc/manual/appenders.xml b/src/site/xdoc/manual/appenders.xml
index 233bf10..46f0ab8 100644
--- a/src/site/xdoc/manual/appenders.xml
+++ b/src/site/xdoc/manual/appenders.xml
@@ -2378,7 +2378,9 @@ public class JpaLogEntity extends AbstractLogEventWrapperEntity {
be performed while the RolloverStrategy defines how the rollover should be done. If no RolloverStrategy
is configured, RollingFileAppender will use the <a href="#DefaultRolloverStrategy">DefaultRolloverStrategy</a>.
Since log4j-2.5, a <a href="#CustomDeleteOnRollover">custom delete action</a> can be configured in the
- DefaultRolloverStrategy to run at rollover.
+ DefaultRolloverStrategy to run at rollover. Since 2.8 if no file name is configured then
+ <a href="DirectWriteRolloverStrategy">DirectWriteRolloverStrategy</a> will be used instead of
+ DefaultRolloverStrategy.
</p>
<p>
File locking is not supported by the RollingFileAppender.
@@ -2735,7 +2737,38 @@ public class JpaLogEntity extends AbstractLogEventWrapperEntity {
</td>
</tr>
</table>
-
+ <a name="DirectWriteRolloverStrategy"/>
+ <h5>DirectWrite Rollover Strategy</h5>
+ <p>
+ The DirectWriteRolloverStrategy causes log events to be written directly to files represented by the
+ file pattern. With this strategy file renames are not performed. If the size-based triggering policy
+ causes multiple files to be written durring the specified time period they will be numbered starting
+ at one and continually incremented until a time-based rollover occurs.
+ </p>
+ <table>
+ <caption align="top">DirectWriteRolloverStrategy Parameters</caption>
+ <tr>
+ <th>Parameter Name</th>
+ <th>Type</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td>maxFiles</td>
+ <td>String</td>
+ <td>The maximum number of files to allow in the time period matching the file pattern. If the
+ number of files is exceeded the oldest file will be deleted. If specified, the value must
+ be greater than 1. If the value is less than zero or omitted then the number of files will
+ not be limited.</td>
+ </tr>
+ <tr>
+ <td>compressionLevel</td>
+ <td>integer</td>
+ <td>
+ Sets the compression level, 0-9, where 0 = none, 1 = best speed, through 9 = best compression.
+ Only implemented for ZIP files.
+ </td>
+ </tr>
+ </table>
<p>
Below is a sample configuration that uses a RollingFileAppender with both the time and size based
triggering policies, will create up to 7 archives on the same day (1-7) that are stored in a directory
@@ -2814,6 +2847,55 @@ public class JpaLogEntity extends AbstractLogEventWrapperEntity {
</Root>
</Loggers>
</Configuration>]]></pre>
+ <p>
+ This sample configuration uses a RollingFileAppender with both the cron and size based
+ triggering policies, and writes directly to an unlimited number of archive files. The cron
+ trigger causes a rollover every hour while the file size is limited to 250MB:
+ </p>
+
+ <pre class="prettyprint linenums"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
+<Configuration status="warn" name="MyApp" packages="">
+ <Appenders>
+ <RollingFile name="RollingFile" filePattern="logs/app-%d{yyyy-MM-dd-HH}-%i.log.gz">
+ <PatternLayout>
+ <Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
+ </PatternLayout>
+ <Policies>
+ <CronTriggeringPolicy schedule="0 0 * * * ?"/>
+ <SizeBasedTriggeringPolicy size="250 MB"/>
+ </Policies>
+ </RollingFile>
+ </Appenders>
+ <Loggers>
+ <Root level="error">
+ <AppenderRef ref="RollingFile"/>
+ </Root>
+ </Loggers>
+</Configuration>]]></pre>
+ <p>
+ This sample configuration is the same as the previous but limits the number of files saved each hour to 10:
+ </p>
+
+ <pre class="prettyprint linenums"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
+<Configuration status="warn" name="MyApp" packages="">
+ <Appenders>
+ <RollingFile name="RollingFile" filePattern="logs/app-%d{yyyy-MM-dd-HH}-%i.log.gz">
+ <PatternLayout>
+ <Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
+ </PatternLayout>
+ <Policies>
+ <CronTriggeringPolicy schedule="0 0 * * * ?"/>
+ <SizeBasedTriggeringPolicy size="250 MB"/>
+ </Policies>
+ <DirectWriteRolloverStrategy maxFiles="10"/>
+ </RollingFile>
+ </Appenders>
+ <Loggers>
+ <Root level="error">
+ <AppenderRef ref="RollingFile"/>
+ </Root>
+ </Loggers>
+</Configuration>]]></pre>
<a name="CustomDeleteOnRollover"/>
<h5>Log Archive Retention Policy: Delete on Rollover</h5>
<p>
[2/3] logging-log4j2 git commit: LOG4J2-1101 - RollingFileAppender
now supports omitting the file name and writing directly to the archive
files.
Posted by rg...@apache.org.
LOG4J2-1101 - RollingFileAppender now supports omitting the file name and writing directly to the archive files.
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/acd8a4d6
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/acd8a4d6
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/acd8a4d6
Branch: refs/heads/master
Commit: acd8a4d6e587ae58e0550ae75ab29b7cceb4c843
Parents: 6f3fe2f
Author: Ralph Goers <rg...@nextiva.com>
Authored: Sun Jan 15 13:28:12 2017 -0700
Committer: Ralph Goers <rg...@nextiva.com>
Committed: Sun Jan 15 13:28:12 2017 -0700
----------------------------------------------------------------------
.../log4j/core/appender/FileManager.java | 5 +-
.../core/appender/OutputStreamManager.java | 4 +
.../core/appender/RollingFileAppender.java | 25 ++-
.../rolling/AbstractRolloverStrategy.java | 74 +++++++
.../appender/rolling/CronTriggeringPolicy.java | 5 +
.../rolling/DefaultRolloverStrategy.java | 127 +----------
.../rolling/DirectFileRolloverStrategy.java | 25 +++
.../rolling/DirectWriteRolloverStrategy.java | 211 +++++++++++++++++++
.../core/appender/rolling/FileExtension.java | 109 ++++++++++
.../core/appender/rolling/PatternProcessor.java | 31 ++-
.../appender/rolling/RollingFileManager.java | 80 +++++--
.../appender/rolling/EligibleFilesTest.java | 51 +++++
.../RollingAppenderCronEvery2DirectTest.java | 86 ++++++++
.../rolling/RollingAppenderDirectWriteTest.java | 66 ++++++
.../rolling/RollingAppenderSizeTest.java | 5 +-
.../RollingAppenderTimeAndSizeDirectTest.java | 67 ++++++
.../log4j-rolling-cron-every2-direct.xml | 54 +++++
.../src/test/resources/log4j-rolling-direct.xml | 50 +++++
.../test/resources/log4j-rolling3-direct.xml | 54 +++++
.../rolloverPath/log4j.txt.20170112_00-1.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_00-2.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_01-1.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_02-1.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_02-2.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_02-3.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_02-4.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_02-5.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_03-1.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_03-2.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_03-3.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_03-4.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_03-5.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_04-1.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_04-2.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_04-3.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_04-4.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_04-5.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_05-1.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_05-2.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_05-3.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_05-4.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_05-5.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_06-1.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_06-10.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_06-11.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_06-12.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_06-13.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_06-14.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_06-15.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_06-16.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_06-17.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_06-18.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_06-19.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_06-2.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_06-20.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_06-3.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_06-4.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_06-5.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_06-6.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_06-7.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_06-8.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_06-9.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_07-1.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_07-10.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_07-11.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_07-12.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_07-13.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_07-14.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_07-15.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_07-16.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_07-17.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_07-18.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_07-19.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_07-2.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_07-20.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_07-21.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_07-22.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_07-23.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_07-24.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_07-25.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_07-26.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_07-27.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_07-28.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_07-29.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_07-3.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_07-4.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_07-5.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_07-6.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_07-7.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_07-8.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_07-9.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_08-1.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_08-10.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_08-11.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_08-12.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_08-13.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_08-14.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_08-15.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_08-16.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_08-17.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_08-18.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_08-19.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_08-2.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_08-20.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_08-21.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_08-22.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_08-23.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_08-24.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_08-25.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_08-26.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_08-27.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_08-28.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_08-29.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_08-3.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_08-4.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_08-5.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_08-6.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_08-7.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_08-8.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_08-9.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_09-1.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_09-10.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_09-11.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_09-12.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_09-13.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_09-14.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_09-15.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_09-16.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_09-17.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_09-18.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_09-19.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_09-2.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_09-20.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_09-21.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_09-22.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_09-23.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_09-24.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_09-25.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_09-26.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_09-27.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_09-28.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_09-29.gz | Bin 0 -> 47 bytes
.../rolloverPath/log4j.txt.20170112_09-3.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_09-30 | 1 +
.../rolloverPath/log4j.txt.20170112_09-4.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_09-5.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_09-6.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_09-7.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_09-8.gz | Bin 0 -> 46 bytes
.../rolloverPath/log4j.txt.20170112_09-9.gz | Bin 0 -> 46 bytes
150 files changed, 967 insertions(+), 163 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/FileManager.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/FileManager.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/FileManager.java
index 03e44c0..410e745 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/FileManager.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/FileManager.java
@@ -25,6 +25,7 @@ import java.io.Serializable;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
import java.nio.channels.FileLock;
+import java.util.Date;
import java.util.HashMap;
import java.util.Map;
@@ -113,7 +114,9 @@ public class FileManager extends OutputStreamManager {
@Override
protected OutputStream createOutputStream() throws FileNotFoundException {
- return new FileOutputStream(getFileName(), isAppend);
+ String filename = getFileName();
+ LOGGER.debug("Now writing to {} at {}", filename, new Date());
+ return new FileOutputStream(filename, isAppend);
}
@Override
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/OutputStreamManager.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/OutputStreamManager.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/OutputStreamManager.java
index d7a2627..bfce7de 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/OutputStreamManager.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/OutputStreamManager.java
@@ -157,6 +157,10 @@ public class OutputStreamManager extends AbstractManager implements ByteBufferDe
return getCount() > 0;
}
+ public boolean hasOutputStream() {
+ return os != null;
+ }
+
protected OutputStream getOutputStream() throws IOException {
if (os == null) {
os = createOutputStream();
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/RollingFileAppender.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/RollingFileAppender.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/RollingFileAppender.java
index 81a4551..c3e092a 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/RollingFileAppender.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/RollingFileAppender.java
@@ -28,9 +28,11 @@ import org.apache.logging.log4j.core.Filter;
import org.apache.logging.log4j.core.Layout;
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy;
+import org.apache.logging.log4j.core.appender.rolling.DirectWriteRolloverStrategy;
import org.apache.logging.log4j.core.appender.rolling.RollingFileManager;
import org.apache.logging.log4j.core.appender.rolling.RolloverStrategy;
import org.apache.logging.log4j.core.appender.rolling.TriggeringPolicy;
+import org.apache.logging.log4j.core.appender.rolling.DirectFileRolloverStrategy;
import org.apache.logging.log4j.core.config.Configuration;
import org.apache.logging.log4j.core.config.plugins.Plugin;
import org.apache.logging.log4j.core.config.plugins.PluginBuilderAttribute;
@@ -59,7 +61,6 @@ public final class RollingFileAppender extends AbstractOutputStreamAppender<Roll
implements org.apache.logging.log4j.core.util.Builder<RollingFileAppender> {
@PluginBuilderAttribute
- @Required
private String fileName;
@PluginBuilderAttribute
@@ -103,11 +104,6 @@ public final class RollingFileAppender extends AbstractOutputStreamAppender<Roll
LOGGER.warn("RollingFileAppender '{}': The bufferSize is set to {} but bufferedIO is not true", getName(), bufferSize);
}
- if (fileName == null) {
- LOGGER.error("RollingFileAppender '{}': No file name provided.", getName());
- return null;
- }
-
if (filePattern == null) {
LOGGER.error("RollingFileAppender '{}': No file name pattern provided.", getName());
return null;
@@ -119,13 +115,16 @@ public final class RollingFileAppender extends AbstractOutputStreamAppender<Roll
}
if (strategy == null) {
- strategy = DefaultRolloverStrategy.createStrategy(null, null, null,
- String.valueOf(Deflater.DEFAULT_COMPRESSION), null, true, getConfiguration());
- }
-
- if (strategy == null) {
- strategy = DefaultRolloverStrategy.createStrategy(null, null, null,
- String.valueOf(Deflater.DEFAULT_COMPRESSION), null, true, getConfiguration());
+ if (fileName != null) {
+ strategy = DefaultRolloverStrategy.createStrategy(null, null, null,
+ String.valueOf(Deflater.DEFAULT_COMPRESSION), null, true, getConfiguration());
+ } else {
+ strategy = DirectWriteRolloverStrategy.createStrategy(null,
+ String.valueOf(Deflater.DEFAULT_COMPRESSION), null, true, getConfiguration());
+ }
+ } else if (fileName == null && !(strategy instanceof DirectFileRolloverStrategy)) {
+ LOGGER.error("RollingFileAppender '{}': When no file name is provided a DirectFilenameRolloverStrategy must be configured");
+ return null;
}
final Layout<? extends Serializable> layout = getOrCreateLayout();
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/AbstractRolloverStrategy.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/AbstractRolloverStrategy.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/AbstractRolloverStrategy.java
index 702e3af..c66cf75 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/AbstractRolloverStrategy.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/AbstractRolloverStrategy.java
@@ -16,7 +16,28 @@
*/
package org.apache.logging.log4j.core.appender.rolling;
+import java.io.File;
+import java.io.IOException;
+import java.nio.file.DirectoryStream;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.SortedMap;
+import java.util.TreeMap;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.LoggingException;
+import org.apache.logging.log4j.core.appender.rolling.action.Action;
+import org.apache.logging.log4j.core.appender.rolling.action.CommonsCompressAction;
+import org.apache.logging.log4j.core.appender.rolling.action.CompositeAction;
+import org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction;
+import org.apache.logging.log4j.core.appender.rolling.action.ZipCompressAction;
import org.apache.logging.log4j.status.StatusLogger;
/**
@@ -28,4 +49,57 @@ public abstract class AbstractRolloverStrategy implements RolloverStrategy {
* Allow subclasses access to the status logger without creating another instance.
*/
protected static final Logger LOGGER = StatusLogger.getLogger();
+
+ protected Action merge(final Action compressAction, final List<Action> custom, final boolean stopOnError) {
+ if (custom.isEmpty()) {
+ return compressAction;
+ }
+ if (compressAction == null) {
+ return new CompositeAction(custom, stopOnError);
+ }
+ final List<Action> all = new ArrayList<>();
+ all.add(compressAction);
+ all.addAll(custom);
+ return new CompositeAction(all, stopOnError);
+ }
+
+ protected int suffixLength(final String lowFilename) {
+ for (final FileExtension extension : FileExtension.values()) {
+ if (extension.isExtensionFor(lowFilename)) {
+ return extension.length();
+ }
+ }
+ return 0;
+ }
+
+ protected SortedMap<Integer, Path> getEligibleFiles(String path) {
+ SortedMap<Integer, Path> eligibleFiles = new TreeMap<>();
+ File file = new File(path);
+ File parent = file.getParentFile();
+ parent.mkdirs();
+ if (!path.contains("--1")) {
+ return eligibleFiles;
+ }
+ Path dir = parent.toPath();
+ String fileName = file.getName();
+ int suffixLength = suffixLength(fileName);
+ if (suffixLength > 0) {
+ fileName = fileName.substring(0, fileName.length() - suffixLength) + ".*";
+ }
+ String filePattern = fileName.replace("--1", "-(\\d+)");
+ Pattern pattern = Pattern.compile(filePattern);
+
+ try (DirectoryStream<Path> stream = Files.newDirectoryStream(dir)) {
+ for (Path entry: stream) {
+ Matcher matcher = pattern.matcher(entry.toFile().getName());
+ if (matcher.matches()) {
+ Integer index = Integer.parseInt(matcher.group(1));
+ eligibleFiles.put(index, entry);
+ }
+ }
+ } catch (IOException ioe) {
+ throw new LoggingException("Error reading folder " + dir + " " + ioe.getMessage(), ioe);
+ }
+ return eligibleFiles;
+ }
}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/CronTriggeringPolicy.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/CronTriggeringPolicy.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/CronTriggeringPolicy.java
index e8f4208..b5e9700 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/CronTriggeringPolicy.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/CronTriggeringPolicy.java
@@ -69,6 +69,9 @@ public final class CronTriggeringPolicy extends AbstractTriggeringPolicy {
final Date now = new Date();
final Date lastRollForFile = cronExpression.getPrevFireTime(new Date(this.manager.getFileTime()));
final Date lastRegularRoll = cronExpression.getPrevFireTime(new Date());
+ aManager.getPatternProcessor().setCurrentFileTime(lastRegularRoll.getTime());
+ LOGGER.debug("LastRollForFile {}, LastRegularRole {}", lastRollForFile, lastRegularRoll);
+ aManager.getPatternProcessor().setPrevFileTime(lastRegularRoll.getTime());
if (checkOnStartup && lastRollForFile != null && lastRegularRoll != null &&
lastRollForFile.before(lastRegularRoll)) {
lastRollDate = lastRollForFile;
@@ -145,6 +148,8 @@ public final class CronTriggeringPolicy extends AbstractTriggeringPolicy {
private void rollover() {
manager.getPatternProcessor().setPrevFileTime(lastRollDate.getTime());
+ final Date thisRoll = cronExpression.getPrevFireTime(new Date());
+ manager.getPatternProcessor().setCurrentFileTime(thisRoll.getTime());
manager.rollover();
if (future != null) {
lastRollDate = future.getFireTime();
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DefaultRolloverStrategy.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DefaultRolloverStrategy.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DefaultRolloverStrategy.java
index df79d1e..6feffd5 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DefaultRolloverStrategy.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DefaultRolloverStrategy.java
@@ -77,99 +77,6 @@ import org.apache.logging.log4j.core.util.Integers;
@Plugin(name = "DefaultRolloverStrategy", category = Core.CATEGORY_NAME, printObject = true)
public class DefaultRolloverStrategy extends AbstractRolloverStrategy {
- /**
- * Enumerates over supported file extensions.
- * <p>
- * Package-protected for unit tests.
- */
- static enum FileExtensions {
- ZIP(".zip") {
- @Override
- Action createCompressAction(final String renameTo, final String compressedName, final boolean deleteSource,
- final int compressionLevel) {
- return new ZipCompressAction(source(renameTo), target(compressedName), deleteSource, compressionLevel);
- }
- },
- GZ(".gz") {
- @Override
- Action createCompressAction(final String renameTo, final String compressedName, final boolean deleteSource,
- final int compressionLevel) {
- return new GzCompressAction(source(renameTo), target(compressedName), deleteSource);
- }
- },
- BZIP2(".bz2") {
- @Override
- Action createCompressAction(final String renameTo, final String compressedName, final boolean deleteSource,
- final int compressionLevel) {
- // One of "gz", "bzip2", "xz", "pack200", or "deflate".
- return new CommonsCompressAction("bzip2", source(renameTo), target(compressedName), deleteSource);
- }
- },
- DEFLATE(".deflate") {
- @Override
- Action createCompressAction(final String renameTo, final String compressedName, final boolean deleteSource,
- final int compressionLevel) {
- // One of "gz", "bzip2", "xz", "pack200", or "deflate".
- return new CommonsCompressAction("deflate", source(renameTo), target(compressedName), deleteSource);
- }
- },
- PACK200(".pack200") {
- @Override
- Action createCompressAction(final String renameTo, final String compressedName, final boolean deleteSource,
- final int compressionLevel) {
- // One of "gz", "bzip2", "xz", "pack200", or "deflate".
- return new CommonsCompressAction("pack200", source(renameTo), target(compressedName), deleteSource);
- }
- },
- XZ(".xz") {
- @Override
- Action createCompressAction(final String renameTo, final String compressedName, final boolean deleteSource,
- final int compressionLevel) {
- // One of "gz", "bzip2", "xz", "pack200", or "deflate".
- return new CommonsCompressAction("xz", source(renameTo), target(compressedName), deleteSource);
- }
- };
-
- static FileExtensions lookup(final String fileExtension) {
- for (final FileExtensions ext : values()) {
- if (ext.isExtensionFor(fileExtension)) {
- return ext;
- }
- }
- return null;
- }
-
- private final String extension;
-
- private FileExtensions(final String extension) {
- Objects.requireNonNull(extension, "extension");
- this.extension = extension;
- }
-
- abstract Action createCompressAction(String renameTo, String compressedName, boolean deleteSource,
- int compressionLevel);
-
- String getExtension() {
- return extension;
- }
-
- boolean isExtensionFor(final String s) {
- return s.endsWith(this.extension);
- }
-
- int length() {
- return extension.length();
- }
-
- File source(final String fileName) {
- return new File(fileName);
- }
-
- File target(final String fileName) {
- return new File(fileName);
- }
- }
-
private static final int MIN_WINDOW_SIZE = 1;
private static final int DEFAULT_WINDOW_SIZE = 7;
@@ -283,19 +190,6 @@ public class DefaultRolloverStrategy extends AbstractRolloverStrategy {
return useMax;
}
- private Action merge(final Action compressAction, final List<Action> custom, final boolean stopOnError) {
- if (custom.isEmpty()) {
- return compressAction;
- }
- if (compressAction == null) {
- return new CompositeAction(custom, stopOnError);
- }
- final List<Action> all = new ArrayList<>();
- all.add(compressAction);
- all.addAll(custom);
- return new CompositeAction(all, stopOnError);
- }
-
private int purge(final int lowIndex, final int highIndex, final RollingFileManager manager) {
return useMax ? purgeAscending(lowIndex, highIndex, manager) : purgeDescending(lowIndex, highIndex, manager);
}
@@ -531,13 +425,13 @@ public class DefaultRolloverStrategy extends AbstractRolloverStrategy {
final String compressedName = renameTo;
Action compressAction = null;
- for (final FileExtensions ext : FileExtensions.values()) { // LOG4J2-1077 support other compression formats
- if (ext.isExtensionFor(renameTo)) {
- renameTo = renameTo.substring(0, renameTo.length() - ext.length()); // LOG4J2-1135 omit extension!
- compressAction = ext.createCompressAction(renameTo, compressedName, true, compressionLevel);
- break;
- }
+ FileExtension fileExtension = manager.getFileExtension();
+ if (fileExtension != null) {
+ renameTo = renameTo.substring(0, renameTo.length() - fileExtension.length());
+ compressAction = fileExtension.createCompressAction(renameTo, compressedName,
+ true, compressionLevel);
}
+
if (currentFileName.equals(renameTo)) {
LOGGER.warn("Attempt to rename file {} to itself will be ignored", currentFileName);
return new RolloverDescriptionImpl(currentFileName, false, null, null);
@@ -550,15 +444,6 @@ public class DefaultRolloverStrategy extends AbstractRolloverStrategy {
return new RolloverDescriptionImpl(currentFileName, false, renameAction, asyncAction);
}
- private int suffixLength(final String lowFilename) {
- for (final FileExtensions extension : FileExtensions.values()) {
- if (extension.isExtensionFor(lowFilename)) {
- return extension.length();
- }
- }
- return 0;
- }
-
@Override
public String toString() {
return "DefaultRolloverStrategy(min=" + minIndex + ", max=" + maxIndex + ')';
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DirectFileRolloverStrategy.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DirectFileRolloverStrategy.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DirectFileRolloverStrategy.java
new file mode 100644
index 0000000..4d27f8d
--- /dev/null
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DirectFileRolloverStrategy.java
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache license, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the license for the specific language governing permissions and
+ * limitations under the license.
+ */
+package org.apache.logging.log4j.core.appender.rolling;
+
+/**
+ * Created by rgoers on 1/12/17.
+ */
+public interface DirectFileRolloverStrategy {
+
+ String getCurrentFileName(final RollingFileManager manager);
+}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DirectWriteRolloverStrategy.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DirectWriteRolloverStrategy.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DirectWriteRolloverStrategy.java
new file mode 100644
index 0000000..2d8cbc6
--- /dev/null
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DirectWriteRolloverStrategy.java
@@ -0,0 +1,211 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache license, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the license for the specific language governing permissions and
+ * limitations under the license.
+ */
+package org.apache.logging.log4j.core.appender.rolling;
+
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.SortedMap;
+import java.util.concurrent.TimeUnit;
+import java.util.zip.Deflater;
+
+import org.apache.logging.log4j.core.Core;
+import org.apache.logging.log4j.core.appender.rolling.action.Action;
+import org.apache.logging.log4j.core.config.Configuration;
+import org.apache.logging.log4j.core.config.plugins.Plugin;
+import org.apache.logging.log4j.core.config.plugins.PluginAttribute;
+import org.apache.logging.log4j.core.config.plugins.PluginConfiguration;
+import org.apache.logging.log4j.core.config.plugins.PluginElement;
+import org.apache.logging.log4j.core.config.plugins.PluginFactory;
+import org.apache.logging.log4j.core.lookup.StrSubstitutor;
+import org.apache.logging.log4j.core.util.Integers;
+
+/**
+ * When rolling over, <code>DirectWriteRolloverStrategy</code> writes directly to the file as resolved by the file
+ * pattern. Files will be renamed files according to an algorithm as described below.
+ *
+ * <p>
+ * The DirectWriteRolloverStrategy uses similar logic as DefaultRolloverStrategy to determine the file name based
+ * on the file pattern, however the DirectWriteRolloverStrategy writes directly to a file and does not rename it
+ * during rollover, except if it is compressed, in which case it will add the appropriate file extension.
+ * </p>
+ */
+@Plugin(name = "DirectWriteRolloverStrategy", category = Core.CATEGORY_NAME, printObject = true)
+public class DirectWriteRolloverStrategy extends AbstractRolloverStrategy implements DirectFileRolloverStrategy {
+
+ private static final int DEFAULT_MAX_FILES = 7;
+
+ /**
+ * Creates the DirectWriteRolloverStrategy.
+ *
+ * @param maxFiles The maximum number of files that match the date portion of the pattern to keep.
+ * @param compressionLevelStr The compression level, 0 (less) through 9 (more); applies only to ZIP files.
+ * @param customActions custom actions to perform asynchronously after rollover
+ * @param stopCustomActionsOnError whether to stop executing asynchronous actions if an error occurs
+ * @param config The Configuration.
+ * @return A DefaultRolloverStrategy.
+ */
+ @PluginFactory
+ public static DirectWriteRolloverStrategy createStrategy(
+ // @formatter:off
+ @PluginAttribute("maxFiles") final String maxFiles,
+ @PluginAttribute("compressionLevel") final String compressionLevelStr,
+ @PluginElement("Actions") final Action[] customActions,
+ @PluginAttribute(value = "stopCustomActionsOnError", defaultBoolean = true)
+ final boolean stopCustomActionsOnError,
+ @PluginConfiguration final Configuration config) {
+ // @formatter:on
+ int maxIndex = Integer.MAX_VALUE;
+ if (maxFiles != null) {
+ maxIndex = Integer.parseInt(maxFiles);
+ if (maxIndex < 0) {
+ maxIndex = Integer.MAX_VALUE;
+ } else if (maxIndex < 2) {
+ LOGGER.error("Maximum files too small. Limited to " + DEFAULT_MAX_FILES);
+ maxIndex = DEFAULT_MAX_FILES;
+ }
+ }
+ final int compressionLevel = Integers.parseInt(compressionLevelStr, Deflater.DEFAULT_COMPRESSION);
+ return new DirectWriteRolloverStrategy(maxIndex, compressionLevel, config.getStrSubstitutor(),
+ customActions, stopCustomActionsOnError);
+ }
+
+ /**
+ * Index for most recent log file.
+ */
+ private final int maxFiles;
+ private final StrSubstitutor strSubstitutor;
+ private final int compressionLevel;
+ private final List<Action> customActions;
+ private final boolean stopCustomActionsOnError;
+ private volatile String currentFileName;
+ private int nextIndex = -1;
+
+ /**
+ * Constructs a new instance.
+ *
+ * @param maxFiles The minimum index.
+ * @param customActions custom actions to perform asynchronously after rollover
+ * @param stopCustomActionsOnError whether to stop executing asynchronous actions if an error occurs
+ */
+ protected DirectWriteRolloverStrategy(final int maxFiles, final int compressionLevel,
+ final StrSubstitutor strSubstitutor, final Action[] customActions,
+ final boolean stopCustomActionsOnError) {
+ this.maxFiles = maxFiles;
+ this.compressionLevel = compressionLevel;
+ this.strSubstitutor = strSubstitutor;
+ this.stopCustomActionsOnError = stopCustomActionsOnError;
+ this.customActions = customActions == null ? Collections.<Action> emptyList() : Arrays.asList(customActions);
+ }
+
+ public int getCompressionLevel() {
+ return this.compressionLevel;
+ }
+
+ public List<Action> getCustomActions() {
+ return customActions;
+ }
+
+ public int getMaxFiles() {
+ return this.maxFiles;
+ }
+
+ public StrSubstitutor getStrSubstitutor() {
+ return strSubstitutor;
+ }
+
+ public boolean isStopCustomActionsOnError() {
+ return stopCustomActionsOnError;
+ }
+
+ private SortedMap<Integer, Path> getEligibleFiles(final RollingFileManager manager) {
+ final StringBuilder buf = new StringBuilder();
+ manager.getPatternProcessor().formatFileName(strSubstitutor, buf, -1);
+ return getEligibleFiles(buf.toString());
+ }
+
+ private int purge(final RollingFileManager manager) {
+ SortedMap<Integer, Path> eligibleFiles = getEligibleFiles(manager);
+ LOGGER.debug("Found {} eligible files, max is {}", eligibleFiles.size(), maxFiles);
+ while (eligibleFiles.size() >= maxFiles) {
+ try {
+ Integer key = eligibleFiles.firstKey();
+ Files.delete(eligibleFiles.get(key));
+ eligibleFiles.remove(key);
+ } catch (IOException ioe) {
+ LOGGER.error("Unable to delete {}", eligibleFiles.firstKey(), ioe);
+ break;
+ }
+ }
+ return eligibleFiles.size() > 0 ? eligibleFiles.lastKey() : 1;
+ }
+
+ public String getCurrentFileName(final RollingFileManager manager) {
+ if (currentFileName == null) {
+ SortedMap<Integer, Path> eligibleFiles = getEligibleFiles(manager);
+ final int fileIndex = eligibleFiles.size() > 0 ? (nextIndex > 0 ? nextIndex : eligibleFiles.size()) : 1;
+ final StringBuilder buf = new StringBuilder(255);
+ manager.getPatternProcessor().formatFileName(strSubstitutor, buf, true, fileIndex);
+ int suffixLength = suffixLength(buf.toString());
+ String name = suffixLength > 0 ? buf.substring(0, buf.length() - suffixLength) : buf.toString();
+ currentFileName = name;
+ }
+ return currentFileName;
+ }
+
+ /**
+ * Performs the rollover.
+ *
+ * @param manager The RollingFileManager name for current active log file.
+ * @return A RolloverDescription.
+ * @throws SecurityException if an error occurs.
+ */
+ @Override
+ public RolloverDescription rollover(final RollingFileManager manager) throws SecurityException {
+ LOGGER.debug("Rolling " + currentFileName);
+ if (maxFiles < 0) {
+ return null;
+ }
+ final long startNanos = System.nanoTime();
+ final int fileIndex = purge(manager);
+ if (LOGGER.isTraceEnabled()) {
+ final double durationMillis = TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - startNanos);
+ LOGGER.trace("DirectWriteRolloverStrategy.purge() took {} milliseconds", durationMillis);
+ }
+ Action compressAction = null;
+ final String sourceName = currentFileName;
+ currentFileName = null;
+ nextIndex = fileIndex + 1;
+ FileExtension fileExtension = manager.getFileExtension();
+ if (fileExtension != null) {
+ compressAction = fileExtension.createCompressAction(sourceName, sourceName + fileExtension.getExtension(),
+ true, compressionLevel);
+ }
+
+ final Action asyncAction = merge(compressAction, customActions, stopCustomActionsOnError);
+ return new RolloverDescriptionImpl(sourceName, false, null, asyncAction);
+ }
+
+ @Override
+ public String toString() {
+ return "DirectWriteRolloverStrategy(maxFiles=" + maxFiles + ')';
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/FileExtension.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/FileExtension.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/FileExtension.java
new file mode 100644
index 0000000..8a6595e
--- /dev/null
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/FileExtension.java
@@ -0,0 +1,109 @@
+package org.apache.logging.log4j.core.appender.rolling;
+
+import java.io.File;
+import java.util.Objects;
+
+import org.apache.logging.log4j.core.appender.rolling.action.Action;
+import org.apache.logging.log4j.core.appender.rolling.action.CommonsCompressAction;
+import org.apache.logging.log4j.core.appender.rolling.action.GzCompressAction;
+import org.apache.logging.log4j.core.appender.rolling.action.ZipCompressAction;
+
+/**
+ * Enumerates over supported file extensions for compression.
+ */
+public enum FileExtension {
+ ZIP(".zip") {
+ @Override
+ Action createCompressAction(final String renameTo, final String compressedName, final boolean deleteSource,
+ final int compressionLevel) {
+ return new ZipCompressAction(source(renameTo), target(compressedName), deleteSource, compressionLevel);
+ }
+ },
+ GZ(".gz") {
+ @Override
+ Action createCompressAction(final String renameTo, final String compressedName, final boolean deleteSource,
+ final int compressionLevel) {
+ return new GzCompressAction(source(renameTo), target(compressedName), deleteSource);
+ }
+ },
+ BZIP2(".bz2") {
+ @Override
+ Action createCompressAction(final String renameTo, final String compressedName, final boolean deleteSource,
+ final int compressionLevel) {
+ // One of "gz", "bzip2", "xz", "pack200", or "deflate".
+ return new CommonsCompressAction("bzip2", source(renameTo), target(compressedName), deleteSource);
+ }
+ },
+ DEFLATE(".deflate") {
+ @Override
+ Action createCompressAction(final String renameTo, final String compressedName, final boolean deleteSource,
+ final int compressionLevel) {
+ // One of "gz", "bzip2", "xz", "pack200", or "deflate".
+ return new CommonsCompressAction("deflate", source(renameTo), target(compressedName), deleteSource);
+ }
+ },
+ PACK200(".pack200") {
+ @Override
+ Action createCompressAction(final String renameTo, final String compressedName, final boolean deleteSource,
+ final int compressionLevel) {
+ // One of "gz", "bzip2", "xz", "pack200", or "deflate".
+ return new CommonsCompressAction("pack200", source(renameTo), target(compressedName), deleteSource);
+ }
+ },
+ XZ(".xz") {
+ @Override
+ Action createCompressAction(final String renameTo, final String compressedName, final boolean deleteSource,
+ final int compressionLevel) {
+ // One of "gz", "bzip2", "xz", "pack200", or "deflate".
+ return new CommonsCompressAction("xz", source(renameTo), target(compressedName), deleteSource);
+ }
+ };
+
+ public static FileExtension lookup(final String fileExtension) {
+ for (final FileExtension ext : values()) {
+ if (ext.isExtensionFor(fileExtension)) {
+ return ext;
+ }
+ }
+ return null;
+ }
+
+ public static FileExtension lookupForFile(final String fileName) {
+ for (final FileExtension ext : values()) {
+ if (fileName.endsWith(ext.extension)) {
+ return ext;
+ }
+ }
+ return null;
+ }
+
+ private final String extension;
+
+ private FileExtension(final String extension) {
+ Objects.requireNonNull(extension, "extension");
+ this.extension = extension;
+ }
+
+ abstract Action createCompressAction(String renameTo, String compressedName, boolean deleteSource,
+ int compressionLevel);
+
+ String getExtension() {
+ return extension;
+ }
+
+ boolean isExtensionFor(final String s) {
+ return s.endsWith(this.extension);
+ }
+
+ int length() {
+ return extension.length();
+ }
+
+ File source(final String fileName) {
+ return new File(fileName);
+ }
+
+ File target(final String fileName) {
+ return new File(fileName);
+ }
+}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/PatternProcessor.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/PatternProcessor.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/PatternProcessor.java
index 6cfec53..1c7926b 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/PatternProcessor.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/PatternProcessor.java
@@ -55,6 +55,7 @@ public class PatternProcessor {
private long prevFileTime = 0;
private long nextFileTime = 0;
+ private long currentFileTime = 0;
private RolloverFrequency frequency = null;
@@ -92,11 +93,20 @@ public class PatternProcessor {
}
}
+ public long getCurrentFileTime() {
+ return currentFileTime;
+ }
+
+ public void setCurrentFileTime(long currentFileTime) {
+ this.currentFileTime = currentFileTime;
+ }
+
public long getPrevFileTime() {
return prevFileTime;
}
public void setPrevFileTime(final long prevFileTime) {
+ LOGGER.debug("Setting prev file time to {}", new Date(prevFileTime));
this.prevFileTime = prevFileTime;
}
@@ -215,8 +225,11 @@ public class PatternProcessor {
* @param buf string buffer to which formatted file name is appended, may not be null.
* @param obj object to be evaluated in formatting, may not be null.
*/
- public final void formatFileName(final StringBuilder buf, final Object obj) {
- final long time = prevFileTime == 0 ? System.currentTimeMillis() : prevFileTime;
+ public final void formatFileName(final StringBuilder buf, final boolean useCurrentTime, final Object obj) {
+ long time = useCurrentTime ? currentFileTime : prevFileTime;
+ if (time == 0) {
+ time = System.currentTimeMillis();
+ }
formatFileName(buf, new Date(time), obj);
}
@@ -227,9 +240,21 @@ public class PatternProcessor {
* @param obj object to be evaluated in formatting, may not be null.
*/
public final void formatFileName(final StrSubstitutor subst, final StringBuilder buf, final Object obj) {
+ formatFileName(subst, buf, false, obj);
+ }
+
+ /**
+ * Formats file name.
+ * @param subst The StrSubstitutor.
+ * @param buf string buffer to which formatted file name is appended, may not be null.
+ * @param obj object to be evaluated in formatting, may not be null.
+ */
+ public final void formatFileName(final StrSubstitutor subst, final StringBuilder buf, final boolean useCurrentTime,
+ final Object obj) {
// LOG4J2-628: we deliberately use System time, not the log4j.Clock time
// for creating the file name of rolled-over files.
- final long time = prevFileTime == 0 ? System.currentTimeMillis() : prevFileTime;
+ final long time = useCurrentTime && currentFileTime != 0 ? currentFileTime :
+ prevFileTime != 0 ? prevFileTime : System.currentTimeMillis();
formatFileName(buf, new Date(time), obj);
final LogEvent event = new Log4jLogEvent.Builder().setTimeMillis(time).build();
final String fileName = subst.replace(event, buf);
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/RollingFileManager.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/RollingFileManager.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/RollingFileManager.java
index 10cb79e..afe370d 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/RollingFileManager.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/RollingFileManager.java
@@ -56,6 +56,8 @@ public class RollingFileManager extends FileManager {
private volatile RolloverStrategy rolloverStrategy;
private volatile boolean renameEmptyFiles = false;
private volatile boolean initialized = false;
+ private volatile String fileName;
+ private FileExtension fileExtension;
private static final AtomicReferenceFieldUpdater<RollingFileManager, TriggeringPolicy> triggeringPolicyUpdater =
AtomicReferenceFieldUpdater.newUpdater(RollingFileManager.class, TriggeringPolicy.class, "triggeringPolicy");
@@ -84,6 +86,8 @@ public class RollingFileManager extends FileManager {
this.rolloverStrategy = rolloverStrategy;
this.patternProcessor = new PatternProcessor(pattern);
this.patternProcessor.setPrevFileTime(time);
+ this.fileName = fileName;
+ this.fileExtension = FileExtension.lookupForFile(pattern);
}
/**
@@ -100,6 +104,8 @@ public class RollingFileManager extends FileManager {
this.rolloverStrategy = rolloverStrategy;
this.patternProcessor = new PatternProcessor(pattern);
this.patternProcessor.setPrevFileTime(time);
+ this.fileName = fileName;
+ this.fileExtension = FileExtension.lookupForFile(pattern);
}
public void initialize() {
@@ -133,11 +139,27 @@ public class RollingFileManager extends FileManager {
final boolean bufferedIO, final TriggeringPolicy policy, final RolloverStrategy strategy,
final String advertiseURI, final Layout<? extends Serializable> layout, final int bufferSize,
final boolean immediateFlush, final boolean createOnDemand, final Configuration configuration) {
-
- return (RollingFileManager) getManager(fileName, new FactoryData(pattern, append,
+ String name = fileName == null ? pattern : fileName;
+ return (RollingFileManager) getManager(name, new FactoryData(fileName, pattern, append,
bufferedIO, policy, strategy, advertiseURI, layout, bufferSize, immediateFlush, createOnDemand, configuration), factory);
}
+ /**
+ * Returns the name of the File being managed.
+ * @return The name of the File being managed.
+ */
+ @Override
+ public String getFileName() {
+ if (rolloverStrategy instanceof DirectFileRolloverStrategy) {
+ fileName = ((DirectFileRolloverStrategy) rolloverStrategy).getCurrentFileName(this);
+ }
+ return fileName;
+ }
+
+ public FileExtension getFileExtension() {
+ return fileExtension;
+ }
+
// override to make visible for unit tests
@Override
protected synchronized void write(final byte[] bytes, final int offset, final int length,
@@ -198,6 +220,9 @@ public class RollingFileManager extends FileManager {
}
public synchronized void rollover() {
+ if (!hasOutputStream()) {
+ return;
+ }
if (rollover(rolloverStrategy)) {
try {
size = 0;
@@ -210,7 +235,7 @@ public class RollingFileManager extends FileManager {
}
protected void createFileAfterRollover() throws IOException {
- setOutputStream(new FileOutputStream(getFileName(), isAppend()));
+ setOutputStream(createOutputStream());
}
/**
@@ -277,7 +302,7 @@ public class RollingFileManager extends FileManager {
return false;
}
- boolean success = false;
+ boolean success = true;
Future<?> future = null;
try {
@@ -290,6 +315,7 @@ public class RollingFileManager extends FileManager {
try {
success = descriptor.getSynchronous().execute();
} catch (final Exception ex) {
+ success = false;
logError("Caught error in synchronous task", ex);
}
}
@@ -383,6 +409,7 @@ public class RollingFileManager extends FileManager {
* Factory data.
*/
private static class FactoryData extends ConfigurationFactoryData {
+ private final String fileName;
private final String pattern;
private final boolean append;
private final boolean bufferedIO;
@@ -406,11 +433,12 @@ public class RollingFileManager extends FileManager {
* @param createOnDemand true if you want to lazy-create the file (a.k.a. on-demand.)
* @param configuration The configuration
*/
- public FactoryData(final String pattern, final boolean append, final boolean bufferedIO,
+ public FactoryData(final String fileName, final String pattern, final boolean append, final boolean bufferedIO,
final TriggeringPolicy policy, final RolloverStrategy strategy, final String advertiseURI,
final Layout<? extends Serializable> layout, final int bufferSize, final boolean immediateFlush,
final boolean createOnDemand, final Configuration configuration) {
super(configuration);
+ this.fileName = fileName;
this.pattern = pattern;
this.append = append;
this.bufferedIO = bufferedIO;
@@ -479,29 +507,37 @@ public class RollingFileManager extends FileManager {
*/
@Override
public RollingFileManager createManager(final String name, final FactoryData data) {
- final File file = new File(name);
- final File parent = file.getParentFile();
- if (null != parent && !parent.exists()) {
- parent.mkdirs();
- }
- // LOG4J2-1140: check writeHeader before creating the file
- final boolean writeHeader = !data.append || !file.exists();
- try {
- final boolean created = data.createOnDemand ? false : file.createNewFile();
- LOGGER.trace("New file '{}' created = {}", name, created);
- } catch (final IOException ioe) {
- LOGGER.error("Unable to create file " + name, ioe);
- return null;
+ long size = 0;
+ boolean writeHeader = !data.append;
+ File file = null;
+ if (data.fileName != null) {
+ file = new File(data.fileName);
+ final File parent = file.getParentFile();
+ if (null != parent && !parent.exists()) {
+ parent.mkdirs();
+ }
+ // LOG4J2-1140: check writeHeader before creating the file
+ writeHeader = !data.append || !file.exists();
+
+ try {
+ final boolean created = data.createOnDemand ? false : file.createNewFile();
+ LOGGER.trace("New file '{}' created = {}", name, created);
+ } catch (final IOException ioe) {
+ LOGGER.error("Unable to create file " + name, ioe);
+ return null;
+ }
+ size = data.append ? file.length() : 0;
}
- final long size = data.append ? file.length() : 0;
try {
final int actualSize = data.bufferedIO ? data.bufferSize : Constants.ENCODER_BYTE_BUFFER_SIZE;
final ByteBuffer buffer = ByteBuffer.wrap(new byte[actualSize]);
- final OutputStream os = data.createOnDemand ? null : new FileOutputStream(name, data.append);
- final long time = data.createOnDemand? System.currentTimeMillis() : file.lastModified(); // LOG4J2-531 create file first so time has valid value
+ final OutputStream os = data.createOnDemand || data.fileName == null ? null :
+ new FileOutputStream(data.fileName, data.append);
+ final long time = data.createOnDemand || file == null ?
+ System.currentTimeMillis() : file.lastModified(); // LOG4J2-531 create file first so time has valid value
- return new RollingFileManager(data.getLoggerContext(), name, data.pattern, os,
+ return new RollingFileManager(data.getLoggerContext(), data.fileName, data.pattern, os,
data.append, data.createOnDemand, size, time, data.policy, data.strategy, data.advertiseURI,
data.layout, writeHeader, buffer);
} catch (final IOException ex) {
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/EligibleFilesTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/EligibleFilesTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/EligibleFilesTest.java
new file mode 100644
index 0000000..1f99ef5
--- /dev/null
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/EligibleFilesTest.java
@@ -0,0 +1,51 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache license, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the license for the specific language governing permissions and
+ * limitations under the license.
+ */
+package org.apache.logging.log4j.core.appender.rolling;
+
+import java.nio.file.Path;
+import java.util.Map;
+
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+/**
+ * Test getEligibleFiles method.
+ */
+public class EligibleFilesTest {
+
+ @Test
+ public void runTest() throws Exception {
+ String path = "target/test-classes/rolloverPath/log4j.txt.20170112_09--1.gz";
+ TestRolloverStrategy strategy = new TestRolloverStrategy();
+ Map<Integer, Path> files = strategy.findFilesInPath(path);
+ assertTrue("No files found", files.size() > 0);
+ assertTrue("Incorrect number of files found. Should be 30, was " + files.size(), files.size() == 30);
+ }
+
+ private class TestRolloverStrategy extends AbstractRolloverStrategy {
+
+ @Override
+ public RolloverDescription rollover(RollingFileManager manager) throws SecurityException {
+ return null;
+ }
+
+ public Map<Integer, Path> findFilesInPath(String path) {
+ return getEligibleFiles(path);
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderCronEvery2DirectTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderCronEvery2DirectTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderCronEvery2DirectTest.java
new file mode 100644
index 0000000..b0c9b0a
--- /dev/null
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderCronEvery2DirectTest.java
@@ -0,0 +1,86 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache license, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the license for the specific language governing permissions and
+ * limitations under the license.
+ */
+package org.apache.logging.log4j.core.appender.rolling;
+
+import java.io.File;
+import java.security.SecureRandom;
+import java.util.Random;
+
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.junit.LoggerContextRule;
+import org.hamcrest.Matcher;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.RuleChain;
+import static org.apache.logging.log4j.hamcrest.Descriptors.that;
+import static org.apache.logging.log4j.hamcrest.FileMatchers.hasName;
+import static org.hamcrest.Matchers.endsWith;
+import static org.hamcrest.Matchers.hasItemInArray;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+/**
+ *
+ */
+public class RollingAppenderCronEvery2DirectTest {
+
+ private static final String CONFIG = "log4j-rolling-cron-every2-direct.xml";
+ private static final String DIR = "target/rolling-cron-every2Direct";
+ private static final int LOOP_COUNT = 100;
+
+ private final LoggerContextRule loggerContextRule = LoggerContextRule.createShutdownTimeoutLoggerContextRule(CONFIG);
+
+ @Rule
+ public RuleChain chain = loggerContextRule.withCleanFoldersRule(DIR);
+
+ @Test
+ public void testAppender() throws Exception {
+ // TODO Is there a better way to test than putting the thread to sleep all over the place?
+ final Logger logger = loggerContextRule.getLogger();
+ long end = System.currentTimeMillis() + 5000;
+ Random rand = new SecureRandom();
+ rand.setSeed(end);
+ int count = 1;
+ do {
+ logger.debug("Log Message {}", count++);
+ Thread.sleep(10 * rand.nextInt(100));
+ } while (System.currentTimeMillis() < end);
+ final File dir = new File(DIR);
+ assertTrue("Directory not created", dir.exists() && dir.listFiles().length > 0);
+
+ final int MAX_TRIES = 20;
+ final Matcher<File[]> hasGzippedFile = hasItemInArray(that(hasName(that(endsWith(".gz")))));
+ boolean succeeded = false;
+ for (int i = 0; i < MAX_TRIES; i++) {
+ final File[] files = dir.listFiles();
+ if (hasGzippedFile.matches(files)) {
+ succeeded = true;
+ break;
+ }
+ logger.debug("Sleeping #" + i);
+ Thread.sleep(100); // Allow time for rollover to complete
+ }
+ if (!succeeded) {
+ final File[] files = dir.listFiles();
+ for (final File dirFile : files) {
+ logger.error("Found file: " + dirFile.getPath());
+ }
+ fail("No compressed files found");
+ }
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderDirectWriteTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderDirectWriteTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderDirectWriteTest.java
new file mode 100644
index 0000000..b2c3606
--- /dev/null
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderDirectWriteTest.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache license, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the license for the specific language governing permissions and
+ * limitations under the license.
+ */
+package org.apache.logging.log4j.core.appender.rolling;
+
+import java.io.File;
+
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.junit.LoggerContextRule;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.RuleChain;
+import static org.apache.logging.log4j.hamcrest.Descriptors.that;
+import static org.apache.logging.log4j.hamcrest.FileMatchers.hasName;
+import static org.hamcrest.Matchers.endsWith;
+import static org.hamcrest.Matchers.hasItemInArray;
+import static org.junit.Assert.*;
+
+/**
+ *
+ */
+public class RollingAppenderDirectWriteTest {
+
+ private static final String CONFIG = "log4j-rolling-direct.xml";
+
+ private static final String DIR = "target/rolling-direct";
+
+ public static LoggerContextRule loggerContextRule = LoggerContextRule.createShutdownTimeoutLoggerContextRule(CONFIG);
+
+ @Rule
+ public RuleChain chain = loggerContextRule.withCleanFoldersRule(DIR);
+
+ private Logger logger;
+
+ @Before
+ public void setUp() throws Exception {
+ this.logger = loggerContextRule.getLogger(RollingAppenderDirectWriteTest.class.getName());
+ }
+
+ @Test
+ public void testAppender() throws Exception {
+ for (int i=0; i < 100; ++i) {
+ logger.debug("This is test message number " + i);
+ }
+ Thread.sleep(50);
+ final File dir = new File(DIR);
+ assertTrue("Directory not created", dir.exists() && dir.listFiles().length > 0);
+ final File[] files = dir.listFiles();
+ assertNotNull(files);
+ assertThat(files, hasItemInArray(that(hasName(that(endsWith(".gz"))))));
+ }
+}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderSizeTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderSizeTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderSizeTest.java
index cb3bc98..70b2653 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderSizeTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderSizeTest.java
@@ -134,9 +134,8 @@ public class RollingAppenderSizeTest {
assertNotNull(files);
assertThat(files, hasItemInArray(that(hasName(that(endsWith(fileExtension))))));
- final DefaultRolloverStrategy.FileExtensions ext = DefaultRolloverStrategy.FileExtensions.lookup(fileExtension);
- if (ext == null || DefaultRolloverStrategy.FileExtensions.ZIP == ext
- || DefaultRolloverStrategy.FileExtensions.PACK200 == ext) {
+ final FileExtension ext = FileExtension.lookup(fileExtension);
+ if (ext == null || FileExtension.ZIP == ext || FileExtension.PACK200 == ext) {
return; // Apache Commons Compress cannot deflate zip? TODO test decompressing these formats
}
// Stop the context to make sure all files are compressed and closed. Trying to remedy failures in CI builds.
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderTimeAndSizeDirectTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderTimeAndSizeDirectTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderTimeAndSizeDirectTest.java
new file mode 100644
index 0000000..b0ea9db
--- /dev/null
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/appender/rolling/RollingAppenderTimeAndSizeDirectTest.java
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache license, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the license for the specific language governing permissions and
+ * limitations under the license.
+ */
+package org.apache.logging.log4j.core.appender.rolling;
+
+import java.io.File;
+
+import org.apache.logging.log4j.Logger;
+import org.apache.logging.log4j.junit.LoggerContextRule;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.RuleChain;
+import static org.apache.logging.log4j.hamcrest.Descriptors.that;
+import static org.apache.logging.log4j.hamcrest.FileMatchers.hasName;
+import static org.hamcrest.Matchers.endsWith;
+import static org.hamcrest.Matchers.hasItemInArray;
+import static org.junit.Assert.*;
+
+/**
+ *
+ */
+public class RollingAppenderTimeAndSizeDirectTest {
+
+ private static final String CONFIG = "log4j-rolling3-direct.xml";
+
+ private static final String DIR = "target/rolling3Direct";
+
+ public static LoggerContextRule loggerContextRule = LoggerContextRule.createShutdownTimeoutLoggerContextRule(CONFIG);
+
+ @Rule
+ public RuleChain chain = loggerContextRule.withCleanFoldersRule(DIR);
+
+ private Logger logger;
+
+ @Before
+ public void setUp() throws Exception {
+ this.logger = loggerContextRule.getLogger(RollingAppenderTimeAndSizeDirectTest.class.getName());
+ }
+
+ @Test
+ public void testAppender() throws Exception {
+ for (int i=0; i < 100; ++i) {
+ logger.debug("This is test message number " + i);
+ Thread.sleep(10);
+ }
+ Thread.sleep(50);
+ final File dir = new File(DIR);
+ assertTrue("Directory not created", dir.exists() && dir.listFiles().length > 0);
+ final File[] files = dir.listFiles();
+ assertNotNull(files);
+ assertThat(files, hasItemInArray(that(hasName(that(endsWith(".gz"))))));
+ }
+}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/log4j-rolling-cron-every2-direct.xml
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/log4j-rolling-cron-every2-direct.xml b/log4j-core/src/test/resources/log4j-rolling-cron-every2-direct.xml
new file mode 100644
index 0000000..31425c5
--- /dev/null
+++ b/log4j-core/src/test/resources/log4j-rolling-cron-every2-direct.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+-->
+<Configuration status="WARN" name="RollingCronTest" monitorInterval="1">
+ <Properties>
+ <Property name="LOG_DIR">target/rolling-cron-every2Direct</Property>
+ </Properties>
+ <Filters>
+ <ThresholdFilter level="debug"/>
+ </Filters>
+
+ <Appenders>
+ <Console name="STDOUT">
+ <PatternLayout pattern="%m%n"/>
+ </Console>
+ <RollingFile name="RollingFile" filePattern="${LOG_DIR}/test1-%d{MM-dd-yy-HH-mm-ss}.log.gz">
+ <PatternLayout>
+ <Pattern>%d %p %C{1.} [%t] %m%n</Pattern>
+ </PatternLayout>
+ <CronTriggeringPolicy schedule="0/2 * * * * ?"/>
+ </RollingFile>
+ <List name="List">
+ <Filters>
+ <ThresholdFilter level="error"/>
+ </Filters>
+ </List>
+ </Appenders>
+
+ <Loggers>
+ <Logger name="org.apache.logging.log4j.core.appender.rolling" level="debug" additivity="false">
+ <AppenderRef ref="RollingFile"/>
+ </Logger>
+
+ <Root level="error">
+ <AppenderRef ref="STDOUT"/>
+ </Root>
+ </Loggers>
+
+</Configuration>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/log4j-rolling-direct.xml
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/log4j-rolling-direct.xml b/log4j-core/src/test/resources/log4j-rolling-direct.xml
new file mode 100644
index 0000000..a16d86a
--- /dev/null
+++ b/log4j-core/src/test/resources/log4j-rolling-direct.xml
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+-->
+<Configuration status="WARN" name="XMLConfigTest">
+ <Properties>
+ <Property name="logDir">target/rolling-direct</Property>
+ </Properties>
+ <ThresholdFilter level="debug"/>
+
+ <Appenders>
+ <Console name="STDOUT">
+ <PatternLayout pattern="%m%n"/>
+ </Console>
+ <RollingFile name="RollingFile" filePattern="${logDir}/test1-%d{MM-dd-yy-HH-mm}-%i.log.gz">
+ <PatternLayout>
+ <Pattern>%d %p %C{1.} [%t] %m%n</Pattern>
+ </PatternLayout>
+ <Policies>
+ <TimeBasedTriggeringPolicy />
+ <SizeBasedTriggeringPolicy size="500" />
+ </Policies>
+ </RollingFile>
+ </Appenders>
+
+ <Loggers>
+ <Logger name="org.apache.logging.log4j.core.appender.rolling" level="debug" additivity="false">
+ <AppenderRef ref="RollingFile"/>
+ </Logger>>
+
+ <Root level="error">
+ <AppenderRef ref="STDOUT"/>
+ </Root>
+ </Loggers>
+
+</Configuration>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/log4j-rolling3-direct.xml
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/log4j-rolling3-direct.xml b/log4j-core/src/test/resources/log4j-rolling3-direct.xml
new file mode 100644
index 0000000..4595eff
--- /dev/null
+++ b/log4j-core/src/test/resources/log4j-rolling3-direct.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+-->
+<Configuration status="WARN" name="XMLConfigTest">
+ <Properties>
+ <Property name="LOG_DIR">target/rolling3Direct</Property>
+ </Properties>
+ <ThresholdFilter level="debug"/>
+
+ <Appenders>
+ <Console name="STDOUT">
+ <PatternLayout pattern="%m%n"/>
+ </Console>
+ <RollingFile name="RollingFile" filePattern="${LOG_DIR}/test1-%d{MM-dd-yy-HH-mm-ss}-%i.log.gz">
+ <PatternLayout>
+ <Pattern>%d %p %C{1.} [%t] %m%n</Pattern>
+ </PatternLayout>
+ <Policies>
+ <TimeBasedTriggeringPolicy />
+ <SizeBasedTriggeringPolicy size="500" />
+ </Policies>
+ <DirectWriteRolloverStrategy maxFiles="10"/>
+ </RollingFile>
+ <List name="List">
+ <ThresholdFilter level="error"/>
+ </List>
+ </Appenders>
+
+ <Loggers>
+ <Logger name="org.apache.logging.log4j.core.appender.rolling" level="debug" additivity="false">
+ <AppenderRef ref="RollingFile"/>
+ </Logger>>
+
+ <Root level="error">
+ <AppenderRef ref="STDOUT"/>
+ </Root>
+ </Loggers>
+
+</Configuration>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_00-1.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_00-1.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_00-1.gz
new file mode 100644
index 0000000..9273874
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_00-1.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_00-2.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_00-2.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_00-2.gz
new file mode 100644
index 0000000..605ce25
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_00-2.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_01-1.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_01-1.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_01-1.gz
new file mode 100644
index 0000000..bd3303e
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_01-1.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_02-1.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_02-1.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_02-1.gz
new file mode 100644
index 0000000..411c7c6
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_02-1.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_02-2.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_02-2.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_02-2.gz
new file mode 100644
index 0000000..ac35e3b
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_02-2.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_02-3.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_02-3.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_02-3.gz
new file mode 100644
index 0000000..4ebd274
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_02-3.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_02-4.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_02-4.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_02-4.gz
new file mode 100644
index 0000000..ddd4f28
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_02-4.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_02-5.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_02-5.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_02-5.gz
new file mode 100644
index 0000000..a69b1ab
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_02-5.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_03-1.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_03-1.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_03-1.gz
new file mode 100644
index 0000000..8eded4e
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_03-1.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_03-2.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_03-2.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_03-2.gz
new file mode 100644
index 0000000..9df313c
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_03-2.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_03-3.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_03-3.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_03-3.gz
new file mode 100644
index 0000000..6e4deb2
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_03-3.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_03-4.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_03-4.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_03-4.gz
new file mode 100644
index 0000000..eb38d1a
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_03-4.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_03-5.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_03-5.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_03-5.gz
new file mode 100644
index 0000000..eb33a0c
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_03-5.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_04-1.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_04-1.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_04-1.gz
new file mode 100644
index 0000000..f612cd6
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_04-1.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_04-2.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_04-2.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_04-2.gz
new file mode 100644
index 0000000..a0c9c7a
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_04-2.gz differ
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/acd8a4d6/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_04-3.gz
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_04-3.gz b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_04-3.gz
new file mode 100644
index 0000000..5ac0a24
Binary files /dev/null and b/log4j-core/src/test/resources/rolloverPath/log4j.txt.20170112_04-3.gz differ