diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..5dcd0a2 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..15a15b2 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/.idea/google-java-format.xml b/.idea/google-java-format.xml new file mode 100644 index 0000000..2aa056d --- /dev/null +++ b/.idea/google-java-format.xml @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_github_jcgay_log4j_log4j_color_0_1.xml b/.idea/libraries/Maven__com_github_jcgay_log4j_log4j_color_0_1.xml new file mode 100644 index 0000000..4394d1e --- /dev/null +++ b/.idea/libraries/Maven__com_github_jcgay_log4j_log4j_color_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__junit_junit_4_12.xml b/.idea/libraries/Maven__junit_junit_4_12.xml new file mode 100644 index 0000000..d411041 --- /dev/null +++ b/.idea/libraries/Maven__junit_junit_4_12.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_7.xml b/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_7.xml new file mode 100644 index 0000000..28edf49 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_7.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_commons_commons_text_1_4.xml b/.idea/libraries/Maven__org_apache_commons_commons_text_1_4.xml new file mode 100644 index 0000000..5a74f9f --- /dev/null +++ b/.idea/libraries/Maven__org_apache_commons_commons_text_1_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_9_1.xml b/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_9_1.xml new file mode 100644 index 0000000..8c8ec17 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_9_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_apache_logging_log4j_log4j_core_2_9_1.xml b/.idea/libraries/Maven__org_apache_logging_log4j_log4j_core_2_9_1.xml new file mode 100644 index 0000000..82ba747 --- /dev/null +++ b/.idea/libraries/Maven__org_apache_logging_log4j_log4j_core_2_9_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_fusesource_jansi_jansi_1_11.xml b/.idea/libraries/Maven__org_fusesource_jansi_jansi_1_11.xml new file mode 100644 index 0000000..2ab51a7 --- /dev/null +++ b/.idea/libraries/Maven__org_fusesource_jansi_jansi_1_11.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml b/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml new file mode 100644 index 0000000..f58bbc1 --- /dev/null +++ b/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/LICENSE.txt b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/LICENSE.txt new file mode 100644 index 0000000..6279e52 --- /dev/null +++ b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/LICENSE.txt @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 1999-2005 The Apache Software Foundation + + Licensed 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. diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/NOTICE.txt b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/NOTICE.txt new file mode 100644 index 0000000..d59c783 --- /dev/null +++ b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/NOTICE.txt @@ -0,0 +1,14 @@ +Apache Log4j +Copyright 1999-2014 Apache Software Foundation + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). + +ResolverUtil.java +Copyright 2005-2006 Tim Fennell + +Dumbster SMTP test server +Copyright 2004 Jason Paul Kitchen + +TypeUtil.java +Copyright 2002-2012 Ramnivas Laddad, Juergen Hoeller, Chris Beams diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/RELEASE-NOTES.txt b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/RELEASE-NOTES.txt new file mode 100644 index 0000000..eda5b2f --- /dev/null +++ b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/RELEASE-NOTES.txt @@ -0,0 +1,82 @@ + + Apache Log4j 2.5 RELEASE NOTES + +The Apache Log4j 2 team is pleased to announce the Log4j 2.5 release! + +Apache log4j is a well known framework for logging application behavior. Log4j 2 is an upgrade to +Log4j that provides significant improvements over its predecessor, Log4j 1.x, and provides +many other modern features such as support for Markers, property substitution using Lookups, multiple patterns on +a PatternLayout and asynchronous Loggers. In addition, Log4j 2 will not lose events while reconfiguring. + +This is the ninth GA release. It contains several bugfixes and new features. The new features include +the ability to specify delete actions during file rollover, a CRON-based triggering policy for file rollover, +Support for JSR 223 scripts in filters, pattern selectors and delete actions, and a policy for removing +idle appenders from the RoutingAppender. More details on the features and bugfixes are itemized below. + +Log4j 2 requires a minimum of Java 7. + +GA Release 2.5 + +Changes in this version include: + +New features: +o LOG4J2-435: Added support for custom delete actions triggered by a rollover. Thanks to Robert Schaft. +o LOG4J2-89: Allow rollover to occur at any time. Add CronTriggeringPolicy. +o LOG4J2-1136: Add support for JSR 223 scripts in filters and the PatternSelector. +o LOG4J2-1168: Add getters for source and destination file in file rename action. Thanks to Steven Swor. +o LOG4J2-1175: Add getters for classes in org.apache.logging.log4j.core.appender.rolling.action. +o LOG4J2-898: Added system property to allow users to control whether messages should be formatted in the background. +o LOG4J2-1178: Support use-case for JDBC's CommonDataSource.setLogWriter(PrintWriter) and java.sql.DriverManager.setLogWriter(PrintWriter). +o LOG4J2-1187: Support use case for java.sql.DriverManager.setLogStream(PrintStream). + +Fixed Bugs: +o LOG4J2-324: Reduced memory usage of status messages in bounded queue; support zero-length queue that stores no messages. +o LOG4J2-1173: Fixed rollover error when copying to a directory mapped to a remote Linux host. +o LOG4J2-1195: Make KafkaAppender support SerializedLayout. Thanks to Melvin Du. +o LOG4J2-381: Allow triggering policy and rollover strategy to be modified during reconfiguration. Thanks to Anthony Baldocchi. +o LOG4J2-1029: Performance improvement when gathering location information. Thanks to Stefan Leonhartsberger. +o LOG4J2-1172: Fixed ThreadLocal leak [AsyncLogger$Info] on Tomcat when using AsyncLoggerContextSelector. +o LOG4J2-1176: Fixed memory leak when log4j jars are in Tomcat's lib folder. +o LOG4J2-1180: Logger cache does not account for message factory. Thanks to Mikael Ståldal. +o LOG4J2-879: Documentation: fixed minor issues with the site and manual pages. +o LOG4J2-999: RollingFileAppender should also roll over when log event time is equal to rollover time, not only when later. Thanks to Joan Balagueró. +o LOG4J2-873: Fixed bug where omitting the element in web.xml caused incorrect log4j initialization, + resulting in memory leaks when the web application was stopped or reloaded. Thanks to Martin Dickins, LC, Luke Woodward. +o LOG4J2-323: Better web app support for async loggers: Fixed a memory leak that occurred when the logging jars are placed + in the container's classpath and the configuration file uses AsyncRoot/AsyncLogger. + The problem was that the first web application started the Disruptor background thread [AsyncLoggerConfig-1] but did not stop it until all web apps are stopped. + Each web application now has its own Disruptor which is stopped/started together with the web app. +o LOG4J2-493: Better web app support for async loggers: it is now possible to place the logging jars in the container's + classpath when making all loggers asynchronous by using AsyncLoggerContextSelector. This fixes a problem where + logging would stop working after stopping and restarting a web application. +o LOG4J2-1171: Use servlet context name for logger context name when available. +o LOG4J2-1159: Fixed a ThreadLocal memory leak in Tomcat8 that mentions AsyncLoggers when Async Loggers are not used. +o LOG4J2-1166: AbstractConfiguration executor should use a DaemonThreadFactory. +o LOG4J2-1165: Improve Log4j initialization status messages. +o LOG4J2-1156: Web site corrections and updates. +o LOG4J2-1158: Log4J JUL adapter is using MessageFormat on String passed by java.util.function.Supplier. Thanks to Michael Fortin, Gary Gregory. +o LOG4J2-801: org.apache.logging.log4j.core.Logger should be serializable. +o LOG4J2-1157: Fix compilation error for classes annotated with @Plugin. Thanks to Norbert Bartels. +o LOG4J2-948: Fix plugin documentation error about Converters. Thanks to Andrew Flower. +o LOG4J2-1193: Prefix all thread names Log4j creates with "Log4j2-". +o LOG4J2-1194: Documentation does not match parameters for LoggerNameLevelRewritePolicy. Thanks to Adam Brin. +o LOG4J2-1196: MongoDbConnection does not close MongoClient. Thanks to René Zanner. + +Changes: +o LOG4J2-649: Add PurgePolicy and IdlePurgePolicy to RoutingAppender. Thanks to Aleksey Zvolinsky. +o LOG4J2-1202: Remove ConfigurationMonitor. The WatchManager is now used to check for configuration changes. +o LOG4J2-1174: Update Jackson from 2.6.2 to 2.6.3. +o LOG4J2-1207: Update kafka-clients from 0.8.2.2 to 0.9.0.0. + + +Apache Log4j 2.5 requires a minimum of Java 7 to build and run. Log4j 2.3 was the last release that +supported Java 6. + +Basic compatibility with Log4j 1.x is provided through the log4j-1.2-api component, however it does not implement some of the +very implementation specific classes and methods. The package names and Maven groupId have been changed to +org.apache.logging.log4j to avoid any conflicts with log4j 1.x. + +For complete information on Apache Log4j 2, including instructions on how to submit bug reports, +patches, or suggestions for improvement, see the Apache Apache Log4j 2 website: + +http://logging.apache.org/log4j/2.x/ \ No newline at end of file diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-1.2-api-2.5-javadoc.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-1.2-api-2.5-javadoc.jar new file mode 100644 index 0000000..29ec91e Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-1.2-api-2.5-javadoc.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-1.2-api-2.5-sources.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-1.2-api-2.5-sources.jar new file mode 100644 index 0000000..758c936 Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-1.2-api-2.5-sources.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-1.2-api-2.5.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-1.2-api-2.5.jar new file mode 100644 index 0000000..fca4e98 Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-1.2-api-2.5.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-api-2.5-javadoc.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-api-2.5-javadoc.jar new file mode 100644 index 0000000..f9e35df Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-api-2.5-javadoc.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-api-2.5-sources.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-api-2.5-sources.jar new file mode 100644 index 0000000..19dca91 Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-api-2.5-sources.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-api-2.5.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-api-2.5.jar new file mode 100644 index 0000000..f18c9d0 Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-api-2.5.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-core-2.5-javadoc.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-core-2.5-javadoc.jar new file mode 100644 index 0000000..da4cf34 Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-core-2.5-javadoc.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-core-2.5-sources.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-core-2.5-sources.jar new file mode 100644 index 0000000..2165564 Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-core-2.5-sources.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-core-2.5-tests.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-core-2.5-tests.jar new file mode 100644 index 0000000..11a01fc Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-core-2.5-tests.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-core-2.5.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-core-2.5.jar new file mode 100644 index 0000000..f49b01f Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-core-2.5.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-flume-ng-2.5-javadoc.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-flume-ng-2.5-javadoc.jar new file mode 100644 index 0000000..fc0768a Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-flume-ng-2.5-javadoc.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-flume-ng-2.5-sources.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-flume-ng-2.5-sources.jar new file mode 100644 index 0000000..78d5b60 Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-flume-ng-2.5-sources.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-flume-ng-2.5.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-flume-ng-2.5.jar new file mode 100644 index 0000000..3396e74 Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-flume-ng-2.5.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-iostreams-2.5-javadoc.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-iostreams-2.5-javadoc.jar new file mode 100644 index 0000000..8fdd116 Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-iostreams-2.5-javadoc.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-iostreams-2.5-sources.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-iostreams-2.5-sources.jar new file mode 100644 index 0000000..697de0a Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-iostreams-2.5-sources.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-iostreams-2.5.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-iostreams-2.5.jar new file mode 100644 index 0000000..cfb1cc0 Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-iostreams-2.5.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-jcl-2.5-javadoc.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-jcl-2.5-javadoc.jar new file mode 100644 index 0000000..91aa640 Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-jcl-2.5-javadoc.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-jcl-2.5-sources.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-jcl-2.5-sources.jar new file mode 100644 index 0000000..70718c5 Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-jcl-2.5-sources.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-jcl-2.5.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-jcl-2.5.jar new file mode 100644 index 0000000..60ff8cc Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-jcl-2.5.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-jmx-gui-2.5-javadoc.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-jmx-gui-2.5-javadoc.jar new file mode 100644 index 0000000..5c956da Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-jmx-gui-2.5-javadoc.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-jmx-gui-2.5-sources.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-jmx-gui-2.5-sources.jar new file mode 100644 index 0000000..8ae503e Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-jmx-gui-2.5-sources.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-jmx-gui-2.5.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-jmx-gui-2.5.jar new file mode 100644 index 0000000..a2ffc5b Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-jmx-gui-2.5.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-jul-2.5-javadoc.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-jul-2.5-javadoc.jar new file mode 100644 index 0000000..175f1d9 Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-jul-2.5-javadoc.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-jul-2.5-sources.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-jul-2.5-sources.jar new file mode 100644 index 0000000..bec0083 Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-jul-2.5-sources.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-jul-2.5.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-jul-2.5.jar new file mode 100644 index 0000000..7f2de56 Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-jul-2.5.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-nosql-2.5-javadoc.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-nosql-2.5-javadoc.jar new file mode 100644 index 0000000..94bbf61 Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-nosql-2.5-javadoc.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-nosql-2.5-sources.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-nosql-2.5-sources.jar new file mode 100644 index 0000000..2e89d03 Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-nosql-2.5-sources.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-nosql-2.5.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-nosql-2.5.jar new file mode 100644 index 0000000..10eb22c Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-nosql-2.5.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-slf4j-impl-2.5-javadoc.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-slf4j-impl-2.5-javadoc.jar new file mode 100644 index 0000000..60cbc46 Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-slf4j-impl-2.5-javadoc.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-slf4j-impl-2.5-sources.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-slf4j-impl-2.5-sources.jar new file mode 100644 index 0000000..2829bd3 Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-slf4j-impl-2.5-sources.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-slf4j-impl-2.5.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-slf4j-impl-2.5.jar new file mode 100644 index 0000000..0472056 Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-slf4j-impl-2.5.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-taglib-2.5-javadoc.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-taglib-2.5-javadoc.jar new file mode 100644 index 0000000..da40010 Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-taglib-2.5-javadoc.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-taglib-2.5-sources.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-taglib-2.5-sources.jar new file mode 100644 index 0000000..135f266 Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-taglib-2.5-sources.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-taglib-2.5.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-taglib-2.5.jar new file mode 100644 index 0000000..d209e1c Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-taglib-2.5.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-to-slf4j-2.5-javadoc.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-to-slf4j-2.5-javadoc.jar new file mode 100644 index 0000000..ee8f04f Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-to-slf4j-2.5-javadoc.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-to-slf4j-2.5-sources.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-to-slf4j-2.5-sources.jar new file mode 100644 index 0000000..e3dd211 Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-to-slf4j-2.5-sources.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-to-slf4j-2.5.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-to-slf4j-2.5.jar new file mode 100644 index 0000000..fa7206a Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-to-slf4j-2.5.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-web-2.5-javadoc.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-web-2.5-javadoc.jar new file mode 100644 index 0000000..a7e04f2 Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-web-2.5-javadoc.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-web-2.5-sources.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-web-2.5-sources.jar new file mode 100644 index 0000000..14ad6ca Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-web-2.5-sources.jar differ diff --git a/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-web-2.5.jar b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-web-2.5.jar new file mode 100644 index 0000000..6f46ce7 Binary files /dev/null and b/.idea/libraries/apache-log4j-2.5-bin/apache-log4j-2.5-bin/log4j-web-2.5.jar differ diff --git a/.idea/libraries/jansi-jansi-project-1.11/.gitignore b/.idea/libraries/jansi-jansi-project-1.11/.gitignore new file mode 100644 index 0000000..4f3ae62 --- /dev/null +++ b/.idea/libraries/jansi-jansi-project-1.11/.gitignore @@ -0,0 +1,9 @@ +.classpath +.project +.settings +docs/out +docs/webgen.cache +target +.DS_Store +.idea +*.iml diff --git a/.idea/libraries/jansi-jansi-project-1.11/KEYS b/.idea/libraries/jansi-jansi-project-1.11/KEYS new file mode 100644 index 0000000..b81dd1b --- /dev/null +++ b/.idea/libraries/jansi-jansi-project-1.11/KEYS @@ -0,0 +1,30 @@ +pub 1024D/F5BA7E4F 2006-02-10 +uid Hiram Chirino +sig 3 F5BA7E4F 2006-02-10 Hiram Chirino +sub 1024g/6733C080 2006-02-10 +sig F5BA7E4F 2006-02-10 Hiram Chirino + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.4.1 (Darwin) + +mQGiBEPspSsRBADdguKAxMQbA32vTQrCyONR6Zs/YGdvau2Zrr3SSSSR0Ge4FMjZ +4tzwpf6+32m4Bsf7YIwdLl0H5hI1CgT5gDl9kXvfaFUehFnwR+FDyiBRiyHjUpGF +4dgkQfWy9diYeWGtsvszsvWHXtED4SXb322StX4MfJj+YesA1iEdTiXK6wCg1QDa +RucfjC+kx4zPsJwkJOgYpyMEAMTiXtNwQcke6nIFb/lb5374NjwwVAuuMTrRWLyq +5HodugEIHaw3EitQWtnFfXNkXTJZzS6t2HAGv29UTfhiBzKdkydgCkOk2MLWISOV +fqcg0tNIp5ZJCmUHg3s+OFNSH4oUi65u+FyDseUid3OKtPI+ZhIk8N+DjOIg2Kvo +/UALA/9q+WfBd7re+W3iUtU7TutUcwbKsjP+jpaJeUHg2ChOBxVfQKt4YlPHVdrR +iCrfNi90Z8qbsZ0iAXuqexrfMq20pAPmpHRpe54mmP1CMT5m+Gq71eKIfkUrb3LC +/zv08dLG2vm9oghd242wbcifaX+t7AhNAIpe/WTvQsB0gpdO4LQmSGlyYW0gQ2hp +cmlubyA8aGlyYW1AaGlyYW1jaGlyaW5vLmNvbT6IWwQTEQIAGwUCQ+ylKwYLCQgH +AwIDFQIDAxYCAQIeAQIXgAAKCRCf8lmA9bp+T/G/AKDM1QDs7il/CJhTycgDvE3c +EOgUBwCfelsVK4sgBCooZptoaCCDgVtt71G5AQ0EQ+ylLhAEAJD25AWgwcNgBFKY +svExQaGIojIGJyn4Cf/5U30cui/K7fIU7JtyNhKcfZdCrh2hKx+x3H/dTF6e0SrR +hzKV7Dx0j76yhHHB1Ak25kjRxoU4Jk+CG0m+bRNTF9xz9k1ALSm3Y+A5RqNU10K6 +e/5KsPuXMGSGoQgJ1H6g/i80Wf8PAAMFA/9mIxu7lMaqE1OE7EeAsHgLslNbi0h9 +pjDUVNv8bc1Os2gBPaJD8B89EeheTHw6NMNIe75HVOpKk4UA0gvOBrxJqCr18yFJ +BM5sIlaEmuJwZOW4dDGOR1oS5qgE9NzpmyKhE+fu/S1wmy0coL667+1xZcnrPbUF +D4i7/aD1r8qJhohGBBgRAgAGBQJD7KUuAAoJEJ/yWYD1un5Pth0An0QEUs5cxpl8 +zL5kZCj7c8MN8YZDAKDR9LTb6woveul50+uGtUl2fIH1uA== +=RBPl +-----END PGP PUBLIC KEY BLOCK----- \ No newline at end of file diff --git a/.idea/libraries/jansi-jansi-project-1.11/changelog.md b/.idea/libraries/jansi-jansi-project-1.11/changelog.md new file mode 100644 index 0000000..caf9cf4 --- /dev/null +++ b/.idea/libraries/jansi-jansi-project-1.11/changelog.md @@ -0,0 +1,88 @@ +# ![Jansi](http://jansi.fusesource.org/images/project-logo.png) + +## [Jansi 1.11][1_11], released 2013-05-13 +[1_10]: http://repo.fusesource.com/nexus/content/groups/public/org/fusesource/jansi/jansi/1.11 + +* Upgraded to the latest hawtjni version. + +## [Jansi 1.10][1_10], released 2013-03-25 +[1_10]: http://repo.fusesource.com/nexus/content/groups/public/org/fusesource/jansi/jansi/1.10 + +* Upgraded to the latest jansi native release (1.5). + +## [Jansi 1.9][1_9], released 2012-06-04 +[1_9]: http://repo.fusesource.com/nexus/content/groups/public/org/fusesource/jansi/jansi/1.9 + +* Added HtmlAnsiOutputStream that converts ANSI output to HTML. +* Fixed handling of default text and background color. + +## [Jansi 1.8][1_8], released 2012-02-15 +[1_8]: http://repo.fusesource.com/nexus/content/groups/public/org/fusesource/jansi/jansi/1.8 + +* Updated bundled native libraries: + * Windows: Added support for isatty and link against the system msvcrt.dll (so no need for VC redistributables). +* Add some helper methods to turn bold on and off. +* If the jansi.passthrough system property is set, then Jansi will not interpret any of the ANSI sequences. + +## [Jansi 1.7][1_7], released 2011-09-21 +[1_7]: http://repo.fusesource.com/nexus/content/groups/public/org/fusesource/jansi/jansi/1.7 + +* Updated bundled native libraries: + * Windows: Adding support for PeekConsoleInputW, FlushConsoleInputBuffer so that CTRL-C can be handled by jline. Discarding mouse events on readConsoleInput. + * Linux: Built against glib 2.0 to be compatible with more versions of Linux. + +## [Jansi 1.6][1_6], released 2011-06-19 +[1_6]: http://repo.fusesource.com/nexus/content/groups/public/org/fusesource/jansi/jansi/1.6 + +* Upgrade to HawtJNI 1.2 to pick up a fix to support 32 and 64 bit JVMs on a single machine. +* Add copy constructor for Ansi class. +* Port website doco to use Scalate instead of webgen. + +## [Jansi 1.5][1_5], released 2010-11-04 +[1_5]: http://repo.fusesource.com/nexus/content/groups/public/org/fusesource/jansi/jansi/1.5 + +* Support for parsing Operating System Command (OSC) control sequences. +* Windows: added support for setting the console title through an OSC command, like on xterm. +* Added option to strip ANSI escapes if the 'jansi.strip' system property is set to true. + +## [Jansi 1.4][1_4], released 2010-07-15 +[1_4]: http://repo.fusesource.com/nexus/content/groups/public/org/fusesource/jansi/jansi/1.4 + +* JNI libs are now bundled in the Jansi jar. +* Windows: added support for save and restore of cursor position, fixed bug in processCursorTo. + +## [Jansi 1.3][1_3], released 2010-03-08 +[1_3]: http://repo.fusesource.com/nexus/content/groups/public/org/fusesource/jansi/jansi/1.3 + +* Switched to a HawtJNI generated native library instead of using JNA to access native functions. + +## [Jansi 1.2.1][1_2_1], released 2010-03-08 +[1_2_1]: http://repo.fusesource.com/nexus/content/groups/public/org/fusesource/jansi/jansi/1.2.1 + +* Released to Maven Central. + +## [Jansi 1.2][1_2], released 2010-02-09 +[1_2]: http://jansi.fusesource.org/repo/release/org/fusesource/jansi/jansi/1.2 + +* Improved Java Docs. +* Better windows ANSI handling of: erase screen and line and move to col. +* New method: Ansi.newline(). +* Fixed missing return statement in cursor up case. +* Reset the attributes when the ANSI output stream is closed on unix. + +## [Jansi 1.1][1_1], released 2009-11-23 +[1_1]: http://jansi.fusesource.org/repo/release/org/fusesource/jansi/jansi/1.1 + +* AnsiRender can now be used in a static way and made easier to use with the ANSI builder. +* Merged [Jason Dillon's Fork](http://github.com/jdillon/jansi/tree/bb86e0e79bec850167ddfd8c4a86fb9ffef704e5): + * Pluggable ANSI support detection. + * ANSI builder can be configured to not generate ANSI escapes. + * AnsiRender provides an easier way to generate escape sequences. +* [JANSI-5](http://fusesource.com/issues/browse/JANSI-5): Attribute Reset escape should respect original console colors. +* [JANSI-4](http://fusesource.com/issues/browse/JANSI-4): Restore command console after closing wrapped OutputStream on Windows. +* [JANSI-1](http://fusesource.com/issues/browse/JANSI-1): Added extensions for colors and other attributes to Ansi builder. + +## [Jansi 1.0][1_0], released 2009-08-25 +[1_0]: http://jansi.fusesource.org/repo/release/org/fusesource/jansi/jansi/1.0 + +* Initial Release. diff --git a/.idea/libraries/jansi-jansi-project-1.11/jansi-website/ext/ScalatePackage.scala b/.idea/libraries/jansi-jansi-project-1.11/jansi-website/ext/ScalatePackage.scala new file mode 100644 index 0000000..5000438 --- /dev/null +++ b/.idea/libraries/jansi-jansi-project-1.11/jansi-website/ext/ScalatePackage.scala @@ -0,0 +1,30 @@ +/** + * Copyright (C) 2009-2011 the original author or authors. + * See the notice.md file distributed with this work for additional + * information regarding copyright ownership. + * + * Licensed 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. + */ +import org.fusesource.scalate.support.TemplatePackage +import org.fusesource.scalate.{Binding, TemplateSource} + +/** + * Defines the template package of reusable imports, attributes and methods across templates + */ +class ScalatePackage extends TemplatePackage { + def header(source: TemplateSource, bindings: List[Binding]) = + """ + // common imports go here + import _root_.Website._; + """ +} diff --git a/.idea/libraries/jansi-jansi-project-1.11/jansi-website/ext/Website.scala b/.idea/libraries/jansi-jansi-project-1.11/jansi-website/ext/Website.scala new file mode 100644 index 0000000..ec4e624 --- /dev/null +++ b/.idea/libraries/jansi-jansi-project-1.11/jansi-website/ext/Website.scala @@ -0,0 +1,66 @@ +/** + * Copyright (C) 2009-2011 the original author or authors. + * See the notice.md file distributed with this work for additional + * information regarding copyright ownership. + * + * Licensed 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. + */ +import org.fusesource.scalate.RenderContext + +package + +/** + *

+ *

+ * + * @author Hiram Chirino + */ +object Website { + + val project_name= "Jansi" + val project_slogan= "Eliminating boring console output." + val project_id= "jansi" + val project_jira_key= "JANSI" + val project_issue_url= "https://github.com/fusesource/jansi/issues" + val project_forums_url= "http://groups.google.com/group/jansi" + val project_wiki_url= "https://github.com/fusesource/jansi/wiki" + val project_logo= "/images/project-logo.png" + val project_version= "1.11" + val project_snapshot_version= "1.12-SNAPSHOT" + val project_versions = List( + project_version, + "1.11", + "1.10", + "1.9", + "1.8", + "1.6", + "1.5", + "1.4", + "1.3", + "1.2", + "1.1", + "1.0" + ) + + val project_keywords= "jansi,java,ansi,console,color" + + // ------------------------------------------------------------------- + val github_page= "http://github.com/fusesource/jansi" + val git_user_url= "git://github.com/fusesource/jansi.git" + val git_commiter_url= "git@github.com:fusesources/jansi.git" + + val project_maven_groupId= "org.fusesource.jansi" + val project_maven_artifactId= "jansi" + + val website_base_url= "http://jansi.fusesource.org" +} \ No newline at end of file diff --git a/.idea/libraries/jansi-jansi-project-1.11/jansi-website/ext/scalate/Boot.scala b/.idea/libraries/jansi-jansi-project-1.11/jansi-website/ext/scalate/Boot.scala new file mode 100644 index 0000000..79c9852 --- /dev/null +++ b/.idea/libraries/jansi-jansi-project-1.11/jansi-website/ext/scalate/Boot.scala @@ -0,0 +1,66 @@ +/** + * Copyright (C) 2009-2011 the original author or authors. + * See the notice.md file distributed with this work for additional + * information regarding copyright ownership. + * + * Licensed 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 scalate + +import org.fusesource.scalate.util.Logging +import java.util.concurrent.atomic.AtomicBoolean +import _root_.Website._ +import org.fusesource.scalate._ +import org.fusesource.scalamd.{MacroDefinition, Markdown} +import java.util.regex.Matcher +import org.fusesource.scalate.wikitext.Pygmentize + +class Boot(engine: TemplateEngine) extends Logging { + + private var _initialised = new AtomicBoolean(false) + + def run: Unit = { + if (_initialised.compareAndSet(false, true)) { + + def filter(m:Matcher):String = { + val filter_name = m.group(1) + val body = m.group(2) + engine.filter(filter_name) match { + case Some(filter)=> + filter.filter(RenderContext(), body) + case None=> "

filter not found: %s

%s
".format(filter_name, body) + } + } + + def pygmentize(m:Matcher):String = Pygmentize.pygmentize(m.group(2), m.group(1)) + + // add some macros to markdown. + Markdown.macros :::= List( + MacroDefinition("""\{filter::(.*?)\}(.*?)\{filter\}""", "s", filter, true), + MacroDefinition("""\{pygmentize::(.*?)\}(.*?)\{pygmentize\}""", "s", pygmentize, true), + MacroDefinition("""\{pygmentize\_and\_compare::(.*?)\}(.*?)\{pygmentize\_and\_compare\}""", "s", pygmentize, true), + MacroDefinition("""\$\{project_version\}""", "", _ => project_version.toString, true), + MacroDefinition("""\$\{project_name\}""", "", _ => project_name.toString, true), + MacroDefinition("""\$\{project_id\}""", "", _ => project_id.toString, true), + MacroDefinition("""\$\{project_issue_url\}""", "", _ => project_issue_url.toString, true), + MacroDefinition("""\$\{website_base_url\}""", "", _ => website_base_url.toString, true) + ) + + for( ssp <- engine.filter("ssp"); md <- engine.filter("markdown") ) { + engine.pipelines += "ssp.md"-> List(ssp, md) + engine.pipelines += "ssp.markdown"-> List(ssp, md) + } + info("Bootstrapped website gen for: %s".format(project_name)) + } + } +} \ No newline at end of file diff --git a/.idea/libraries/jansi-jansi-project-1.11/jansi-website/pom.xml b/.idea/libraries/jansi-jansi-project-1.11/jansi-website/pom.xml new file mode 100644 index 0000000..72c7036 --- /dev/null +++ b/.idea/libraries/jansi-jansi-project-1.11/jansi-website/pom.xml @@ -0,0 +1,244 @@ + + + + + 4.0.0 + + + org.fusesource.jansi + jansi-project + 1.11 + + + jansi-website + + ${project.artifactId} + The Jansi Website + pom + + + Tomcat60 + + + + + + org.scala-lang + scala-library + ${scala-version} + + + org.scala-lang + scala-compiler + ${scala-version} + + + + org.fusesource.scalate + scalate-wikitext + ${scalate-version} + + + org.fusesource.scalate + scalate-page + ${scalate-version} + + + org.fusesource.scalamd + scalamd + ${scalamd-version} + + + org.slf4j + slf4j-log4j12 + ${slf4j-version} + + + + + org.fusesource.scalate + scalate-test + ${scalate-version} + test + + + + org.fusesource.jansi + jansi + 1.11 + javadoc + test + + + + + + ext + + + + true + maven-source-plugin + + + attach-sources + + jar + + + + + + + org.scala-tools + maven-scala-plugin + ${scala-plugin-version} + + + + compile + + + + + + -Xmx1024m + + ${scala-version} + + + + + maven-surefire-plugin + + once + + false + false + + **/*Test.* + + + + + + org.fusesource.scalate + maven-scalate-plugin + ${scalate-version} + + + ${basedir}/src + website.fusesource.org + dav:http://fusesource.com/forge/dav/${forge-project-id}/versions/${project.version}/website/ + + + + + sitegen + + sitegen + + package + + + deploy + + deploy + + deploy + + + + + + + org.mortbay.jetty + jetty-maven-plugin + ${jetty-plugin-version} + + ${basedir}/src + + + scalate.editor + ${env.SCALATE_EDITOR} + + + scalate.workdir + ${basedir}/target/_scalate + + + scalate.mode + development + + + 0 + + + + + + org.apache.maven.plugins + maven-dependency-plugin + 2.2 + + + unpack + package + + unpack + + + + + org.fusesource.jansi + jansi + ${project.version} + javadoc + ${basedir}/target/sitegen/documentation/api + + + + + + + + + + + + + org.fusesource.mvnplugins + maven-linkchecker-plugin + ${mvnplugins-version} + + + http://github.com/ + http://git.or.cz/ + http://localhost:8080/ + http://repo.fusesource.com/ + http://search.twitter.com/ + http://www.chengin.com/ + + + + + + + + + diff --git a/.idea/libraries/jansi-jansi-project-1.11/jansi-website/src/WEB-INF/scalate/layouts/default.jade b/.idea/libraries/jansi-jansi-project-1.11/jansi-website/src/WEB-INF/scalate/layouts/default.jade new file mode 100644 index 0000000..8e4c3d0 --- /dev/null +++ b/.idea/libraries/jansi-jansi-project-1.11/jansi-website/src/WEB-INF/scalate/layouts/default.jade @@ -0,0 +1,87 @@ +!!! Basic +:plain + +- response.setContentType("text/html") +-@ var title : String = "" +-@ var body: String = null +-@ var overview: String = null +-@ var spot: String = null +-@ var blog: String = null +-@ var head: String = null +- val include_console = engine.isDevelopmentMode && engine.resourceLoader.exists("/org/fusesource/scalate/console/console_head.scaml") +html(lang="en") + head + meta(content="text/html; charset=utf-8" http-equiv="Content-Type") + meta(content="#{project_slogan}" name="description") + meta(content="#{project_keywords}" name="keywords") + meta(content="#{project_name}" name="author") + link(type="text/css" rel="stylesheet" href={uri("/styles/impact/css/pygmentize.css")}) + link(type="text/css" rel="stylesheet" href={uri("/styles/impact/css/site.css")}) + + - if (head!=null) + !~~ head + + -# + - if (include_console) + - include("/org/fusesource/scalate/console/console_head.scaml") + link(href={uri("/css/scalate/console.css")} rel="stylesheet" type="text/css") + + title= title + body + div#navigation + div.wrapper + - include("/_navigation.ssp.md") + + - if (overview!=null) + div#overview + div.wrapper + -if ( project_logo!=null ) + div.logo + img(src="#{uri(project_logo)}" alt="#{project_name} logo") + div.message + !~~ overview + + - if (spot!=null) + div#spot + div.wrapper + !~~ spot + + - if (body!=null) + div#content + div.wrapper + !~~ body + + - if (blog!=null) + div#blog + div.wrapper + !~~ blog + + -# + - if (include_console) + = include("/org/fusesource/scalate/console/console.scaml") + -# + :javascript + var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); + document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Constant Field Values

+
+
+Contents + + + + + + +
+org.apache.*
+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
org.apache.commons.logging.LogFactory
+public static final StringDIAGNOSTICS_DEST_PROPERTY"org.apache.commons.logging.diagnostics.dest"
+public static final StringFACTORY_DEFAULT"org.apache.commons.logging.impl.SLF4JLogFactory"
+public static final StringFACTORY_PROPERTIES"commons-logging.properties"
+public static final StringFACTORY_PROPERTY"org.apache.commons.logging.LogFactory"
+public static final StringHASHTABLE_IMPLEMENTATION_PROPERTY"org.apache.commons.logging.LogFactory.HashtableImpl"
+public static final StringPRIORITY_KEY"priority"
+protected static final StringSERVICE_ID"META-INF/services/org.apache.commons.logging.LogFactory"
+public static final StringTCCL_KEY"use_tccl"
+ +

+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
org.apache.commons.logging.impl.SimpleLog
+protected static final StringDEFAULT_DATE_TIME_FORMAT"yyyy/MM/dd HH:mm:ss:SSS zzz"
+public static final intLOG_LEVEL_ALL0
+public static final intLOG_LEVEL_DEBUG2
+public static final intLOG_LEVEL_ERROR5
+public static final intLOG_LEVEL_FATAL6
+public static final intLOG_LEVEL_INFO3
+public static final intLOG_LEVEL_OFF7
+public static final intLOG_LEVEL_TRACE1
+public static final intLOG_LEVEL_WARN4
+protected static final StringsystemPrefix"org.apache.commons.logging.simplelog."
+ +

+ +

+ + + + + + + + + + + + +
org.apache.commons.logging.impl.SLF4JLogFactory
+public static final StringLOG_PROPERTY"org.apache.commons.logging.Log"
+ +

+ +

+ + + + + + + + + + + + + + + + + +
org.apache.log4j.Level
+public static final intTRACE_INT5000
+public static final intX_TRACE_INT9900
+ +

+ +

+ + + + + + + + + + + + +
org.apache.log4j.NDC
+public static final StringPREFIX"NDC"
+ +

+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
org.apache.log4j.Priority
+public static final intALL_INT-2147483648
+public static final intDEBUG_INT10000
+public static final intERROR_INT40000
+public static final intFATAL_INT50000
+public static final intINFO_INT20000
+public static final intOFF_INT2147483647
+public static final intWARN_INT30000
+ +

+ +

+ + + + + + + + + + + + + + + + + +
org.apache.log4j.helpers.LogLog
+public static final StringCONFIG_DEBUG_KEY"log4j.configDebug"
+public static final StringDEBUG_KEY"log4j.debug"
+ +

+ +

+ + + + + + + + + + + + + + + + + +
org.apache.log4j.spi.Configurator
+public static final StringINHERITED"inherited"
+public static final StringNULL"null"
+ +

+ +

+ + + + + +
+org.slf4j.*
+ +

+ + + + + + + + + + + + +
org.slf4j.Logger
+public static final StringROOT_LOGGER_NAME"ROOT"
+ +

+ +

+ + + + + + + + + + + + + + + + + +
org.slf4j.Marker
+public static final StringANY_MARKER"*"
+public static final StringANY_NON_NULL_MARKER"+"
+ +

+ +

+ + + + + + + + + + + + +
org.slf4j.NDC
+public static final StringPREFIX"NDC"
+ +

+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
org.slf4j.agent.AgentOptions
+public static final StringIGNORE"ignore"
+public static final StringLEVEL"level"
+public static final StringTIME"time"
+public static final StringVERBOSE"verbose"
+ +

+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
org.slf4j.ext.EventData
+public static final StringEVENT_DATETIME"EventDateTime"
+public static final StringEVENT_ID"EventId"
+public static final StringEVENT_MESSAGE"EventMessage"
+public static final StringEVENT_TYPE"EventType"
+ +

+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
org.slf4j.impl.SimpleLogger
+public static final StringDATE_TIME_FORMAT_KEY"org.slf4j.simpleLogger.dateTimeFormat"
+public static final StringDEFAULT_LOG_LEVEL_KEY"org.slf4j.simpleLogger.defaultLogLevel"
+public static final StringLEVEL_IN_BRACKETS_KEY"org.slf4j.simpleLogger.levelInBrackets"
+public static final StringLOG_FILE_KEY"org.slf4j.simpleLogger.logFile"
+public static final StringLOG_KEY_PREFIX"org.slf4j.simpleLogger.log."
+public static final StringSHOW_DATE_TIME_KEY"org.slf4j.simpleLogger.showDateTime"
+public static final StringSHOW_LOG_NAME_KEY"org.slf4j.simpleLogger.showLogName"
+public static final StringSHOW_SHORT_LOG_NAME_KEY"org.slf4j.simpleLogger.showShortLogName"
+public static final StringSHOW_THREAD_NAME_KEY"org.slf4j.simpleLogger.showThreadName"
+public static final StringSYSTEM_PREFIX"org.slf4j.simpleLogger."
+public static final StringWARN_LEVEL_STRING_KEY"org.slf4j.simpleLogger.warnLevelString"
+ +

+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
org.slf4j.spi.LocationAwareLogger
+public static final intDEBUG_INT10
+public static final intERROR_INT40
+public static final intINFO_INT20
+public static final intTRACE_INT0
+public static final intWARN_INT30
+ +

+ +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/deprecated-list.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/deprecated-list.html new file mode 100644 index 0000000..3edcae9 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/deprecated-list.html @@ -0,0 +1,232 @@ + + + + + + + +Deprecated List (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Deprecated API

+
+
+Contents + + + + + + + + + + + + + + + + + + + + + + + + +
+Deprecated Fields
org.apache.log4j.helpers.LogLog.CONFIG_DEBUG_KEY +
+          Use LogLog.DEBUG_KEY instead. 
org.apache.log4j.Priority.DEBUG +
+          Use Level.DEBUG instead. 
org.apache.log4j.Priority.ERROR +
+          Use Level.ERROR instead. 
org.apache.log4j.Priority.FATAL +
+          Use Level.FATAL instead. 
org.apache.log4j.Priority.INFO +
+          Use Level.INFO instead. 
org.apache.log4j.Priority.WARN +
+          Use Level.WARN instead. 
+  +

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+Deprecated Methods
org.apache.log4j.Priority.getAllPossiblePriorities() +
+          This method will be removed with no replacement. 
org.apache.log4j.Category.getPriority() +
+          Please use Category.getLevel() instead. 
org.slf4j.Marker.hasChildren() +
+          Replaced by Marker.hasReferences(). 
org.apache.log4j.Priority.toPriority(int) +
+          Please use the Level.toLevel(int) method instead. 
org.apache.log4j.Priority.toPriority(int, Priority) +
+          Please use the Level.toLevel(int, Level) method instead. 
org.apache.log4j.Priority.toPriority(String) +
+          Please use the Level.toLevel(String) method instead. 
org.apache.log4j.Priority.toPriority(String, Priority) +
+          Please use the Level.toLevel(String, Level) method instead. 
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/help-doc.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/help-doc.html new file mode 100644 index 0000000..316e973 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/help-doc.html @@ -0,0 +1,224 @@ + + + + + + + +API Help (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+How This API Document Is Organized

+
+This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.

+Overview

+
+ +

+The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.

+

+Package

+
+ +

+Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:

    +
  • Interfaces (italic)
  • Classes
  • Enums
  • Exceptions
  • Errors
  • Annotation Types
+
+

+Class/Interface

+
+ +

+Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:

    +
  • Class inheritance diagram
  • Direct Subclasses
  • All Known Subinterfaces
  • All Known Implementing Classes
  • Class/interface declaration
  • Class/interface description +

    +

  • Nested Class Summary
  • Field Summary
  • Constructor Summary
  • Method Summary +

    +

  • Field Detail
  • Constructor Detail
  • Method Detail
+Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.
+ +

+Annotation Type

+
+ +

+Each annotation type has its own separate page with the following sections:

    +
  • Annotation Type declaration
  • Annotation Type description
  • Required Element Summary
  • Optional Element Summary
  • Element Detail
+
+ +

+Enum

+
+ +

+Each enum has its own separate page with the following sections:

    +
  • Enum declaration
  • Enum description
  • Enum Constant Summary
  • Enum Constant Detail
+
+

+Use

+
+Each documented package, class and interface has its own Use page. This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A. You can access this page by first going to the package, class or interface, then clicking on the "Use" link in the navigation bar.
+

+Tree (Class Hierarchy)

+
+There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with java.lang.Object. The interfaces do not inherit from java.lang.Object.
    +
  • When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.
  • When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.
+
+

+Deprecated API

+
+The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.
+

+Index

+
+The Index contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.
+

+Prev/Next

+These links take you to the next or previous class, interface, package, or related page.

+Frames/No Frames

+These links show and hide the HTML frames. All pages are available with or without frames. +

+

+Serialized Form

+Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description. +

+

+Constant Field Values

+The Constant Field Values page lists the static final fields and their values. +

+ + +This help file applies to API documentation generated using the standard doclet. + +
+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/index-all.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/index-all.html new file mode 100644 index 0000000..95c0917 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/index-all.html @@ -0,0 +1,3463 @@ + + + + + + + +Index (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +A B C D E F G H I J L M N O P R S T U V W X
+

+A

+
+
Activator - Class in org.slf4j.osgi.logservice.impl
Activator implements a simple bundle that registers a + LogServiceFactory for the creation of LogService implementations.
Activator() - +Constructor for class org.slf4j.osgi.logservice.impl.Activator +
  +
add(Marker) - +Method in class org.slf4j.helpers.BasicMarker +
  +
add(Marker) - +Method in interface org.slf4j.Marker +
Add a reference to another Marker. +
addAppender(Appender) - +Method in class org.apache.log4j.Category +
  +
addAppenderEvent(Category, Appender) - +Method in interface org.apache.log4j.spi.HierarchyEventListener +
  +
addEntryExit(boolean) - +Method in class org.slf4j.instrumentation.LogTransformer.Builder +
Should each method log entry (with parameters) and exit (with parameters + and returnvalue)? +
addFilter(Filter) - +Method in interface org.apache.log4j.Appender +
Add a filter to the end of the filter list. +
addHierarchyEventListener(HierarchyEventListener) - +Method in interface org.apache.log4j.spi.LoggerRepository +
Add a HierarchyEventListener event to the repository. +
AgentOptions - Class in org.slf4j.agent
+ All recognized options in the string passed to the java agent.
AgentOptions() - +Constructor for class org.slf4j.agent.AgentOptions +
  +
AgentPremain - Class in org.slf4j.agent
Entry point for slf4j-ext when used as a Java agent.
AgentPremain() - +Constructor for class org.slf4j.agent.AgentPremain +
  +
ALL - +Static variable in class org.apache.log4j.Level +
The ALL has the lowest possible rank and is intended to + turn on all logging. +
ALL_INT - +Static variable in class org.apache.log4j.Priority +
  +
ANY_MARKER - +Static variable in interface org.slf4j.Marker +
This constant represents any marker, including a null marker. +
ANY_NON_NULL_MARKER - +Static variable in interface org.slf4j.Marker +
This constant represents any non-null marker. +
Appender - Interface in org.apache.log4j
Implement this interface for your own strategies for outputting log + statements.
arrayFormat(String, Object[]) - +Static method in class org.slf4j.helpers.MessageFormatter +
Same principle as the MessageFormatter.format(String, Object) and + MessageFormatter.format(String, Object, Object) methods except that any number of + arguments can be passed in an array. +
attributes - +Variable in class org.apache.commons.logging.impl.SLF4JLogFactory +
Configuration attributes. +
+
+

+B

+
+
BasicConfigurator - Class in org.apache.log4j
A minimal (nop) implementation of BasicConfigurator.
BasicConfigurator() - +Constructor for class org.apache.log4j.BasicConfigurator +
  +
BasicMarker - Class in org.slf4j.helpers
A simple implementation of the Marker interface.
BasicMarkerFactory - Class in org.slf4j.helpers
An almost trivial implementation of the IMarkerFactory + interface which creates BasicMarker instances.
BasicMarkerFactory() - +Constructor for class org.slf4j.helpers.BasicMarkerFactory +
Regular users should not create + BasicMarkerFactory instances. +
BasicMDCAdapter - Class in org.slf4j.helpers
Basic MDC implementation, which can be used with logging systems that lack + out-of-the-box MDC support.
BasicMDCAdapter() - +Constructor for class org.slf4j.helpers.BasicMDCAdapter +
  +
build() - +Method in class org.slf4j.instrumentation.LogTransformer.Builder +
Build and return the LogTransformer corresponding to the options set in + this Builder. +
+
+

+C

+
+
callLocationAwareLogger(LocationAwareLogger, LogRecord) - +Method in class org.slf4j.bridge.SLF4JBridgeHandler +
  +
callPlainSLF4JLogger(Logger, LogRecord) - +Method in class org.slf4j.bridge.SLF4JBridgeHandler +
  +
catching(Throwable) - +Method in class org.slf4j.ext.XLogger +
Log an exception being caught. +
catching(XLogger.Level, Throwable) - +Method in class org.slf4j.ext.XLogger +
Log an exception being caught allowing the log level to be specified. +
Category - Class in org.apache.log4j
+ This class is a minimal implementation of the original + org.apache.log4j.Category class (as found in log4j 1.2) by + delegation of all calls to a Logger instance.
cause - +Variable in exception org.apache.commons.logging.LogConfigurationException +
The underlying cause of this exception. +
clear() - +Static method in class org.apache.log4j.MDC +
  +
clear() - +Static method in class org.apache.log4j.NDC +
  +
clear() - +Method in class org.slf4j.helpers.BasicMDCAdapter +
Clear all entries in the MDC. +
clear() - +Method in class org.slf4j.helpers.NOPMDCAdapter +
  +
clear() - +Method in class org.slf4j.impl.Log4jMDCAdapter +
  +
clear() - +Static method in class org.slf4j.MDC +
Clear all entries in the MDC of the underlying implementation. +
clear() - +Method in class org.slf4j.profiler.ProfilerRegistry +
  +
clear() - +Method in interface org.slf4j.spi.MDCAdapter +
Clear all entries in the MDC. +
clearFilters() - +Method in interface org.apache.log4j.Appender +
Clear the list of filters by removing all the filters in it. +
cloneStack() - +Static method in class org.apache.log4j.NDC +
  +
close() - +Method in interface org.apache.log4j.Appender +
Release any resources allocated within the appender such as file + handles, network connections, etc. +
close() - +Method in class org.slf4j.bridge.SLF4JBridgeHandler +
No-op implementation. +
CONFIG_DEBUG_KEY - +Static variable in class org.apache.log4j.helpers.LogLog +
Deprecated. Use LogLog.DEBUG_KEY instead. +
Configurator - Interface in org.apache.log4j.spi
Implemented by classes capable of configuring log4j using a URL.
configure() - +Static method in class org.apache.log4j.BasicConfigurator +
  +
configure(Appender) - +Static method in class org.apache.log4j.BasicConfigurator +
  +
configure(Properties) - +Static method in class org.apache.log4j.PropertyConfigurator +
  +
configure(String) - +Static method in class org.apache.log4j.PropertyConfigurator +
  +
configure(URL) - +Static method in class org.apache.log4j.PropertyConfigurator +
  +
configure(Element) - +Static method in class org.apache.log4j.xml.DOMConfigurator +
  +
configure(String) - +Static method in class org.apache.log4j.xml.DOMConfigurator +
  +
configure(URL) - +Static method in class org.apache.log4j.xml.DOMConfigurator +
  +
configureAndWatch(String) - +Static method in class org.apache.log4j.PropertyConfigurator +
  +
configureAndWatch(String, long) - +Static method in class org.apache.log4j.PropertyConfigurator +
  +
configureAndWatch(String) - +Static method in class org.apache.log4j.xml.DOMConfigurator +
  +
configureAndWatch(String, long) - +Static method in class org.apache.log4j.xml.DOMConfigurator +
  +
contains(Marker) - +Method in class org.slf4j.helpers.BasicMarker +
  +
contains(String) - +Method in class org.slf4j.helpers.BasicMarker +
This method is mainly used with Expression Evaluators. +
contains(Marker) - +Method in interface org.slf4j.Marker +
Does this marker contain a reference to the 'other' marker? +
contains(String) - +Method in interface org.slf4j.Marker +
Does this marker contain the marker named 'name'? +
convertToString(Object) - +Method in class org.apache.log4j.Category +
  +
createFactory(String, ClassLoader) - +Static method in class org.apache.commons.logging.LogFactory +
This method exists to ensure signature compatibility. +
currentLogLevel - +Variable in class org.apache.commons.logging.impl.SimpleLog +
The current log level +
currentLogLevel - +Variable in class org.slf4j.impl.SimpleLogger +
The current log level +
+
+

+D

+
+
DATE_TIME_FORMAT_KEY - +Static variable in class org.slf4j.impl.SimpleLogger +
  +
dateFormatter - +Static variable in class org.apache.commons.logging.impl.SimpleLog +
Used to format times +
dateTimeFormat - +Static variable in class org.apache.commons.logging.impl.SimpleLog +
The date and time format to use in the log message +
debug(Object) - +Method in class org.apache.commons.logging.impl.NoOpLog +
Do nothing +
debug(Object, Throwable) - +Method in class org.apache.commons.logging.impl.NoOpLog +
Do nothing +
debug(Object) - +Method in class org.apache.commons.logging.impl.SimpleLog +
+ Log a message with debug log level. +
debug(Object, Throwable) - +Method in class org.apache.commons.logging.impl.SimpleLog +
+ Log an error with debug log level. +
debug(Object) - +Method in class org.apache.commons.logging.impl.SLF4JLocationAwareLog +
Converts the input parameter to String and then delegates to the wrapped + org.slf4j.Logger instance. +
debug(Object, Throwable) - +Method in class org.apache.commons.logging.impl.SLF4JLocationAwareLog +
Converts the first input parameter to String and then delegates to the + wrapped org.slf4j.Logger instance. +
debug(Object) - +Method in class org.apache.commons.logging.impl.SLF4JLog +
Converts the input parameter to String and then delegates to the wrapped + org.slf4j.Logger instance. +
debug(Object, Throwable) - +Method in class org.apache.commons.logging.impl.SLF4JLog +
Converts the first input parameter to String and then delegates to the + wrapped org.slf4j.Logger instance. +
debug(Object) - +Method in interface org.apache.commons.logging.Log +
Log a message with debug log level. +
debug(Object, Throwable) - +Method in interface org.apache.commons.logging.Log +
Log an error with debug log level. +
debug(Object) - +Method in class org.apache.log4j.Category +
Delegates to Logger.debug(String) method of SLF4J. +
debug(Object, Throwable) - +Method in class org.apache.log4j.Category +
Delegates to Logger.debug(String,Throwable) method in + SLF4J. +
debug(String) - +Static method in class org.apache.log4j.helpers.LogLog +
This method is used to output log4j internal debug + statements. +
debug(String, Throwable) - +Static method in class org.apache.log4j.helpers.LogLog +
This method is used to output log4j internal debug + statements. +
DEBUG - +Static variable in class org.apache.log4j.Level +
The DEBUG Level designates fine-grained + informational events that are most useful to debug an + application. +
DEBUG - +Static variable in class org.apache.log4j.Priority +
Deprecated. Use Level.DEBUG instead. +
debug(Enum<?>, Object...) - +Method in class org.slf4j.cal10n.LocLogger +
Log a localized message at the DEBUG level. +
debug(String) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
debug(String, Object) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
debug(String, Object, Object) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
debug(String, Object...) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
debug(String, Throwable) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
debug(Marker, String) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
debug(Marker, String, Object) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
debug(Marker, String, Object, Object) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
debug(Marker, String, Object...) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
debug(Marker, String, Throwable) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
debug(Marker, String) - +Method in class org.slf4j.helpers.MarkerIgnoringBase +
  +
debug(Marker, String, Object) - +Method in class org.slf4j.helpers.MarkerIgnoringBase +
  +
debug(Marker, String, Object, Object) - +Method in class org.slf4j.helpers.MarkerIgnoringBase +
  +
debug(Marker, String, Object...) - +Method in class org.slf4j.helpers.MarkerIgnoringBase +
  +
debug(Marker, String, Throwable) - +Method in class org.slf4j.helpers.MarkerIgnoringBase +
  +
debug(String) - +Method in class org.slf4j.helpers.NOPLogger +
A NOP implementation. +
debug(String, Object) - +Method in class org.slf4j.helpers.NOPLogger +
A NOP implementation. +
debug(String, Object, Object) - +Method in class org.slf4j.helpers.NOPLogger +
A NOP implementation. +
debug(String, Object...) - +Method in class org.slf4j.helpers.NOPLogger +
A NOP implementation. +
debug(String, Throwable) - +Method in class org.slf4j.helpers.NOPLogger +
A NOP implementation. +
debug(String) - +Method in class org.slf4j.impl.JCLLoggerAdapter +
Delegates to the Log.debug(java.lang.Object) method of the underlying + Log instance. +
debug(String, Object) - +Method in class org.slf4j.impl.JCLLoggerAdapter +
Delegates to the Log.debug(java.lang.Object) method of the underlying + Log instance. +
debug(String, Object, Object) - +Method in class org.slf4j.impl.JCLLoggerAdapter +
Delegates to the Log.debug(java.lang.Object) method of the underlying + Log instance. +
debug(String, Object...) - +Method in class org.slf4j.impl.JCLLoggerAdapter +
Delegates to the Log.debug(java.lang.Object) method of the underlying + Log instance. +
debug(String, Throwable) - +Method in class org.slf4j.impl.JCLLoggerAdapter +
Delegates to the Log.debug(java.lang.Object, java.lang.Throwable) method of + the underlying Log instance. +
debug(String) - +Method in class org.slf4j.impl.JDK14LoggerAdapter +
Log a message object at level FINE. +
debug(String, Object) - +Method in class org.slf4j.impl.JDK14LoggerAdapter +
Log a message at level FINE according to the specified format and argument. +
debug(String, Object, Object) - +Method in class org.slf4j.impl.JDK14LoggerAdapter +
Log a message at level FINE according to the specified format and + arguments. +
debug(String, Object...) - +Method in class org.slf4j.impl.JDK14LoggerAdapter +
Log a message at level FINE according to the specified format and + arguments. +
debug(String, Throwable) - +Method in class org.slf4j.impl.JDK14LoggerAdapter +
Log an exception (throwable) at level FINE with an accompanying message. +
debug(String) - +Method in class org.slf4j.impl.Log4jLoggerAdapter +
Log a message object at level DEBUG. +
debug(String, Object) - +Method in class org.slf4j.impl.Log4jLoggerAdapter +
Log a message at level DEBUG according to the specified format and + argument. +
debug(String, Object, Object) - +Method in class org.slf4j.impl.Log4jLoggerAdapter +
Log a message at level DEBUG according to the specified format and + arguments. +
debug(String, Object...) - +Method in class org.slf4j.impl.Log4jLoggerAdapter +
Log a message at level DEBUG according to the specified format and + arguments. +
debug(String, Throwable) - +Method in class org.slf4j.impl.Log4jLoggerAdapter +
Log an exception (throwable) at level DEBUG with an accompanying message. +
debug(String) - +Method in class org.slf4j.impl.SimpleLogger +
A simple implementation which logs messages of level DEBUG according + to the format outlined above. +
debug(String, Object) - +Method in class org.slf4j.impl.SimpleLogger +
Perform single parameter substitution before logging the message of level + DEBUG according to the format outlined above. +
debug(String, Object, Object) - +Method in class org.slf4j.impl.SimpleLogger +
Perform double parameter substitution before logging the message of level + DEBUG according to the format outlined above. +
debug(String, Object...) - +Method in class org.slf4j.impl.SimpleLogger +
Perform double parameter substitution before logging the message of level + DEBUG according to the format outlined above. +
debug(String, Throwable) - +Method in class org.slf4j.impl.SimpleLogger +
Log a message of level DEBUG, including an exception. +
debug(String) - +Method in interface org.slf4j.Logger +
Log a message at the DEBUG level. +
debug(String, Object) - +Method in interface org.slf4j.Logger +
Log a message at the DEBUG level according to the specified format + and argument. +
debug(String, Object, Object) - +Method in interface org.slf4j.Logger +
Log a message at the DEBUG level according to the specified format + and arguments. +
debug(String, Object...) - +Method in interface org.slf4j.Logger +
Log a message at the DEBUG level according to the specified format + and arguments. +
debug(String, Throwable) - +Method in interface org.slf4j.Logger +
Log an exception (throwable) at the DEBUG level with an + accompanying message. +
debug(Marker, String) - +Method in interface org.slf4j.Logger +
Log a message with the specific Marker at the DEBUG level. +
debug(Marker, String, Object) - +Method in interface org.slf4j.Logger +
This method is similar to Logger.debug(String, Object) method except that the + marker data is also taken into consideration. +
debug(Marker, String, Object, Object) - +Method in interface org.slf4j.Logger +
This method is similar to Logger.debug(String, Object, Object) + method except that the marker data is also taken into + consideration. +
debug(Marker, String, Object...) - +Method in interface org.slf4j.Logger +
This method is similar to Logger.debug(String, Object...) +
debug(Marker, String, Throwable) - +Method in interface org.slf4j.Logger +
This method is similar to Logger.debug(String, Throwable) method except that the + marker data is also taken into consideration. +
DEBUG_INT - +Static variable in class org.apache.log4j.Priority +
  +
DEBUG_INT - +Static variable in interface org.slf4j.spi.LocationAwareLogger +
  +
DEBUG_KEY - +Static variable in class org.apache.log4j.helpers.LogLog +
Defining this value makes log4j print log4j-internal debug + statements to System.out. +
debugEnabled - +Static variable in class org.apache.log4j.helpers.LogLog +
  +
DEFAULT_DATE_TIME_FORMAT - +Static variable in class org.apache.commons.logging.impl.SimpleLog +
The default format to use when formating dates +
DEFAULT_LOG_LEVEL_KEY - +Static variable in class org.slf4j.impl.SimpleLogger +
  +
detachMarker(String) - +Method in class org.slf4j.helpers.BasicMarkerFactory +
  +
detachMarker(String) - +Method in interface org.slf4j.IMarkerFactory +
Detach an existing marker. +
DIAGNOSTICS_DEST_PROPERTY - +Static variable in class org.apache.commons.logging.LogFactory +
The name (org.apache.commons.logging.diagnostics.dest) of + the property used to enable internal commons-logging diagnostic output, in + order to get information on what logging implementations are being + discovered, what classloaders they are loaded through, etc. +
directGetContextClassLoader() - +Static method in class org.apache.commons.logging.LogFactory +
This method exists to ensure signature compatibility. +
doAppend(LoggingEvent) - +Method in interface org.apache.log4j.Appender +
Log in Appender specific way. +
doConfigure(Properties, LoggerRepository) - +Method in class org.apache.log4j.PropertyConfigurator +
  +
doConfigure(String, LoggerRepository) - +Method in class org.apache.log4j.PropertyConfigurator +
  +
doConfigure(URL, LoggerRepository) - +Method in class org.apache.log4j.PropertyConfigurator +
  +
doConfigure(URL, LoggerRepository) - +Method in interface org.apache.log4j.spi.Configurator +
Interpret a resource pointed by a URL and set up log4j accordingly. +
doConfigure(Element, LoggerRepository) - +Method in class org.apache.log4j.xml.DOMConfigurator +
  +
doConfigure(InputStream, LoggerRepository) - +Method in class org.apache.log4j.xml.DOMConfigurator +
  +
doConfigure(Reader, LoggerRepository) - +Method in class org.apache.log4j.xml.DOMConfigurator +
  +
doConfigure(String, LoggerRepository) - +Method in class org.apache.log4j.xml.DOMConfigurator +
  +
doConfigure(URL, LoggerRepository) - +Method in class org.apache.log4j.xml.DOMConfigurator +
  +
DOMConfigurator - Class in org.apache.log4j.xml
 
DOMConfigurator() - +Constructor for class org.apache.log4j.xml.DOMConfigurator +
  +
DurationUnit - Enum in org.slf4j.profiler
An enum of supported time units.
+
+

+E

+
+
elapsedTime() - +Method in class org.slf4j.profiler.Profiler +
  +
elapsedTime() - +Method in class org.slf4j.profiler.StopWatch +
  +
elapsedTime() - +Method in interface org.slf4j.profiler.TimeInstrument +
Time elapsed between start and stop, in nanoseconds. +
emitNoAppenderWarning(Category) - +Method in interface org.apache.log4j.spi.LoggerRepository +
  +
entry(Object...) - +Method in class org.slf4j.ext.XLogger +
Log method entry. +
equals(Object) - +Method in class org.apache.log4j.Priority +
Two priorities are equal if their level fields are equal. +
equals(Object) - +Method in class org.slf4j.ext.EventData +
Compare two EventData objects for equality. +
equals(Object) - +Method in class org.slf4j.helpers.BasicMarker +
  +
equals(Object) - +Method in interface org.slf4j.Marker +
Markers are considered equal if they have the same name. +
error(Object) - +Method in class org.apache.commons.logging.impl.NoOpLog +
Do nothing +
error(Object, Throwable) - +Method in class org.apache.commons.logging.impl.NoOpLog +
Do nothing +
error(Object) - +Method in class org.apache.commons.logging.impl.SimpleLog +
+ Log a message with error log level. +
error(Object, Throwable) - +Method in class org.apache.commons.logging.impl.SimpleLog +
+ Log an error with error log level. +
error(Object) - +Method in class org.apache.commons.logging.impl.SLF4JLocationAwareLog +
Converts the input parameter to String and then delegates to the wrapped + org.slf4j.Logger instance. +
error(Object, Throwable) - +Method in class org.apache.commons.logging.impl.SLF4JLocationAwareLog +
Converts the first input parameter to String and then delegates to the + wrapped org.slf4j.Logger instance. +
error(Object) - +Method in class org.apache.commons.logging.impl.SLF4JLog +
Converts the input parameter to String and then delegates to the wrapped + org.slf4j.Logger instance. +
error(Object, Throwable) - +Method in class org.apache.commons.logging.impl.SLF4JLog +
Converts the first input parameter to String and then delegates to the + wrapped org.slf4j.Logger instance. +
error(Object) - +Method in interface org.apache.commons.logging.Log +
Log a message with error log level. +
error(Object, Throwable) - +Method in interface org.apache.commons.logging.Log +
Log an error with error log level. +
error(Object) - +Method in class org.apache.log4j.Category +
Delegates to Logger.error(String) method in SLF4J. +
error(Object, Throwable) - +Method in class org.apache.log4j.Category +
Delegates to Logger.error(String,Throwable) method in + SLF4J. +
error(String) - +Static method in class org.apache.log4j.helpers.LogLog +
This method is used to output log4j internal error + statements. +
error(String, Throwable) - +Static method in class org.apache.log4j.helpers.LogLog +
This method is used to output log4j internal error + statements. +
ERROR - +Static variable in class org.apache.log4j.Level +
The ERROR level designates error events that + might still allow the application to continue running. +
ERROR - +Static variable in class org.apache.log4j.Priority +
Deprecated. Use Level.ERROR instead. +
error(Enum<?>, Object...) - +Method in class org.slf4j.cal10n.LocLogger +
Log a localized message at the ERROR level. +
error(String) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
error(String, Object) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
error(String, Object, Object) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
error(String, Object...) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
error(String, Throwable) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
error(Marker, String) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
error(Marker, String, Object) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
error(Marker, String, Object, Object) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
error(Marker, String, Object...) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
error(Marker, String, Throwable) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
error(Marker, String) - +Method in class org.slf4j.helpers.MarkerIgnoringBase +
  +
error(Marker, String, Object) - +Method in class org.slf4j.helpers.MarkerIgnoringBase +
  +
error(Marker, String, Object, Object) - +Method in class org.slf4j.helpers.MarkerIgnoringBase +
  +
error(Marker, String, Object...) - +Method in class org.slf4j.helpers.MarkerIgnoringBase +
  +
error(Marker, String, Throwable) - +Method in class org.slf4j.helpers.MarkerIgnoringBase +
  +
error(String) - +Method in class org.slf4j.helpers.NOPLogger +
A NOP implementation. +
error(String, Object) - +Method in class org.slf4j.helpers.NOPLogger +
A NOP implementation. +
error(String, Object, Object) - +Method in class org.slf4j.helpers.NOPLogger +
A NOP implementation. +
error(String, Object...) - +Method in class org.slf4j.helpers.NOPLogger +
A NOP implementation. +
error(String, Throwable) - +Method in class org.slf4j.helpers.NOPLogger +
A NOP implementation. +
error(String) - +Method in class org.slf4j.impl.JCLLoggerAdapter +
Delegates to the Log.error(java.lang.Object) method of the underlying + Log instance. +
error(String, Object) - +Method in class org.slf4j.impl.JCLLoggerAdapter +
Delegates to the Log.error(java.lang.Object) method of the underlying + Log instance. +
error(String, Object, Object) - +Method in class org.slf4j.impl.JCLLoggerAdapter +
Delegates to the Log.error(java.lang.Object) method of the underlying + Log instance. +
error(String, Object...) - +Method in class org.slf4j.impl.JCLLoggerAdapter +
Delegates to the Log.error(java.lang.Object) method of the underlying + Log instance. +
error(String, Throwable) - +Method in class org.slf4j.impl.JCLLoggerAdapter +
Delegates to the Log.error(java.lang.Object, java.lang.Throwable) method of + the underlying Log instance. +
error(String) - +Method in class org.slf4j.impl.JDK14LoggerAdapter +
Log a message object at the SEVERE level. +
error(String, Object) - +Method in class org.slf4j.impl.JDK14LoggerAdapter +
Log a message at the SEVERE level according to the specified format and + argument. +
error(String, Object, Object) - +Method in class org.slf4j.impl.JDK14LoggerAdapter +
Log a message at the SEVERE level according to the specified format and + arguments. +
error(String, Object...) - +Method in class org.slf4j.impl.JDK14LoggerAdapter +
Log a message at level SEVERE according to the specified format and + arguments. +
error(String, Throwable) - +Method in class org.slf4j.impl.JDK14LoggerAdapter +
Log an exception (throwable) at the SEVERE level with an accompanying + message. +
error(String) - +Method in class org.slf4j.impl.Log4jLoggerAdapter +
Log a message object at the ERROR level. +
error(String, Object) - +Method in class org.slf4j.impl.Log4jLoggerAdapter +
Log a message at the ERROR level according to the specified format and + argument. +
error(String, Object, Object) - +Method in class org.slf4j.impl.Log4jLoggerAdapter +
Log a message at the ERROR level according to the specified format and + arguments. +
error(String, Object...) - +Method in class org.slf4j.impl.Log4jLoggerAdapter +
Log a message at level ERROR according to the specified format and + arguments. +
error(String, Throwable) - +Method in class org.slf4j.impl.Log4jLoggerAdapter +
Log an exception (throwable) at the ERROR level with an accompanying + message. +
error(String) - +Method in class org.slf4j.impl.SimpleLogger +
A simple implementation which always logs messages of level ERROR according + to the format outlined above. +
error(String, Object) - +Method in class org.slf4j.impl.SimpleLogger +
Perform single parameter substitution before logging the message of level + ERROR according to the format outlined above. +
error(String, Object, Object) - +Method in class org.slf4j.impl.SimpleLogger +
Perform double parameter substitution before logging the message of level + ERROR according to the format outlined above. +
error(String, Object...) - +Method in class org.slf4j.impl.SimpleLogger +
Perform double parameter substitution before logging the message of level + ERROR according to the format outlined above. +
error(String, Throwable) - +Method in class org.slf4j.impl.SimpleLogger +
Log a message of level ERROR, including an exception. +
error(String) - +Method in interface org.slf4j.Logger +
Log a message at the ERROR level. +
error(String, Object) - +Method in interface org.slf4j.Logger +
Log a message at the ERROR level according to the specified format + and argument. +
error(String, Object, Object) - +Method in interface org.slf4j.Logger +
Log a message at the ERROR level according to the specified format + and arguments. +
error(String, Object...) - +Method in interface org.slf4j.Logger +
Log a message at the ERROR level according to the specified format + and arguments. +
error(String, Throwable) - +Method in interface org.slf4j.Logger +
Log an exception (throwable) at the ERROR level with an + accompanying message. +
error(Marker, String) - +Method in interface org.slf4j.Logger +
Log a message with the specific Marker at the ERROR level. +
error(Marker, String, Object) - +Method in interface org.slf4j.Logger +
This method is similar to Logger.error(String, Object) method except that the + marker data is also taken into consideration. +
error(Marker, String, Object, Object) - +Method in interface org.slf4j.Logger +
This method is similar to Logger.error(String, Object, Object) + method except that the marker data is also taken into + consideration. +
error(Marker, String, Object...) - +Method in interface org.slf4j.Logger +
This method is similar to Logger.error(String, Object...) +
error(Marker, String, Throwable) - +Method in interface org.slf4j.Logger +
This method is similar to Logger.error(String, Throwable) + method except that the marker data is also taken into + consideration. +
ERROR_INT - +Static variable in class org.apache.log4j.Priority +
  +
ERROR_INT - +Static variable in interface org.slf4j.spi.LocationAwareLogger +
  +
ErrorHandler - Class in org.apache.log4j.spi
Created by IntelliJ IDEA.
ErrorHandler() - +Constructor for class org.apache.log4j.spi.ErrorHandler +
  +
EVENT_DATETIME - +Static variable in class org.slf4j.ext.EventData +
  +
EVENT_ID - +Static variable in class org.slf4j.ext.EventData +
  +
EVENT_MESSAGE - +Static variable in class org.slf4j.ext.EventData +
  +
EVENT_TYPE - +Static variable in class org.slf4j.ext.EventData +
  +
EventData - Class in org.slf4j.ext
Base class for Event Data.
EventData() - +Constructor for class org.slf4j.ext.EventData +
Default Constructor +
EventData(Map<String, Object>) - +Constructor for class org.slf4j.ext.EventData +
Constructor to create event data from a Map. +
EventData(String) - +Constructor for class org.slf4j.ext.EventData +
Construct from a serialized form of the Map containing the RequestInfo + elements +
EventException - Exception in org.slf4j.ext
Exception used to identify issues related to an event that is being logged.
EventException() - +Constructor for exception org.slf4j.ext.EventException +
Default constructor. +
EventException(String) - +Constructor for exception org.slf4j.ext.EventException +
Constructor that allows an exception message. +
EventException(Throwable) - +Constructor for exception org.slf4j.ext.EventException +
Constructor that chains another Exception or Error. +
EventException(String, Throwable) - +Constructor for exception org.slf4j.ext.EventException +
Constructor that chains another Exception or Error and also allows a message + to be specified. +
EventLogger - Class in org.slf4j.ext
Simple Logger used to log events.
exists(String) - +Method in interface org.apache.log4j.spi.LoggerRepository +
  +
exists(String) - +Method in class org.slf4j.helpers.BasicMarkerFactory +
Does the name marked already exist? +
exists(String) - +Method in interface org.slf4j.IMarkerFactory +
Checks if the marker with the name already exists. +
exit() - +Method in class org.slf4j.ext.XLogger +
Log method exit +
exit(Object) - +Method in class org.slf4j.ext.XLogger +
Log method exit +
+
+

+F

+
+
factories - +Static variable in class org.apache.commons.logging.LogFactory +
The previously constructed LogFactory instances, keyed by + the ClassLoader with which it was created. +
FACTORY_DEFAULT - +Static variable in class org.apache.commons.logging.LogFactory +
The fully qualified class name of the fallback LogFactory + implementation class to use, if no other can be found. +
FACTORY_PROPERTIES - +Static variable in class org.apache.commons.logging.LogFactory +
The name of the properties file to search for. +
FACTORY_PROPERTY - +Static variable in class org.apache.commons.logging.LogFactory +
The name of the property used to identify the LogFactory implementation + class name. +
fatal(Object) - +Method in class org.apache.commons.logging.impl.NoOpLog +
Do nothing +
fatal(Object, Throwable) - +Method in class org.apache.commons.logging.impl.NoOpLog +
Do nothing +
fatal(Object) - +Method in class org.apache.commons.logging.impl.SimpleLog +
+ Log a message with fatal log level. +
fatal(Object, Throwable) - +Method in class org.apache.commons.logging.impl.SimpleLog +
+ Log an error with fatal log level. +
fatal(Object) - +Method in class org.apache.commons.logging.impl.SLF4JLocationAwareLog +
Converts the input parameter to String and then delegates to the error + method of the wrapped org.slf4j.Logger instance. +
fatal(Object, Throwable) - +Method in class org.apache.commons.logging.impl.SLF4JLocationAwareLog +
Converts the first input parameter to String and then delegates to the + error method of the wrapped org.slf4j.Logger instance. +
fatal(Object) - +Method in class org.apache.commons.logging.impl.SLF4JLog +
Converts the input parameter to String and then delegates to the error + method of the wrapped org.slf4j.Logger instance. +
fatal(Object, Throwable) - +Method in class org.apache.commons.logging.impl.SLF4JLog +
Converts the first input parameter to String and then delegates to the + error method of the wrapped org.slf4j.Logger instance. +
fatal(Object) - +Method in interface org.apache.commons.logging.Log +
Log a message with fatal log level. +
fatal(Object, Throwable) - +Method in interface org.apache.commons.logging.Log +
Log an error with fatal log level. +
fatal(Object) - +Method in class org.apache.log4j.Category +
Delegates to Logger.error(String) method in SLF4J. +
fatal(Object, Throwable) - +Method in class org.apache.log4j.Category +
Delegates to Logger.error(String,Throwable) method in + SLF4J. +
FATAL - +Static variable in class org.apache.log4j.Level +
The FATAL level designates very severe error + events that will presumably lead the application to abort. +
FATAL - +Static variable in class org.apache.log4j.Priority +
Deprecated. Use Level.FATAL instead. +
FATAL_INT - +Static variable in class org.apache.log4j.Priority +
  +
Filter - Class in org.apache.log4j.spi
 
Filter() - +Constructor for class org.apache.log4j.spi.Filter +
  +
fireAddAppenderEvent(Category, Appender) - +Method in interface org.apache.log4j.spi.LoggerRepository +
  +
flush() - +Method in class org.slf4j.bridge.SLF4JBridgeHandler +
No-op implementation. +
forcedLog(String, Priority, Object, Throwable) - +Method in class org.apache.log4j.Category +
  +
format(String, Object) - +Static method in class org.slf4j.helpers.MessageFormatter +
Performs single argument substitution for the 'messagePattern' passed as + parameter. +
format(String, Object, Object) - +Static method in class org.slf4j.helpers.MessageFormatter +
Performs a two argument substitution for the 'messagePattern' passed as + parameter. +
FormattingTuple - Class in org.slf4j.helpers
Holds the results of formatting done by MessageFormatter.
FormattingTuple(String) - +Constructor for class org.slf4j.helpers.FormattingTuple +
  +
FormattingTuple(String, Object[], Throwable) - +Constructor for class org.slf4j.helpers.FormattingTuple +
  +
+
+

+G

+
+
get(String) - +Static method in class org.apache.log4j.MDC +
  +
get() - +Static method in class org.apache.log4j.NDC +
  +
get(String) - +Method in class org.slf4j.ext.EventData +
Retrieve an event attribute. +
get(String) - +Method in class org.slf4j.helpers.BasicMDCAdapter +
Get the context identified by the key parameter. +
get(String) - +Method in class org.slf4j.helpers.NOPMDCAdapter +
  +
get(String) - +Method in class org.slf4j.impl.Log4jMDCAdapter +
  +
get(String) - +Static method in class org.slf4j.MDC +
Get the diagnostic context identified by the key parameter. +
get(String) - +Method in class org.slf4j.profiler.ProfilerRegistry +
  +
get(String) - +Method in interface org.slf4j.spi.MDCAdapter +
Get the context identified by the key parameter. +
getAllAppenders() - +Method in class org.apache.log4j.Category +
  +
getAllPossiblePriorities() - +Static method in class org.apache.log4j.Priority +
Deprecated. This method will be removed with no replacement. +
getArgArray() - +Method in class org.slf4j.helpers.FormattingTuple +
  +
getAttribute(String) - +Method in class org.apache.commons.logging.impl.SLF4JLogFactory +
Return the configuration attribute with the specified name (if any), or + null if there is no such attribute. +
getAttribute(String) - +Method in class org.apache.commons.logging.LogFactory +
Return the configuration attribute with the specified name (if any), or + null if there is no such attribute. +
getAttributeNames() - +Method in class org.apache.commons.logging.impl.SLF4JLogFactory +
Return an array containing the names of all currently defined configuration + attributes. +
getAttributeNames() - +Method in class org.apache.commons.logging.LogFactory +
Return an array containing the names of all currently defined configuration + attributes. +
getCause() - +Method in exception org.apache.commons.logging.LogConfigurationException +
Return the underlying cause of this exception (if any). +
getClassLoader(Class) - +Static method in class org.apache.commons.logging.LogFactory +
This method exists to ensure signature compatibility. +
getContextClassLoader() - +Static method in class org.apache.commons.logging.LogFactory +
This method exists to ensure signature compatibility. +
getCopyOfChildTimeInstruments() - +Method in class org.slf4j.profiler.Profiler +
Return a copy of the child instrument list for this Profiler instance. +
getCopyOfContextMap() - +Method in class org.slf4j.helpers.BasicMDCAdapter +
Return a copy of the current thread's context map. +
getCopyOfContextMap() - +Method in class org.slf4j.helpers.NOPMDCAdapter +
  +
getCopyOfContextMap() - +Method in class org.slf4j.impl.Log4jMDCAdapter +
  +
getCopyOfContextMap() - +Static method in class org.slf4j.MDC +
Return a copy of the current thread's context map, with keys and values of + type String. +
getCopyOfContextMap() - +Method in interface org.slf4j.spi.MDCAdapter +
Return a copy of the current thread's context map, with keys and + values of type String. +
getCopyOfGlobalStopWatch() - +Method in class org.slf4j.profiler.Profiler +
Return a copy of the global stopwath of this Profiler instance. +
getCurrentCategories() - +Method in interface org.apache.log4j.spi.LoggerRepository +
Deprecated. +
getCurrentLoggers() - +Static method in class org.apache.log4j.LogManager +
This bogus implementation returns an empty enumeration. +
getCurrentLoggers() - +Method in interface org.apache.log4j.spi.LoggerRepository +
  +
getDepth() - +Static method in class org.apache.log4j.NDC +
  +
getDetachedMarker(String) - +Method in class org.slf4j.helpers.BasicMarkerFactory +
  +
getDetachedMarker(String) - +Method in interface org.slf4j.IMarkerFactory +
Create a marker which is detached (even at birth) from this IMarkerFactory. +
getDetachedMarker(String) - +Static method in class org.slf4j.MarkerFactory +
Create a marker which is detached (even at birth) from the MarkerFactory. +
getEffectiveLevel() - +Method in class org.apache.log4j.Category +
Return the level in effect for this category/logger. +
getEntrySetIterator() - +Method in class org.slf4j.ext.EventData +
Returns an Iterator over all the entries in the EventDAta. +
getErrorHandler() - +Method in interface org.apache.log4j.Appender +
Returns the ErrorHandler for this appender. +
getEventDateTime() - +Method in class org.slf4j.ext.EventData +
Retrieve the date and time the event occurred. +
getEventId() - +Method in class org.slf4j.ext.EventData +
Retrieve the event identifier. +
getEventMap() - +Method in class org.slf4j.ext.EventData +
Retrieve all the attributes in the EventData as a Map. +
getEventType() - +Method in class org.slf4j.ext.EventData +
Retrieve the type of the event. +
getFactory() - +Static method in class org.apache.commons.logging.LogFactory +
+ Construct (if necessary) and return a LogFactory instance, + using the following ordered lookup procedure to determine the name of the + implementation class to be loaded. +
getFilter() - +Method in interface org.apache.log4j.Appender +
Returns the head Filter. +
getILoggerFactory() - +Static method in class org.slf4j.LoggerFactory +
Return the ILoggerFactory instance in use. +
getIMarkerFactory() - +Static method in class org.slf4j.MarkerFactory +
Return the IMarkerFactoryinstance in use. +
getInstance(Class) - +Method in class org.apache.commons.logging.impl.SLF4JLogFactory +
Convenience method to derive a name from the specified class and call + getInstance(String) with it. +
getInstance(String) - +Method in class org.apache.commons.logging.impl.SLF4JLogFactory +
+ Construct (if necessary) and return a Log instance, using + the factory's current set of configuration attributes. +
getInstance(Class) - +Method in class org.apache.commons.logging.LogFactory +
Convenience method to derive a name from the specified class and call + getInstance(String) with it. +
getInstance(String) - +Method in class org.apache.commons.logging.LogFactory +
+ Construct (if necessary) and return a Log instance, using + the factory's current set of configuration attributes. +
getInstance(Class) - +Static method in class org.apache.log4j.Category +
  +
getInstance(String) - +Static method in class org.apache.log4j.Category +
  +
getInstance() - +Static method in class org.apache.log4j.helpers.NullEnumeration +
  +
getKeys() - +Method in class org.slf4j.helpers.BasicMDCAdapter +
Returns the keys in the MDC as a Set of Strings The + returned value can be null. +
getLayout() - +Method in interface org.apache.log4j.Appender +
Returns this appenders layout. +
getLevel() - +Method in class org.apache.commons.logging.impl.SimpleLog +
+ Get logging level. +
getLevel() - +Method in class org.apache.log4j.Category +
Returns the assigned Level, if any, for this Category. +
getLocLogger(String) - +Method in class org.slf4j.cal10n.LocLoggerFactory +
Get an LocLogger instance by name. +
getLocLogger(Class) - +Method in class org.slf4j.cal10n.LocLoggerFactory +
Get a new LocLogger instance by class. +
getLog(Class) - +Static method in class org.apache.commons.logging.LogFactory +
Convenience method to return a named logger, without the application having + to care about factories. +
getLog(String) - +Static method in class org.apache.commons.logging.LogFactory +
Convenience method to return a named logger, without the application having + to care about factories. +
getLogger(String) - +Static method in class org.apache.log4j.Logger +
  +
getLogger(String, LoggerFactory) - +Static method in class org.apache.log4j.Logger +
  +
getLogger(Class) - +Static method in class org.apache.log4j.Logger +
  +
getLogger(String) - +Static method in class org.apache.log4j.LogManager +
  +
getLogger(Class) - +Static method in class org.apache.log4j.LogManager +
  +
getLogger(String, LoggerFactory) - +Static method in class org.apache.log4j.LogManager +
Returns a logger instance created by loggerFactory. +
getLogger(String) - +Method in interface org.apache.log4j.spi.LoggerRepository +
  +
getLogger(String, LoggerFactory) - +Method in interface org.apache.log4j.spi.LoggerRepository +
  +
getLogger(String) - +Method in class org.slf4j.helpers.NOPLoggerFactory +
  +
getLogger(String) - +Method in class org.slf4j.helpers.SubstituteLoggerFactory +
  +
getLogger(String) - +Method in interface org.slf4j.ILoggerFactory +
Return an appropriate Logger instance as specified by the + name parameter. +
getLogger(String) - +Method in class org.slf4j.impl.JCLLoggerFactory +
  +
getLogger(String) - +Method in class org.slf4j.impl.JDK14LoggerFactory +
  +
getLogger(String) - +Method in class org.slf4j.impl.Log4jLoggerFactory +
  +
getLogger(String) - +Method in class org.slf4j.impl.SimpleLoggerFactory +
Return an appropriate SimpleLogger instance by name. +
getLogger(String) - +Static method in class org.slf4j.LoggerFactory +
Return a logger named according to the name parameter using the statically + bound ILoggerFactory instance. +
getLogger(Class) - +Static method in class org.slf4j.LoggerFactory +
Return a logger named corresponding to the class passed as parameter, using + the statically bound ILoggerFactory instance. +
getLogger() - +Method in class org.slf4j.profiler.Profiler +
  +
getLoggerFactory() - +Method in class org.slf4j.impl.StaticLoggerBinder +
  +
getLoggerFactory() - +Method in interface org.slf4j.spi.LoggerFactoryBinder +
Return the instance of ILoggerFactory that + LoggerFactory class should bind to. +
getLoggerFactoryClassStr() - +Method in class org.slf4j.impl.StaticLoggerBinder +
  +
getLoggerFactoryClassStr() - +Method in interface org.slf4j.spi.LoggerFactoryBinder +
The String form of the ILoggerFactory object that this + LoggerFactoryBinder instance is intended to return. +
getLoggerNameList() - +Method in class org.slf4j.helpers.SubstituteLoggerFactory +
  +
getMarker(String) - +Method in class org.slf4j.helpers.BasicMarkerFactory +
Manufacture a BasicMarker instance by name. +
getMarker(String) - +Method in interface org.slf4j.IMarkerFactory +
Manufacture a Marker instance by name. +
getMarker(String) - +Static method in class org.slf4j.MarkerFactory +
Return a Marker instance as specified by the name parameter using the + previously bound IMarkerFactoryinstance. +
getMarkerFactory() - +Method in class org.slf4j.impl.StaticMarkerBinder +
Currently this method always returns an instance of + BasicMarkerFactory. +
getMarkerFactory() - +Method in interface org.slf4j.spi.MarkerFactoryBinder +
Return the instance of IMarkerFactory that + MarkerFactory class should bind to. +
getMarkerFactoryClassStr() - +Method in class org.slf4j.impl.StaticMarkerBinder +
Currently, this method returns the class name of + BasicMarkerFactory. +
getMarkerFactoryClassStr() - +Method in interface org.slf4j.spi.MarkerFactoryBinder +
The String form of the IMarkerFactory object that this + MarkerFactoryBinder instance is intended to return. +
getMDCA() - +Method in class org.slf4j.impl.StaticMDCBinder +
Currently this method always returns an instance of + StaticMDCBinder. +
getMDCAdapter() - +Static method in class org.slf4j.MDC +
Returns the MDCAdapter instance currently in use. +
getMDCAdapterClassStr() - +Method in class org.slf4j.impl.StaticMDCBinder +
  +
getMessage() - +Method in class org.slf4j.ext.EventData +
Retrieve the message text associated with this event, if any. +
getMessage() - +Method in class org.slf4j.helpers.FormattingTuple +
  +
getName() - +Method in interface org.apache.log4j.Appender +
Get the name of this appender. +
getName() - +Method in class org.apache.log4j.Category +
Returns the obvious. +
getName() - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
getName() - +Method in class org.slf4j.helpers.BasicMarker +
  +
getName() - +Method in class org.slf4j.helpers.NOPLogger +
Always returns the string value "NOP". +
getName() - +Method in interface org.slf4j.Logger +
Return the name of this Logger instance. +
getName() - +Method in interface org.slf4j.Marker +
Get the name of this Marker. +
getName() - +Method in class org.slf4j.profiler.Profiler +
  +
getName() - +Method in class org.slf4j.profiler.StopWatch +
  +
getName() - +Method in interface org.slf4j.profiler.TimeInstrument +
All time instruments are named entities. +
getPriority() - +Method in class org.apache.log4j.Category +
Deprecated. Please use Category.getLevel() instead. +
getProfilerRegistry() - +Method in class org.slf4j.profiler.Profiler +
  +
getRootLogger() - +Static method in class org.apache.log4j.Logger +
Does the obvious. +
getRootLogger() - +Static method in class org.apache.log4j.LogManager +
  +
getRootLogger() - +Method in interface org.apache.log4j.spi.LoggerRepository +
  +
getService(Bundle, ServiceRegistration) - +Method in class org.slf4j.osgi.logservice.impl.LogServiceFactory +
  +
getSignature(CtBehavior) - +Static method in class org.slf4j.instrumentation.JavassistHelper +
Return javaassist source snippet which lists all the parameters and their + values. +
getSingleton() - +Static method in class org.slf4j.impl.StaticLoggerBinder +
Return the singleton of this class. +
getSize() - +Method in class org.slf4j.ext.EventData +
Returns the number of attributes in the EventData. +
getSLF4JLogger(LogRecord) - +Method in class org.slf4j.bridge.SLF4JBridgeHandler +
Return the Logger instance that will be used for logging. +
getStatus() - +Method in class org.slf4j.profiler.Profiler +
  +
getStatus() - +Method in class org.slf4j.profiler.StopWatch +
  +
getStatus() - +Method in interface org.slf4j.profiler.TimeInstrument +
  +
getSyslogEquivalent() - +Method in class org.apache.log4j.Priority +
Return the syslog equivalent of this priority as an integer. +
getThreadContextInstance() - +Static method in class org.slf4j.profiler.ProfilerRegistry +
  +
getThreshold() - +Method in interface org.apache.log4j.spi.LoggerRepository +
Get the repository-wide threshold. +
getThrowable() - +Method in class org.slf4j.helpers.FormattingTuple +
  +
getXLogger(String) - +Static method in class org.slf4j.ext.XLoggerFactory +
Get an XLogger instance by name. +
getXLogger(Class) - +Static method in class org.slf4j.ext.XLoggerFactory +
Get a new XLogger instance by class. +
+
+

+H

+
+
hasChildren() - +Method in class org.slf4j.helpers.BasicMarker +
  +
hasChildren() - +Method in interface org.slf4j.Marker +
Deprecated. Replaced by Marker.hasReferences(). +
hashCode() - +Method in class org.slf4j.ext.EventData +
Compute the hashCode for this EventData instance. +
hashCode() - +Method in class org.slf4j.helpers.BasicMarker +
  +
hashCode() - +Method in interface org.slf4j.Marker +
Compute the hash code based on the name of this marker. +
HASHTABLE_IMPLEMENTATION_PROPERTY - +Static variable in class org.apache.commons.logging.LogFactory +
+ Setting this system property value allows the Hashtable used + to store classloaders to be substituted by an alternative implementation. +
hasMoreElements() - +Method in class org.apache.log4j.helpers.NullEnumeration +
  +
hasReferences() - +Method in class org.slf4j.helpers.BasicMarker +
  +
hasReferences() - +Method in interface org.slf4j.Marker +
Does this marker have any references? +
HierarchyEventListener - Interface in org.apache.log4j.spi
Listen to events occuring within a Hierarchy.
+
+

+I

+
+
IGNORE - +Static variable in class org.slf4j.agent.AgentOptions +
List of class prefixes to ignore when instrumenting. +
ignore(String[]) - +Method in class org.slf4j.instrumentation.LogTransformer.Builder +
  +
ILoggerFactory - Interface in org.slf4j
ILoggerFactory instances manufacture Logger + instances by name.
IMarkerFactory - Interface in org.slf4j
Implementaitons of this interface are used to manufacture Marker + instances.
info(Object) - +Method in class org.apache.commons.logging.impl.NoOpLog +
Do nothing +
info(Object, Throwable) - +Method in class org.apache.commons.logging.impl.NoOpLog +
Do nothing +
info(Object) - +Method in class org.apache.commons.logging.impl.SimpleLog +
+ Log a message with info log level. +
info(Object, Throwable) - +Method in class org.apache.commons.logging.impl.SimpleLog +
+ Log an error with info log level. +
info(Object) - +Method in class org.apache.commons.logging.impl.SLF4JLocationAwareLog +
Converts the input parameter to String and then delegates to the wrapped + org.slf4j.Logger instance. +
info(Object, Throwable) - +Method in class org.apache.commons.logging.impl.SLF4JLocationAwareLog +
Converts the first input parameter to String and then delegates to the + wrapped org.slf4j.Logger instance. +
info(Object) - +Method in class org.apache.commons.logging.impl.SLF4JLog +
Converts the input parameter to String and then delegates to the wrapped + org.slf4j.Logger instance. +
info(Object, Throwable) - +Method in class org.apache.commons.logging.impl.SLF4JLog +
Converts the first input parameter to String and then delegates to the + wrapped org.slf4j.Logger instance. +
info(Object) - +Method in interface org.apache.commons.logging.Log +
Log a message with info log level. +
info(Object, Throwable) - +Method in interface org.apache.commons.logging.Log +
Log an error with info log level. +
info(Object) - +Method in class org.apache.log4j.Category +
Delegates to Logger.info(String) method in SLF4J. +
info(Object, Throwable) - +Method in class org.apache.log4j.Category +
Delegates to Logger.info(String,Throwable) method in + SLF4J. +
INFO - +Static variable in class org.apache.log4j.Level +
The INFO level designates informational messages + that highlight the progress of the application at coarse-grained + level. +
INFO - +Static variable in class org.apache.log4j.Priority +
Deprecated. Use Level.INFO instead. +
info(Enum<?>, Object...) - +Method in class org.slf4j.cal10n.LocLogger +
Log a localized message at the INFO level. +
info(String) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
info(String, Object) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
info(String, Object, Object) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
info(String, Object...) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
info(String, Throwable) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
info(Marker, String) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
info(Marker, String, Object) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
info(Marker, String, Object, Object) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
info(Marker, String, Object...) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
info(Marker, String, Throwable) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
info(Marker, String) - +Method in class org.slf4j.helpers.MarkerIgnoringBase +
  +
info(Marker, String, Object) - +Method in class org.slf4j.helpers.MarkerIgnoringBase +
  +
info(Marker, String, Object, Object) - +Method in class org.slf4j.helpers.MarkerIgnoringBase +
  +
info(Marker, String, Object...) - +Method in class org.slf4j.helpers.MarkerIgnoringBase +
  +
info(Marker, String, Throwable) - +Method in class org.slf4j.helpers.MarkerIgnoringBase +
  +
info(String) - +Method in class org.slf4j.helpers.NOPLogger +
A NOP implementation. +
info(String, Object) - +Method in class org.slf4j.helpers.NOPLogger +
A NOP implementation. +
info(String, Object, Object) - +Method in class org.slf4j.helpers.NOPLogger +
A NOP implementation. +
info(String, Object...) - +Method in class org.slf4j.helpers.NOPLogger +
A NOP implementation. +
info(String, Throwable) - +Method in class org.slf4j.helpers.NOPLogger +
A NOP implementation. +
info(String) - +Method in class org.slf4j.impl.JCLLoggerAdapter +
Delegates to the Log.debug(java.lang.Object) method of the underlying + Log instance. +
info(String, Object) - +Method in class org.slf4j.impl.JCLLoggerAdapter +
Delegates to the Log.info(java.lang.Object) method of the underlying + Log instance. +
info(String, Object, Object) - +Method in class org.slf4j.impl.JCLLoggerAdapter +
Delegates to the Log.info(java.lang.Object) method of the underlying + Log instance. +
info(String, Object...) - +Method in class org.slf4j.impl.JCLLoggerAdapter +
Delegates to the Log.info(java.lang.Object) method of the underlying + Log instance. +
info(String, Throwable) - +Method in class org.slf4j.impl.JCLLoggerAdapter +
Delegates to the Log.info(java.lang.Object, java.lang.Throwable) method of + the underlying Log instance. +
info(String) - +Method in class org.slf4j.impl.JDK14LoggerAdapter +
Log a message object at the INFO level. +
info(String, Object) - +Method in class org.slf4j.impl.JDK14LoggerAdapter +
Log a message at level INFO according to the specified format and argument. +
info(String, Object, Object) - +Method in class org.slf4j.impl.JDK14LoggerAdapter +
Log a message at the INFO level according to the specified format and + arguments. +
info(String, Object...) - +Method in class org.slf4j.impl.JDK14LoggerAdapter +
Log a message at level INFO according to the specified format and + arguments. +
info(String, Throwable) - +Method in class org.slf4j.impl.JDK14LoggerAdapter +
Log an exception (throwable) at the INFO level with an accompanying + message. +
info(String) - +Method in class org.slf4j.impl.Log4jLoggerAdapter +
Log a message object at the INFO level. +
info(String, Object) - +Method in class org.slf4j.impl.Log4jLoggerAdapter +
Log a message at level INFO according to the specified format and argument. +
info(String, Object, Object) - +Method in class org.slf4j.impl.Log4jLoggerAdapter +
Log a message at the INFO level according to the specified format and + arguments. +
info(String, Object...) - +Method in class org.slf4j.impl.Log4jLoggerAdapter +
Log a message at level INFO according to the specified format and + arguments. +
info(String, Throwable) - +Method in class org.slf4j.impl.Log4jLoggerAdapter +
Log an exception (throwable) at the INFO level with an accompanying + message. +
info(String) - +Method in class org.slf4j.impl.SimpleLogger +
A simple implementation which logs messages of level INFO according + to the format outlined above. +
info(String, Object) - +Method in class org.slf4j.impl.SimpleLogger +
Perform single parameter substitution before logging the message of level + INFO according to the format outlined above. +
info(String, Object, Object) - +Method in class org.slf4j.impl.SimpleLogger +
Perform double parameter substitution before logging the message of level + INFO according to the format outlined above. +
info(String, Object...) - +Method in class org.slf4j.impl.SimpleLogger +
Perform double parameter substitution before logging the message of level + INFO according to the format outlined above. +
info(String, Throwable) - +Method in class org.slf4j.impl.SimpleLogger +
Log a message of level INFO, including an exception. +
info(String) - +Method in interface org.slf4j.Logger +
Log a message at the INFO level. +
info(String, Object) - +Method in interface org.slf4j.Logger +
Log a message at the INFO level according to the specified format + and argument. +
info(String, Object, Object) - +Method in interface org.slf4j.Logger +
Log a message at the INFO level according to the specified format + and arguments. +
info(String, Object...) - +Method in interface org.slf4j.Logger +
Log a message at the INFO level according to the specified format + and arguments. +
info(String, Throwable) - +Method in interface org.slf4j.Logger +
Log an exception (throwable) at the INFO level with an + accompanying message. +
info(Marker, String) - +Method in interface org.slf4j.Logger +
Log a message with the specific Marker at the INFO level. +
info(Marker, String, Object) - +Method in interface org.slf4j.Logger +
This method is similar to Logger.info(String, Object) method except that the + marker data is also taken into consideration. +
info(Marker, String, Object, Object) - +Method in interface org.slf4j.Logger +
This method is similar to Logger.info(String, Object, Object) + method except that the marker data is also taken into + consideration. +
info(Marker, String, Object...) - +Method in interface org.slf4j.Logger +
This method is similar to Logger.info(String, Object...) +
info(Marker, String, Throwable) - +Method in interface org.slf4j.Logger +
This method is similar to Logger.info(String, Throwable) method + except that the marker data is also taken into consideration. +
INFO_INT - +Static variable in class org.apache.log4j.Priority +
  +
INFO_INT - +Static variable in interface org.slf4j.spi.LocationAwareLogger +
  +
inherit(Stack) - +Static method in class org.apache.log4j.NDC +
  +
INHERITED - +Static variable in interface org.apache.log4j.spi.Configurator +
Special level value signifying inherited behaviour. +
install() - +Static method in class org.slf4j.bridge.SLF4JBridgeHandler +
Adds a SLF4JBridgeHandler instance to jul's root logger. +
instanceofLAL - +Variable in class org.slf4j.ext.LoggerWrapper +
  +
intValue() - +Method in enum org.slf4j.ext.XLogger.Level +
  +
isDebugEnabled() - +Method in class org.apache.commons.logging.impl.NoOpLog +
Debug is never enabled. +
isDebugEnabled() - +Method in class org.apache.commons.logging.impl.SimpleLog +
+ Are debug messages currently enabled? +
isDebugEnabled() - +Method in class org.apache.commons.logging.impl.SLF4JLocationAwareLog +
Directly delegates to the wrapped org.slf4j.Logger instance. +
isDebugEnabled() - +Method in class org.apache.commons.logging.impl.SLF4JLog +
Directly delegates to the wrapped org.slf4j.Logger instance. +
isDebugEnabled() - +Method in interface org.apache.commons.logging.Log +
Is debug logging currently enabled? +
isDebugEnabled() - +Method in class org.apache.log4j.Category +
Delegates to Logger.isDebugEnabled() method in SLF4J +
isDebugEnabled() - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
isDebugEnabled(Marker) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
isDebugEnabled(Marker) - +Method in class org.slf4j.helpers.MarkerIgnoringBase +
  +
isDebugEnabled() - +Method in class org.slf4j.helpers.NOPLogger +
Always returns false. +
isDebugEnabled() - +Method in class org.slf4j.impl.JCLLoggerAdapter +
Delegates to the Log.isDebugEnabled() method of the underlying + Log instance. +
isDebugEnabled() - +Method in class org.slf4j.impl.JDK14LoggerAdapter +
Is this logger instance enabled for the FINE level? +
isDebugEnabled() - +Method in class org.slf4j.impl.Log4jLoggerAdapter +
Is this logger instance enabled for the DEBUG level? +
isDebugEnabled() - +Method in class org.slf4j.impl.SimpleLogger +
Are debug messages currently enabled? +
isDebugEnabled() - +Method in interface org.slf4j.Logger +
Is the logger instance enabled for the DEBUG level? +
isDebugEnabled(Marker) - +Method in interface org.slf4j.Logger +
Similar to Logger.isDebugEnabled() method except that the + marker data is also taken into account. +
isDiagnosticsEnabled() - +Static method in class org.apache.commons.logging.LogFactory +
This method exists to ensure signature compatibility. +
isDisabled(int) - +Method in interface org.apache.log4j.spi.LoggerRepository +
Returns whether this repository is disabled for a given + level. +
isEnabledFor(Priority) - +Method in class org.apache.log4j.Category +
Determines whether the priority passed as parameter is enabled in the + underlying SLF4J logger. +
isErrorEnabled() - +Method in class org.apache.commons.logging.impl.NoOpLog +
Error is never enabled. +
isErrorEnabled() - +Method in class org.apache.commons.logging.impl.SimpleLog +
+ Are error messages currently enabled? +
isErrorEnabled() - +Method in class org.apache.commons.logging.impl.SLF4JLocationAwareLog +
Directly delegates to the wrapped org.slf4j.Logger instance. +
isErrorEnabled() - +Method in class org.apache.commons.logging.impl.SLF4JLog +
Directly delegates to the wrapped org.slf4j.Logger instance. +
isErrorEnabled() - +Method in interface org.apache.commons.logging.Log +
Is error logging currently enabled? +
isErrorEnabled() - +Method in class org.apache.log4j.Category +
Delegates to Logger.isErrorEnabled() method in SLF4J +
isErrorEnabled() - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
isErrorEnabled(Marker) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
isErrorEnabled(Marker) - +Method in class org.slf4j.helpers.MarkerIgnoringBase +
  +
isErrorEnabled() - +Method in class org.slf4j.helpers.NOPLogger +
A NOP implementation. +
isErrorEnabled() - +Method in class org.slf4j.impl.JCLLoggerAdapter +
Delegates to the Log.isErrorEnabled() method of the underlying + Log instance. +
isErrorEnabled() - +Method in class org.slf4j.impl.JDK14LoggerAdapter +
Is this logger instance enabled for level SEVERE? +
isErrorEnabled() - +Method in class org.slf4j.impl.Log4jLoggerAdapter +
Is this logger instance enabled for level ERROR? +
isErrorEnabled() - +Method in class org.slf4j.impl.SimpleLogger +
Are error messages currently enabled? +
isErrorEnabled() - +Method in interface org.slf4j.Logger +
Is the logger instance enabled for the ERROR level? +
isErrorEnabled(Marker) - +Method in interface org.slf4j.Logger +
Similar to Logger.isErrorEnabled() method except that the + marker data is also taken into consideration. +
isFatalEnabled() - +Method in class org.apache.commons.logging.impl.NoOpLog +
Fatal is never enabled. +
isFatalEnabled() - +Method in class org.apache.commons.logging.impl.SimpleLog +
+ Are fatal messages currently enabled? +
isFatalEnabled() - +Method in class org.apache.commons.logging.impl.SLF4JLocationAwareLog +
Delegates to the isErrorEnabled method of the wrapped + org.slf4j.Logger instance. +
isFatalEnabled() - +Method in class org.apache.commons.logging.impl.SLF4JLog +
Delegates to the isErrorEnabled method of the wrapped + org.slf4j.Logger instance. +
isFatalEnabled() - +Method in interface org.apache.commons.logging.Log +
Is fatal logging currently enabled? +
isGreaterOrEqual(Priority) - +Method in class org.apache.log4j.Priority +
Returns true if this level has a higher or equal + level than the level passed as argument, false + otherwise. +
isInfoEnabled() - +Method in class org.apache.commons.logging.impl.NoOpLog +
Info is never enabled. +
isInfoEnabled() - +Method in class org.apache.commons.logging.impl.SimpleLog +
+ Are info messages currently enabled? +
isInfoEnabled() - +Method in class org.apache.commons.logging.impl.SLF4JLocationAwareLog +
Directly delegates to the wrapped org.slf4j.Logger instance. +
isInfoEnabled() - +Method in class org.apache.commons.logging.impl.SLF4JLog +
Directly delegates to the wrapped org.slf4j.Logger instance. +
isInfoEnabled() - +Method in interface org.apache.commons.logging.Log +
Is info logging currently enabled? +
isInfoEnabled() - +Method in class org.apache.log4j.Category +
Delegates to Logger.isInfoEnabled() method in SLF4J +
isInfoEnabled() - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
isInfoEnabled(Marker) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
isInfoEnabled(Marker) - +Method in class org.slf4j.helpers.MarkerIgnoringBase +
  +
isInfoEnabled() - +Method in class org.slf4j.helpers.NOPLogger +
Always returns false. +
isInfoEnabled() - +Method in class org.slf4j.impl.JCLLoggerAdapter +
Delegates to the Log.isInfoEnabled() method of the underlying + Log instance. +
isInfoEnabled() - +Method in class org.slf4j.impl.JDK14LoggerAdapter +
Is this logger instance enabled for the INFO level? +
isInfoEnabled() - +Method in class org.slf4j.impl.Log4jLoggerAdapter +
Is this logger instance enabled for the INFO level? +
isInfoEnabled() - +Method in class org.slf4j.impl.SimpleLogger +
Are info messages currently enabled? +
isInfoEnabled() - +Method in interface org.slf4j.Logger +
Is the logger instance enabled for the INFO level? +
isInfoEnabled(Marker) - +Method in interface org.slf4j.Logger +
Similar to Logger.isInfoEnabled() method except that the marker + data is also taken into consideration. +
isInstalled() - +Static method in class org.slf4j.bridge.SLF4JBridgeHandler +
Returns true if SLF4JBridgeHandler has been previously installed, returns false otherwise. +
isLevelEnabled(int) - +Method in class org.apache.commons.logging.impl.SimpleLog +
Is the given log level currently enabled? +
isLevelEnabled(int) - +Method in class org.slf4j.impl.SimpleLogger +
Is the given log level currently enabled? +
isTraceEnabled() - +Method in class org.apache.commons.logging.impl.NoOpLog +
Trace is never enabled. +
isTraceEnabled() - +Method in class org.apache.commons.logging.impl.SimpleLog +
+ Are trace messages currently enabled? +
isTraceEnabled() - +Method in class org.apache.commons.logging.impl.SLF4JLocationAwareLog +
Delegates to the isTraceEnabled method of the wrapped + org.slf4j.Logger instance. +
isTraceEnabled() - +Method in class org.apache.commons.logging.impl.SLF4JLog +
Delegates to the isDebugEnabled method of the wrapped + org.slf4j.Logger instance. +
isTraceEnabled() - +Method in interface org.apache.commons.logging.Log +
Is trace logging currently enabled? +
isTraceEnabled() - +Method in class org.apache.log4j.Logger +
Delegates to Logger.isTraceEnabled() + method of SLF4J. +
isTraceEnabled() - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
isTraceEnabled(Marker) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
isTraceEnabled(Marker) - +Method in class org.slf4j.helpers.MarkerIgnoringBase +
  +
isTraceEnabled() - +Method in class org.slf4j.helpers.NOPLogger +
Always returns false. +
isTraceEnabled() - +Method in class org.slf4j.impl.JCLLoggerAdapter +
Delegates to the Log.isTraceEnabled() method of the underlying + Log instance. +
isTraceEnabled() - +Method in class org.slf4j.impl.JDK14LoggerAdapter +
Is this logger instance enabled for the FINEST level? +
isTraceEnabled() - +Method in class org.slf4j.impl.Log4jLoggerAdapter +
Is this logger instance enabled for the TRACE level? +
isTraceEnabled() - +Method in class org.slf4j.impl.SimpleLogger +
Are trace messages currently enabled? +
isTraceEnabled() - +Method in interface org.slf4j.Logger +
Is the logger instance enabled for the TRACE level? +
isTraceEnabled(Marker) - +Method in interface org.slf4j.Logger +
Similar to Logger.isTraceEnabled() method except that the + marker data is also taken into account. +
isWarnEnabled() - +Method in class org.apache.commons.logging.impl.NoOpLog +
Warn is never enabled. +
isWarnEnabled() - +Method in class org.apache.commons.logging.impl.SimpleLog +
+ Are warn messages currently enabled? +
isWarnEnabled() - +Method in class org.apache.commons.logging.impl.SLF4JLocationAwareLog +
Directly delegates to the wrapped org.slf4j.Logger instance. +
isWarnEnabled() - +Method in class org.apache.commons.logging.impl.SLF4JLog +
Directly delegates to the wrapped org.slf4j.Logger instance. +
isWarnEnabled() - +Method in interface org.apache.commons.logging.Log +
Is warn logging currently enabled? +
isWarnEnabled() - +Method in class org.apache.log4j.Category +
Delegates tob Logger.isWarnEnabled() method in SLF4J +
isWarnEnabled() - +Method in class org.slf4j.ext.LoggerWrapper +
  +
isWarnEnabled(Marker) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
isWarnEnabled(Marker) - +Method in class org.slf4j.helpers.MarkerIgnoringBase +
  +
isWarnEnabled() - +Method in class org.slf4j.helpers.NOPLogger +
Always returns false. +
isWarnEnabled() - +Method in class org.slf4j.impl.JCLLoggerAdapter +
Delegates to the Log.isWarnEnabled() method of the underlying + Log instance. +
isWarnEnabled() - +Method in class org.slf4j.impl.JDK14LoggerAdapter +
Is this logger instance enabled for the WARNING level? +
isWarnEnabled() - +Method in class org.slf4j.impl.Log4jLoggerAdapter +
Is this logger instance enabled for the WARN level? +
isWarnEnabled() - +Method in class org.slf4j.impl.SimpleLogger +
Are warn messages currently enabled? +
isWarnEnabled() - +Method in interface org.slf4j.Logger +
Is the logger instance enabled for the WARN level? +
isWarnEnabled(Marker) - +Method in interface org.slf4j.Logger +
Similar to Logger.isWarnEnabled() method except that the marker + data is also taken into consideration. +
iterator() - +Method in class org.slf4j.helpers.BasicMarker +
  +
iterator() - +Method in interface org.slf4j.Marker +
Returns an Iterator which can be used to iterate over the references of this + marker. +
+
+

+J

+
+
JavassistHelper - Class in org.slf4j.instrumentation
Helper methods for Javassist functionality.
JavassistHelper() - +Constructor for class org.slf4j.instrumentation.JavassistHelper +
  +
JCLLoggerAdapter - Class in org.slf4j.impl
A wrapper over org.apache.commons.logging.Log in conformance with the Logger + interface.
JCLLoggerFactory - Class in org.slf4j.impl
JCLLoggerFactory is an implementation of ILoggerFactory returning the + appropriately named JCLLoggerAdapter instance.
JCLLoggerFactory() - +Constructor for class org.slf4j.impl.JCLLoggerFactory +
  +
JDK14LoggerAdapter - Class in org.slf4j.impl
A wrapper over java.util.logging.Logger in + conformity with the Logger interface.
JDK14LoggerFactory - Class in org.slf4j.impl
JDK14LoggerFactory is an implementation of ILoggerFactory returning + the appropriately named JDK14LoggerAdapter instance.
JDK14LoggerFactory() - +Constructor for class org.slf4j.impl.JDK14LoggerFactory +
  +
+
+

+L

+
+
Layout - Class in org.apache.log4j
This class is a minimal implementation of the original Log4J class.
Layout() - +Constructor for class org.apache.log4j.Layout +
  +
Layout - Class in org.apache.log4j.spi
 
Layout() - +Constructor for class org.apache.log4j.spi.Layout +
  +
leftPad(StringBuffer, String, int) - +Static method in class org.slf4j.profiler.SpacePadder +
  +
Level - Class in org.apache.log4j
Defines the minimum set of levels recognized by the system, that is + OFF, FATAL, ERROR, + WARN, INFO, DEBUG and + ALL.
Level(int, String, int) - +Constructor for class org.apache.log4j.Level +
Instantiate a Level object. +
LEVEL - +Static variable in class org.slf4j.agent.AgentOptions +
Indicate the SLF4J level that should be used by the logging statements + added by the agent. +
level(String) - +Method in class org.slf4j.instrumentation.LogTransformer.Builder +
  +
LEVEL_IN_BRACKETS_KEY - +Static variable in class org.slf4j.impl.SimpleLogger +
  +
LINE_SEP - +Static variable in class org.slf4j.profiler.SpacePadder +
  +
LocationAwareLogger - Interface in org.slf4j.spi
An optional interface helping integration with logging systems capable of + extracting location information.
LocLogger - Class in org.slf4j.cal10n
A logger specialized in localized logging.
LocLogger(Logger, IMessageConveyor) - +Constructor for class org.slf4j.cal10n.LocLogger +
  +
LocLoggerFactory - Class in org.slf4j.cal10n
This class is essentially a wrapper around an LoggerFactory producing + LocLogger instances.
LocLoggerFactory(IMessageConveyor) - +Constructor for class org.slf4j.cal10n.LocLoggerFactory +
  +
log(int, Object, Throwable) - +Method in class org.apache.commons.logging.impl.SimpleLog +
+ Do the actual logging. +
Log - Interface in org.apache.commons.logging
A simple logging interface abstracting logging APIs.
log(String, Priority, Object, Throwable) - +Method in class org.apache.log4j.Category +
  +
log(Priority, Object, Throwable) - +Method in class org.apache.log4j.Category +
  +
log(Priority, Object) - +Method in class org.apache.log4j.Category +
  +
log(Marker, String, int, String, Object[], Throwable) - +Method in class org.slf4j.impl.JDK14LoggerAdapter +
  +
log(Marker, String, int, String, Object[], Throwable) - +Method in class org.slf4j.impl.Log4jLoggerAdapter +
  +
log(int, String) - +Method in class org.slf4j.osgi.logservice.impl.LogServiceImpl +
  +
log(int, String, Throwable) - +Method in class org.slf4j.osgi.logservice.impl.LogServiceImpl +
  +
log(ServiceReference, int, String) - +Method in class org.slf4j.osgi.logservice.impl.LogServiceImpl +
  +
log(ServiceReference, int, String, Throwable) - +Method in class org.slf4j.osgi.logservice.impl.LogServiceImpl +
  +
log() - +Method in class org.slf4j.profiler.Profiler +
  +
log() - +Method in class org.slf4j.profiler.StopWatch +
  +
log() - +Method in interface org.slf4j.profiler.TimeInstrument +
If the time instrument has an associated logger, then log information about + this time instrument. +
log(Marker, String, int, String, Object[], Throwable) - +Method in interface org.slf4j.spi.LocationAwareLogger +
Printing method with support for location information. +
Log4jLoggerAdapter - Class in org.slf4j.impl
A wrapper over org.apache.log4j.Logger in + conforming to the Logger interface.
Log4jLoggerFactory - Class in org.slf4j.impl
Log4jLoggerFactory is an implementation of ILoggerFactory returning + the appropriate named Log4jLoggerAdapter instance.
Log4jLoggerFactory() - +Constructor for class org.slf4j.impl.Log4jLoggerFactory +
  +
Log4jMDCAdapter - Class in org.slf4j.impl
 
Log4jMDCAdapter() - +Constructor for class org.slf4j.impl.Log4jMDCAdapter +
  +
LOG_FILE_KEY - +Static variable in class org.slf4j.impl.SimpleLogger +
  +
LOG_KEY_PREFIX - +Static variable in class org.slf4j.impl.SimpleLogger +
  +
LOG_LEVEL_ALL - +Static variable in class org.apache.commons.logging.impl.SimpleLog +
Enable all logging levels +
LOG_LEVEL_DEBUG - +Static variable in class org.apache.commons.logging.impl.SimpleLog +
"Debug" level logging. +
LOG_LEVEL_ERROR - +Static variable in class org.apache.commons.logging.impl.SimpleLog +
"Error" level logging. +
LOG_LEVEL_FATAL - +Static variable in class org.apache.commons.logging.impl.SimpleLog +
"Fatal" level logging. +
LOG_LEVEL_INFO - +Static variable in class org.apache.commons.logging.impl.SimpleLog +
"Info" level logging. +
LOG_LEVEL_OFF - +Static variable in class org.apache.commons.logging.impl.SimpleLog +
Enable no logging levels +
LOG_LEVEL_TRACE - +Static variable in class org.apache.commons.logging.impl.SimpleLog +
"Trace" level logging. +
LOG_LEVEL_WARN - +Static variable in class org.apache.commons.logging.impl.SimpleLog +
"Warn" level logging. +
LOG_PROPERTY - +Static variable in class org.apache.commons.logging.impl.SLF4JLogFactory +
The name of the system property identifying our Logimplementation + class. +
LogConfigurationException - Exception in org.apache.commons.logging
+ An exception that is thrown only if a suitable LogFactory or + Log instance cannot be created by the corresponding factory + methods.
LogConfigurationException() - +Constructor for exception org.apache.commons.logging.LogConfigurationException +
Construct a new exception with null as its detail message. +
LogConfigurationException(String) - +Constructor for exception org.apache.commons.logging.LogConfigurationException +
Construct a new exception with the specified detail message. +
LogConfigurationException(Throwable) - +Constructor for exception org.apache.commons.logging.LogConfigurationException +
Construct a new exception with the specified cause and a derived detail + message. +
LogConfigurationException(String, Throwable) - +Constructor for exception org.apache.commons.logging.LogConfigurationException +
Construct a new exception with the specified detail message and cause. +
logEvent(EventData) - +Static method in class org.slf4j.ext.EventLogger +
Logs the event. +
LogFactory - Class in org.apache.commons.logging
+ Factory for creating Log instances, which always delegates to an + instance of SLF4JLogFactory.
LogFactory() - +Constructor for class org.apache.commons.logging.LogFactory +
Protected constructor that is not available for public use. +
Logger - Class in org.apache.log4j
+ This class is a minimal implementation of the original + org.apache.log4j.Logger class (as found in log4j 1.2) + delegating all calls to a Logger instance.
Logger(String) - +Constructor for class org.apache.log4j.Logger +
  +
logger - +Variable in class org.slf4j.ext.LoggerWrapper +
  +
Logger - Interface in org.slf4j
The org.slf4j.Logger interface is the main user entry point of SLF4J API.
LoggerFactory - Interface in org.apache.log4j.spi
Implement this interface to create new instances of Logger or + a sub-class of Logger.
LoggerFactory - Class in org.slf4j
The LoggerFactory is a utility class producing Loggers for + various logging APIs, most notably for log4j, logback and JDK 1.4 logging.
LoggerFactoryBinder - Interface in org.slf4j.spi
An internal interface which helps the static LoggerFactory + class bind with the appropriate ILoggerFactory instance.
LoggerRepository - Interface in org.apache.log4j.spi
A LoggerRepository is used to create and retrieve + Loggers.
LoggerWrapper - Class in org.slf4j.ext
A helper class wrapping an Logger instance preserving + location information if the wrapped instance supports it.
LoggerWrapper(Logger, String) - +Constructor for class org.slf4j.ext.LoggerWrapper +
  +
LoggingEvent - Class in org.apache.log4j.spi
 
LoggingEvent() - +Constructor for class org.apache.log4j.spi.LoggingEvent +
  +
LogLog - Class in org.apache.log4j.helpers
This class used to output log statements from within the log4j package.
LogLog() - +Constructor for class org.apache.log4j.helpers.LogLog +
  +
LogManager - Class in org.apache.log4j

+ This class is a minimal implementation of the original + org.apache.log4j.LogManager class (as found in log4j 1.2) + delegating all calls to SLF4J.

LogManager() - +Constructor for class org.apache.log4j.LogManager +
  +
logName - +Variable in class org.apache.commons.logging.impl.SimpleLog +
The name of this simple log instance +
logRawDiagnostic(String) - +Static method in class org.apache.commons.logging.LogFactory +
This method exists to ensure signature compatibility. +
LogServiceFactory - Class in org.slf4j.osgi.logservice.impl
LogServiceFactory creates LogService implementations.
LogServiceFactory() - +Constructor for class org.slf4j.osgi.logservice.impl.LogServiceFactory +
  +
LogServiceImpl - Class in org.slf4j.osgi.logservice.impl
LogServiceImpl is a simple OSGi LogService implementation that delegates to a slf4j + Logger.
LogServiceImpl(Bundle) - +Constructor for class org.slf4j.osgi.logservice.impl.LogServiceImpl +
Creates a new instance of LogServiceImpl. +
LogTransformer - Class in org.slf4j.instrumentation
+ LogTransformer does the work of analyzing each class, and if appropriate add + log statements to each method to allow logging entry/exit.
LogTransformer.Builder - Class in org.slf4j.instrumentation
Builder provides a flexible way of configuring some of many options on the + parent class instead of providing many constructors.
LogTransformer.Builder() - +Constructor for class org.slf4j.instrumentation.LogTransformer.Builder +
  +
lookup(String) - +Method in class org.slf4j.ext.MDCStrLookup +
Looks up up a value in the MDC. +
+
+

+M

+
+
makeNewLoggerInstance(String) - +Method in interface org.apache.log4j.spi.LoggerFactory +
  +
Marker - Interface in org.slf4j
Markers are named objects used to enrich log statements.
MarkerFactory - Class in org.slf4j
MarkerFactory is a utility class producing Marker instances as + appropriate for the logging system currently in use.
MarkerFactoryBinder - Interface in org.slf4j.spi
An internal interface which helps the static MarkerFactory + class bind with the appropriate IMarkerFactory instance.
MarkerIgnoringBase - Class in org.slf4j.helpers
This class serves as base for adapters or native implementations of logging systems + lacking Marker support.
MarkerIgnoringBase() - +Constructor for class org.slf4j.helpers.MarkerIgnoringBase +
  +
MDC - Class in org.apache.log4j
 
MDC() - +Constructor for class org.apache.log4j.MDC +
  +
MDC - Class in org.slf4j
This class hides and serves as a substitute for the underlying logging + system's MDC implementation.
MDCAdapter - Interface in org.slf4j.spi
This interface abstracts the service offered by various MDC + implementations.
MDCStrLookup - Class in org.slf4j.ext
This class can be used with the Commons Lang StrSubstitutor to replace + tokens that occur in Strings with their values in the MDC.
MDCStrLookup() - +Constructor for class org.slf4j.ext.MDCStrLookup +
  +
MessageFormatter - Class in org.slf4j.helpers
Formats messages according to very simple substitution rules.
MessageFormatter() - +Constructor for class org.slf4j.helpers.MessageFormatter +
  +
+
+

+N

+
+
name - +Variable in class org.apache.commons.logging.impl.SLF4JLocationAwareLog +
  +
name - +Variable in class org.apache.commons.logging.impl.SLF4JLog +
  +
NDC - Class in org.apache.log4j
A log4j's NDC implemented in terms of SLF4J MDC primitives.
NDC() - +Constructor for class org.apache.log4j.NDC +
  +
NDC - Class in org.slf4j
 
NDC() - +Constructor for class org.slf4j.NDC +
  +
newFactory(String, ClassLoader, ClassLoader) - +Static method in class org.apache.commons.logging.LogFactory +
This method exists to ensure signature compatibility. +
newFactory(String, ClassLoader) - +Static method in class org.apache.commons.logging.LogFactory +
This method exists to ensure signature compatibility. +
nextElement() - +Method in class org.apache.log4j.helpers.NullEnumeration +
  +
NoOpLog - Class in org.apache.commons.logging.impl
+ Trivial implementation of Log that throws away all messages.
NoOpLog() - +Constructor for class org.apache.commons.logging.impl.NoOpLog +
Convenience constructor +
NoOpLog(String) - +Constructor for class org.apache.commons.logging.impl.NoOpLog +
Base constructor +
NOP_LOGGER - +Static variable in class org.slf4j.helpers.NOPLogger +
The unique instance of NOPLogger. +
NOPLogger - Class in org.slf4j.helpers
A direct NOP (no operation) implementation of Logger.
NOPLogger() - +Constructor for class org.slf4j.helpers.NOPLogger +
There is no point in creating multiple instances of NOPLOgger, + except by derived classes, hence the protected access for the constructor. +
NOPLoggerFactory - Class in org.slf4j.helpers
NOPLoggerFactory is an trivial implementation of ILoggerFactory which always returns the unique instance of + NOPLogger.
NOPLoggerFactory() - +Constructor for class org.slf4j.helpers.NOPLoggerFactory +
  +
NOPMDCAdapter - Class in org.slf4j.helpers
This adapter is an empty implementation of the MDCAdapter interface.
NOPMDCAdapter() - +Constructor for class org.slf4j.helpers.NOPMDCAdapter +
  +
NULL - +Static variable in interface org.apache.log4j.spi.Configurator +
Special level signifying inherited behaviour, same as Configurator.INHERITED. +
NULL - +Static variable in class org.slf4j.helpers.FormattingTuple +
  +
nullClassLoaderFactory - +Static variable in class org.apache.commons.logging.LogFactory +
+ This property is not used but preserved here for compatibility. +
NullEnumeration - Class in org.apache.log4j.helpers
An always-empty Enumerator.
+
+

+O

+
+
objectId(Object) - +Static method in class org.apache.commons.logging.LogFactory +
Returns a string that uniquely identifies the specified object, including + its class. +
OFF - +Static variable in class org.apache.log4j.Level +
The OFF has the highest possible rank and is + intended to turn off logging. +
OFF_INT - +Static variable in class org.apache.log4j.Priority +
  +
org.apache.commons.logging - package org.apache.commons.logging
Jakarta Commons Logging implemented over SLF4J.
org.apache.commons.logging.impl - package org.apache.commons.logging.impl
SLF4J based implementation of commons-logging wrapper APIs.
org.apache.log4j - package org.apache.log4j
An rather minimal but sufficient implementation redirecting all + calls to a log4j logger to a logback logger.
org.apache.log4j.helpers - package org.apache.log4j.helpers
 
org.apache.log4j.spi - package org.apache.log4j.spi
 
org.apache.log4j.xml - package org.apache.log4j.xml
 
org.slf4j - package org.slf4j
Core logging interfaces.
org.slf4j.agent - package org.slf4j.agent
"-javaagent" routines for SLF4J.
org.slf4j.bridge - package org.slf4j.bridge
Bridge/route all JUL log records to the SLF4J API.
org.slf4j.cal10n - package org.slf4j.cal10n
SLF4J API extensions
org.slf4j.ext - package org.slf4j.ext
Localized logging using the CAL10N API.
org.slf4j.helpers - package org.slf4j.helpers
Helper classes.
org.slf4j.impl - package org.slf4j.impl
Implementations of core logging interfaces defined in the org.slf4j package.
org.slf4j.instrumentation - package org.slf4j.instrumentation
Java instrumentation routines for SLF4J.
org.slf4j.osgi.logservice.impl - package org.slf4j.osgi.logservice.impl
 
org.slf4j.profiler - package org.slf4j.profiler
Poor man's profiler API
org.slf4j.spi - package org.slf4j.spi
Classes and interfaces which are internal to SLF4J.
+
+

+P

+
+
PatternLayout - Class in org.apache.log4j
This class is a minimal implementation of the original Log4J class.
PatternLayout() - +Constructor for class org.apache.log4j.PatternLayout +
  +
PatternLayout(String) - +Constructor for class org.apache.log4j.PatternLayout +
  +
peek() - +Static method in class org.apache.log4j.NDC +
  +
pop() - +Static method in class org.apache.log4j.NDC +
  +
pop() - +Static method in class org.slf4j.NDC +
  +
PREFIX - +Static variable in class org.apache.log4j.NDC +
  +
PREFIX - +Static variable in class org.slf4j.NDC +
  +
premain(String, Instrumentation) - +Static method in class org.slf4j.agent.AgentPremain +
JavaAgent premain entry point as specified in the MANIFEST.MF file. +
print() - +Method in class org.slf4j.profiler.Profiler +
  +
print() - +Method in class org.slf4j.profiler.StopWatch +
  +
print() - +Method in interface org.slf4j.profiler.TimeInstrument +
Print information about this time instrument on the console. +
Priority - Class in org.apache.log4j
Refrain from using this class directly, use + the Level class instead.
Priority() - +Constructor for class org.apache.log4j.Priority +
Default constructor for deserialization. +
Priority(int, String, int) - +Constructor for class org.apache.log4j.Priority +
Instantiate a level object. +
PRIORITY_KEY - +Static variable in class org.apache.commons.logging.LogFactory +
The name (priority) of the key in the config file used to + specify the priority of that particular config file. +
Profiler - Class in org.slf4j.profiler
A poor man's profiler to measure the time elapsed performing some lengthy + task.
Profiler(String) - +Constructor for class org.slf4j.profiler.Profiler +
  +
ProfilerRegistry - Class in org.slf4j.profiler
A minimalist registry of profilers.
ProfilerRegistry() - +Constructor for class org.slf4j.profiler.ProfilerRegistry +
  +
PropertyConfigurator - Class in org.apache.log4j
An nop implementation of PropertyConfigurator.
PropertyConfigurator() - +Constructor for class org.apache.log4j.PropertyConfigurator +
  +
publish(LogRecord) - +Method in class org.slf4j.bridge.SLF4JBridgeHandler +
Publish a LogRecord. +
push(String) - +Static method in class org.apache.log4j.NDC +
  +
push(String) - +Static method in class org.slf4j.NDC +
  +
put(String, String) - +Static method in class org.apache.log4j.MDC +
  +
put(String, Object) - +Static method in class org.apache.log4j.MDC +
  +
put(String, Serializable) - +Method in class org.slf4j.ext.EventData +
Add arbitrary attributes about the event. +
put(String, String) - +Method in class org.slf4j.helpers.BasicMDCAdapter +
Put a context value (the val parameter) as identified with + the key parameter into the current thread's context map. +
put(String, String) - +Method in class org.slf4j.helpers.NOPMDCAdapter +
  +
put(String, String) - +Method in class org.slf4j.impl.Log4jMDCAdapter +
Put a context value (the val parameter) as identified with + the key parameter into the current thread's context map. +
put(String, String) - +Static method in class org.slf4j.MDC +
Put a diagnostic context value (the val parameter) as identified with the + key parameter into the current thread's diagnostic context map. +
put(Profiler) - +Method in class org.slf4j.profiler.ProfilerRegistry +
  +
put(String, Profiler) - +Method in class org.slf4j.profiler.ProfilerRegistry +
  +
put(String, String) - +Method in interface org.slf4j.spi.MDCAdapter +
Put a context value (the val parameter) as identified with + the key parameter into the current thread's context map. +
putAll(Map<String, Object>) - +Method in class org.slf4j.ext.EventData +
Populate the event data from a Map. +
+
+

+R

+
+
readResolve() - +Method in class org.apache.commons.logging.impl.SLF4JLocationAwareLog +
Replace this instance with a homonymous (same name) logger returned by + LoggerFactory. +
readResolve() - +Method in class org.apache.commons.logging.impl.SLF4JLog +
Replace this instance with a homonymous (same name) logger returned by + LoggerFactory. +
registerWith(ProfilerRegistry) - +Method in class org.slf4j.profiler.Profiler +
  +
release() - +Method in class org.apache.commons.logging.impl.SLF4JLogFactory +
Release any internal references to previously created + Loginstances returned by this factory. +
release() - +Method in class org.apache.commons.logging.LogFactory +
Release any internal references to previously created Loginstances + returned by this factory. +
release(ClassLoader) - +Static method in class org.apache.commons.logging.LogFactory +
Release any internal references to previously created LogFactory + instances that have been associated with the specified class loader (if + any), after calling the instance method release() on each of + them. +
releaseAll() - +Static method in class org.apache.commons.logging.LogFactory +
Release any internal references to previously created LogFactory + instances, after calling the instance method release() on + each of them. +
remove(String) - +Static method in class org.apache.log4j.MDC +
  +
remove() - +Static method in class org.apache.log4j.NDC +
  +
remove(Marker) - +Method in class org.slf4j.helpers.BasicMarker +
  +
remove(String) - +Method in class org.slf4j.helpers.BasicMDCAdapter +
Remove the the context identified by the key parameter. +
remove(String) - +Method in class org.slf4j.helpers.NOPMDCAdapter +
  +
remove(String) - +Method in class org.slf4j.impl.Log4jMDCAdapter +
  +
remove(Marker) - +Method in interface org.slf4j.Marker +
Remove a marker reference. +
remove(String) - +Static method in class org.slf4j.MDC +
Remove the diagnostic context identified by the key parameter using + the underlying system's MDC implementation. +
remove(String) - +Method in interface org.slf4j.spi.MDCAdapter +
Remove the the context identified by the key parameter. +
removeAppenderEvent(Category, Appender) - +Method in interface org.apache.log4j.spi.HierarchyEventListener +
  +
removeAttribute(String) - +Method in class org.apache.commons.logging.impl.SLF4JLogFactory +
Remove any configuration attribute associated with the specified name. +
removeAttribute(String) - +Method in class org.apache.commons.logging.LogFactory +
Remove any configuration attribute associated with the specified name. +
removeHandlersForRootLogger() - +Static method in class org.slf4j.bridge.SLF4JBridgeHandler +
Invoking this method removes/unregisters/detaches all handlers currently attached to the root logger +
render(Object) - +Static method in class org.slf4j.instrumentation.ToStringHelper +
Returns o.toString() unless it throws an exception (which causes it to be + stored in unrenderableClasses) or already was present in + unrenderableClasses. +
report(String, Throwable) - +Static method in class org.slf4j.helpers.Util +
  +
report(String) - +Static method in class org.slf4j.helpers.Util +
  +
REQUESTED_API_VERSION - +Static variable in class org.slf4j.impl.StaticLoggerBinder +
Declare the version of the SLF4J API this implementation is compiled against. +
requiresLayout() - +Method in interface org.apache.log4j.Appender +
Configurators call this method to determine if the appender + requires a layout. +
resetConfiguration() - +Static method in class org.apache.log4j.BasicConfigurator +
  +
resetConfiguration() - +Static method in class org.apache.log4j.LogManager +
Implemented as NOP. +
resetConfiguration() - +Method in interface org.apache.log4j.spi.LoggerRepository +
  +
returnValue(CtBehavior) - +Static method in class org.slf4j.instrumentation.JavassistHelper +
Create a javaassist source snippet which either is empty (for anything + which does not return a value) or a explanatory text around the $_ + javaassist return value variable. +
rightPad(StringBuffer, String, int) - +Static method in class org.slf4j.profiler.SpacePadder +
  +
RollingFileAppender - Class in org.apache.log4j
This class is a minimal implementation of the original Log4J class.
RollingFileAppender() - +Constructor for class org.apache.log4j.RollingFileAppender +
  +
RollingFileAppender(Layout, String) - +Constructor for class org.apache.log4j.RollingFileAppender +
  +
RollingFileAppender(Layout, String, boolean) - +Constructor for class org.apache.log4j.RollingFileAppender +
  +
ROOT_LOGGER_NAME - +Static variable in interface org.slf4j.Logger +
Case insensitive String constant used to retrieve the name of the root logger. +
+
+

+S

+
+
SERVICE_ID - +Static variable in class org.apache.commons.logging.LogFactory +
JDK1.3+ + 'Service Provider' specification. +
setAdditivity(boolean) - +Method in class org.apache.log4j.Category +
  +
setAttribute(String, Object) - +Method in class org.apache.commons.logging.impl.SLF4JLogFactory +
Set the configuration attribute with the specified name. +
setAttribute(String, Object) - +Method in class org.apache.commons.logging.LogFactory +
Set the configuration attribute with the specified name. +
setContextMap(Map) - +Method in class org.slf4j.helpers.BasicMDCAdapter +
  +
setContextMap(Map) - +Method in class org.slf4j.helpers.NOPMDCAdapter +
  +
setContextMap(Map) - +Method in class org.slf4j.impl.Log4jMDCAdapter +
  +
setContextMap(Map) - +Static method in class org.slf4j.MDC +
Set the current thread's context map by first clearing any existing map and + then copying the map passed as parameter. +
setContextMap(Map) - +Method in interface org.slf4j.spi.MDCAdapter +
Set the current thread's context map by first clearing any existing + map and then copying the map passed as parameter. +
setErrorHandler(ErrorHandler) - +Method in interface org.apache.log4j.Appender +
Set the ErrorHandler for this appender. +
setEventDateTime(Date) - +Method in class org.slf4j.ext.EventData +
Set the date and time the event occurred in case it is not the same as when + the event was logged. +
setEventId(String) - +Method in class org.slf4j.ext.EventData +
Set the event identifier. +
setEventType(String) - +Method in class org.slf4j.ext.EventData +
Set the type of event that occurred. +
setInternalDebugging(boolean) - +Static method in class org.apache.log4j.helpers.LogLog +
Allows to enable/disable log4j internal logging. +
setLayout(Layout) - +Method in interface org.apache.log4j.Appender +
Set the Layout for this appender. +
setLevel(int) - +Method in class org.apache.commons.logging.impl.SimpleLog +
+ Set logging level. +
setLogger(Logger) - +Method in class org.slf4j.profiler.Profiler +
  +
setMaxBackupIndex(int) - +Method in class org.apache.log4j.RollingFileAppender +
  +
setMaxDepth(int) - +Static method in class org.apache.log4j.NDC +
  +
setMaximumFileSize(long) - +Method in class org.apache.log4j.RollingFileAppender +
  +
setMessage(String) - +Method in class org.slf4j.ext.EventData +
Set the message text associated with this event. +
setName(String) - +Method in interface org.apache.log4j.Appender +
Set the name of this appender. +
setQuietMode(boolean) - +Static method in class org.apache.log4j.helpers.LogLog +
In quite mode no LogLog generates strictly no output, not even + for errors. +
setThreshold(Level) - +Method in interface org.apache.log4j.spi.LoggerRepository +
Set the repository-wide threshold. +
setThreshold(String) - +Method in interface org.apache.log4j.spi.LoggerRepository +
Another form of LoggerRepository.setThreshold(Level) accepting a string + parameter instead of a Level. +
SHOW_DATE_TIME_KEY - +Static variable in class org.slf4j.impl.SimpleLogger +
  +
SHOW_LOG_NAME_KEY - +Static variable in class org.slf4j.impl.SimpleLogger +
  +
SHOW_SHORT_LOG_NAME_KEY - +Static variable in class org.slf4j.impl.SimpleLogger +
  +
SHOW_THREAD_NAME_KEY - +Static variable in class org.slf4j.impl.SimpleLogger +
  +
showDateTime - +Static variable in class org.apache.commons.logging.impl.SimpleLog +
Include the current time in the log message +
showLogName - +Static variable in class org.apache.commons.logging.impl.SimpleLog +
Include the instance name in the log message? +
showShortName - +Static variable in class org.apache.commons.logging.impl.SimpleLog +
Include the short name ( last component ) of the logger in the log message. +
shutdown() - +Static method in class org.apache.log4j.LogManager +
Implemented as NOP. +
shutdown() - +Method in interface org.apache.log4j.spi.LoggerRepository +
  +
SimpleLog - Class in org.apache.commons.logging.impl
+ Simple implementation of Log that sends all enabled log messages, for all + defined loggers, to System.err.
SimpleLog(String) - +Constructor for class org.apache.commons.logging.impl.SimpleLog +
Construct a simple log with given name. +
SimpleLogger - Class in org.slf4j.impl
Simple implementation of Logger that sends all enabled log messages, + for all defined loggers, to the console (System.err).
SimpleLoggerFactory - Class in org.slf4j.impl
An implementation of ILoggerFactory which always returns + SimpleLogger instances.
SimpleLoggerFactory() - +Constructor for class org.slf4j.impl.SimpleLoggerFactory +
  +
simpleLogProps - +Static variable in class org.apache.commons.logging.impl.SimpleLog +
Properties loaded from simplelog.properties +
SINGLETON - +Static variable in class org.slf4j.impl.StaticMarkerBinder +
The unique instance of this class. +
SINGLETON - +Static variable in class org.slf4j.impl.StaticMDCBinder +
The unique instance of this class. +
SLF4JBridgeHandler - Class in org.slf4j.bridge
Bridge/route all JUL log records to the SLF4J API.
SLF4JBridgeHandler() - +Constructor for class org.slf4j.bridge.SLF4JBridgeHandler +
Initialize this handler. +
SLF4JLocationAwareLog - Class in org.apache.commons.logging.impl
Implementation of org.apache.commons.logging.Log interface which + delegates all processing to a wrapped org.slf4j.Logger + instance.
SLF4JLog - Class in org.apache.commons.logging.impl
Implementation of org.apache.commons.logging.Log interface which + delegates all processing to a wrapped org.slf4j.Logger + instance.
SLF4JLogFactory - Class in org.apache.commons.logging.impl
+ Concrete subclass of LogFactory which always delegates to the + org.slf4j.LoggerFactory class.
SLF4JLogFactory() - +Constructor for class org.apache.commons.logging.impl.SLF4JLogFactory +
Public no-arguments constructor required by the lookup mechanism. +
slf4jLogger - +Variable in class org.apache.log4j.Category +
  +
spacePad(StringBuffer, int) - +Static method in class org.slf4j.profiler.SpacePadder +
Fast space padding method. +
SpacePadder - Class in org.slf4j.profiler
 
SpacePadder() - +Constructor for class org.slf4j.profiler.SpacePadder +
  +
start(BundleContext) - +Method in class org.slf4j.osgi.logservice.impl.Activator +
Implements BundleActivator.start() to register a + LogServiceFactory. +
start(String) - +Method in class org.slf4j.profiler.Profiler +
Starts a child stop watch and stops any previously started time + instruments. +
start(String) - +Method in class org.slf4j.profiler.StopWatch +
  +
start(String) - +Method in interface org.slf4j.profiler.TimeInstrument +
Start tis time instrument. +
startNested(String) - +Method in class org.slf4j.profiler.Profiler +
  +
StaticLoggerBinder - Class in org.slf4j.impl
The binding of LoggerFactory class with an actual instance of + ILoggerFactory is performed using information returned by this class.
StaticMarkerBinder - Class in org.slf4j.impl
The binding of MarkerFactory class with an actual instance of + IMarkerFactory is performed using information returned by this class.
StaticMDCBinder - Class in org.slf4j.impl
This class is only a stub.
stop(BundleContext) - +Method in class org.slf4j.osgi.logservice.impl.Activator +
Implements BundleActivator.stop(). +
stop() - +Method in class org.slf4j.profiler.Profiler +
  +
stop() - +Method in class org.slf4j.profiler.StopWatch +
  +
stop(long) - +Method in class org.slf4j.profiler.StopWatch +
  +
stop() - +Method in interface org.slf4j.profiler.TimeInstrument +
Stop this time instrument. +
StopWatch - Class in org.slf4j.profiler
A very basic @{link TimeInstrument} which can be started and stopped + once and only once.
StopWatch(String) - +Constructor for class org.slf4j.profiler.StopWatch +
  +
subst(String, Properties) - +Static method in class org.apache.log4j.xml.DOMConfigurator +
  +
SubstituteLoggerFactory - Class in org.slf4j.helpers
SubstituteLoggerFactory is an trivial implementation of + ILoggerFactory which always returns the unique instance of NOPLogger.
SubstituteLoggerFactory() - +Constructor for class org.slf4j.helpers.SubstituteLoggerFactory +
  +
SYSTEM_PREFIX - +Static variable in class org.slf4j.impl.SimpleLogger +
All system properties used by SimpleLogger start with this prefix +
systemPrefix - +Static variable in class org.apache.commons.logging.impl.SimpleLog +
All system properties used by SimpleLog start with this +
+
+

+T

+
+
TCCL_KEY - +Static variable in class org.apache.commons.logging.LogFactory +
The name (use_tccl) of the key in the config file used to + specify whether logging classes should be loaded via the thread context + class loader (TCCL), or not. +
throwing(Throwable) - +Method in class org.slf4j.ext.XLogger +
Log an exception being thrown. +
throwing(XLogger.Level, Throwable) - +Method in class org.slf4j.ext.XLogger +
Log an exception being thrown allowing the log level to be specified. +
TIME - +Static variable in class org.slf4j.agent.AgentOptions +
Indicate that the agent should print out "new java.util.Date()" at the time + the option was processed and at shutdown time (using the shutdown hook). +
TimeInstrument - Interface in org.slf4j.profiler
This interface sets the methods that must be implemented by + Profiler and StopWatch classes.
toInt() - +Method in class org.apache.log4j.Priority +
Returns the integer representation of this level. +
toLevel(String) - +Static method in class org.apache.log4j.Level +
Convert the string passed as argument to a level. +
toLevel(int) - +Static method in class org.apache.log4j.Level +
Convert an integer passed as argument to a level. +
toLevel(int, Level) - +Static method in class org.apache.log4j.Level +
Convert an integer passed as argument to a level. +
toLevel(String, Level) - +Static method in class org.apache.log4j.Level +
Convert the string passed as argument to a level. +
toPriority(String) - +Static method in class org.apache.log4j.Priority +
Deprecated. Please use the Level.toLevel(String) method instead. +
toPriority(int) - +Static method in class org.apache.log4j.Priority +
Deprecated. Please use the Level.toLevel(int) method instead. +
toPriority(int, Priority) - +Static method in class org.apache.log4j.Priority +
Deprecated. Please use the Level.toLevel(int, Level) method instead. +
toPriority(String, Priority) - +Static method in class org.apache.log4j.Priority +
Deprecated. Please use the Level.toLevel(String, Level) method instead. +
toString() - +Method in class org.apache.log4j.Priority +
Returns the string representation of this priority. +
toString() - +Method in class org.slf4j.ext.EventData +
Convert the EventData to a String. +
toString() - +Method in enum org.slf4j.ext.XLogger.Level +
  +
toString() - +Method in class org.slf4j.helpers.BasicMarker +
  +
toString() - +Method in class org.slf4j.helpers.MarkerIgnoringBase +
  +
toString() - +Method in class org.slf4j.profiler.Profiler +
  +
toString() - +Method in class org.slf4j.profiler.StopWatch +
  +
ToStringHelper - Class in org.slf4j.instrumentation
 
ToStringHelper() - +Constructor for class org.slf4j.instrumentation.ToStringHelper +
  +
toXML() - +Method in class org.slf4j.ext.EventData +
Serialize all the EventData items into an XML representation. +
toXML(Map<String, Object>) - +Static method in class org.slf4j.ext.EventData +
Serialize all the EventData items into an XML representation. +
trace(Object) - +Method in class org.apache.commons.logging.impl.NoOpLog +
Do nothing +
trace(Object, Throwable) - +Method in class org.apache.commons.logging.impl.NoOpLog +
Do nothing +
trace(Object) - +Method in class org.apache.commons.logging.impl.SimpleLog +
+ Log a message with trace log level. +
trace(Object, Throwable) - +Method in class org.apache.commons.logging.impl.SimpleLog +
+ Log an error with trace log level. +
trace(Object) - +Method in class org.apache.commons.logging.impl.SLF4JLocationAwareLog +
Converts the input parameter to String and then delegates to the debug + method of the wrapped org.slf4j.Logger instance. +
trace(Object, Throwable) - +Method in class org.apache.commons.logging.impl.SLF4JLocationAwareLog +
Converts the first input parameter to String and then delegates to the + debug method of the wrapped org.slf4j.Logger instance. +
trace(Object) - +Method in class org.apache.commons.logging.impl.SLF4JLog +
Converts the input parameter to String and then delegates to the debug + method of the wrapped org.slf4j.Logger instance. +
trace(Object, Throwable) - +Method in class org.apache.commons.logging.impl.SLF4JLog +
Converts the first input parameter to String and then delegates to the + debug method of the wrapped org.slf4j.Logger instance. +
trace(Object) - +Method in interface org.apache.commons.logging.Log +
Log a message with trace log level. +
trace(Object, Throwable) - +Method in interface org.apache.commons.logging.Log +
Log an error with trace log level. +
TRACE - +Static variable in class org.apache.log4j.Level +
The TRACE Level designates finer-grained + informational events than the DEBUGtrace(Object) - +Method in class org.apache.log4j.Logger +
Delegates to Logger.trace(String) method in SLF4J. +
trace(Object, Throwable) - +Method in class org.apache.log4j.Logger +
Delegates to Logger.trace(String,Throwable) + method in SLF4J. +
trace(Enum<?>, Object...) - +Method in class org.slf4j.cal10n.LocLogger +
Log a localized message at the TRACE level. +
trace(String) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
trace(String, Object) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
trace(String, Object, Object) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
trace(String, Object...) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
trace(String, Throwable) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
trace(Marker, String) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
trace(Marker, String, Object) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
trace(Marker, String, Object, Object) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
trace(Marker, String, Object...) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
trace(Marker, String, Throwable) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
trace(Marker, String) - +Method in class org.slf4j.helpers.MarkerIgnoringBase +
  +
trace(Marker, String, Object) - +Method in class org.slf4j.helpers.MarkerIgnoringBase +
  +
trace(Marker, String, Object, Object) - +Method in class org.slf4j.helpers.MarkerIgnoringBase +
  +
trace(Marker, String, Object...) - +Method in class org.slf4j.helpers.MarkerIgnoringBase +
  +
trace(Marker, String, Throwable) - +Method in class org.slf4j.helpers.MarkerIgnoringBase +
  +
trace(String) - +Method in class org.slf4j.helpers.NOPLogger +
A NOP implementation. +
trace(String, Object) - +Method in class org.slf4j.helpers.NOPLogger +
A NOP implementation. +
trace(String, Object, Object) - +Method in class org.slf4j.helpers.NOPLogger +
A NOP implementation. +
trace(String, Object...) - +Method in class org.slf4j.helpers.NOPLogger +
A NOP implementation. +
trace(String, Throwable) - +Method in class org.slf4j.helpers.NOPLogger +
A NOP implementation. +
trace(String) - +Method in class org.slf4j.impl.JCLLoggerAdapter +
Delegates to the Log.trace(java.lang.Object) method of the underlying + Log instance. +
trace(String, Object) - +Method in class org.slf4j.impl.JCLLoggerAdapter +
Delegates to the Log.trace(java.lang.Object) method of the underlying + Log instance. +
trace(String, Object, Object) - +Method in class org.slf4j.impl.JCLLoggerAdapter +
Delegates to the Log.trace(java.lang.Object) method of the underlying + Log instance. +
trace(String, Object...) - +Method in class org.slf4j.impl.JCLLoggerAdapter +
Delegates to the Log.trace(java.lang.Object) method of the underlying + Log instance. +
trace(String, Throwable) - +Method in class org.slf4j.impl.JCLLoggerAdapter +
Delegates to the Log.trace(java.lang.Object, java.lang.Throwable) method of + the underlying Log instance. +
trace(String) - +Method in class org.slf4j.impl.JDK14LoggerAdapter +
Log a message object at level FINEST. +
trace(String, Object) - +Method in class org.slf4j.impl.JDK14LoggerAdapter +
Log a message at level FINEST according to the specified format and + argument. +
trace(String, Object, Object) - +Method in class org.slf4j.impl.JDK14LoggerAdapter +
Log a message at level FINEST according to the specified format and + arguments. +
trace(String, Object...) - +Method in class org.slf4j.impl.JDK14LoggerAdapter +
Log a message at level FINEST according to the specified format and + arguments. +
trace(String, Throwable) - +Method in class org.slf4j.impl.JDK14LoggerAdapter +
Log an exception (throwable) at level FINEST with an accompanying message. +
trace(String) - +Method in class org.slf4j.impl.Log4jLoggerAdapter +
Log a message object at level TRACE. +
trace(String, Object) - +Method in class org.slf4j.impl.Log4jLoggerAdapter +
Log a message at level TRACE according to the specified format and + argument. +
trace(String, Object, Object) - +Method in class org.slf4j.impl.Log4jLoggerAdapter +
Log a message at level TRACE according to the specified format and + arguments. +
trace(String, Object...) - +Method in class org.slf4j.impl.Log4jLoggerAdapter +
Log a message at level TRACE according to the specified format and + arguments. +
trace(String, Throwable) - +Method in class org.slf4j.impl.Log4jLoggerAdapter +
Log an exception (throwable) at level TRACE with an accompanying message. +
trace(String) - +Method in class org.slf4j.impl.SimpleLogger +
A simple implementation which logs messages of level TRACE according + to the format outlined above. +
trace(String, Object) - +Method in class org.slf4j.impl.SimpleLogger +
Perform single parameter substitution before logging the message of level + TRACE according to the format outlined above. +
trace(String, Object, Object) - +Method in class org.slf4j.impl.SimpleLogger +
Perform double parameter substitution before logging the message of level + TRACE according to the format outlined above. +
trace(String, Object...) - +Method in class org.slf4j.impl.SimpleLogger +
Perform double parameter substitution before logging the message of level + TRACE according to the format outlined above. +
trace(String, Throwable) - +Method in class org.slf4j.impl.SimpleLogger +
Log a message of level TRACE, including an exception. +
trace(String) - +Method in interface org.slf4j.Logger +
Log a message at the TRACE level. +
trace(String, Object) - +Method in interface org.slf4j.Logger +
Log a message at the TRACE level according to the specified format + and argument. +
trace(String, Object, Object) - +Method in interface org.slf4j.Logger +
Log a message at the TRACE level according to the specified format + and arguments. +
trace(String, Object...) - +Method in interface org.slf4j.Logger +
Log a message at the TRACE level according to the specified format + and arguments. +
trace(String, Throwable) - +Method in interface org.slf4j.Logger +
Log an exception (throwable) at the TRACE level with an + accompanying message. +
trace(Marker, String) - +Method in interface org.slf4j.Logger +
Log a message with the specific Marker at the TRACE level. +
trace(Marker, String, Object) - +Method in interface org.slf4j.Logger +
This method is similar to Logger.trace(String, Object) method except that the + marker data is also taken into consideration. +
trace(Marker, String, Object, Object) - +Method in interface org.slf4j.Logger +
This method is similar to Logger.trace(String, Object, Object) + method except that the marker data is also taken into + consideration. +
trace(Marker, String, Object...) - +Method in interface org.slf4j.Logger +
This method is similar to Logger.trace(String, Object...) +
trace(Marker, String, Throwable) - +Method in interface org.slf4j.Logger +
This method is similar to Logger.trace(String, Throwable) method except that the + marker data is also taken into consideration. +
TRACE_INT - +Static variable in class org.apache.log4j.Level +
TRACE level integer value. +
TRACE_INT - +Static variable in interface org.slf4j.spi.LocationAwareLogger +
  +
transform(ClassLoader, String, Class<?>, ProtectionDomain, byte[]) - +Method in class org.slf4j.instrumentation.LogTransformer +
  +
+
+

+U

+
+
ungetService(Bundle, ServiceRegistration, Object) - +Method in class org.slf4j.osgi.logservice.impl.LogServiceFactory +
  +
uninstall() - +Static method in class org.slf4j.bridge.SLF4JBridgeHandler +
Removes previously installed SLF4JBridgeHandler instances. +
Util - Class in org.slf4j.helpers
An internal utility class.
Util() - +Constructor for class org.slf4j.helpers.Util +
  +
+
+

+V

+
+
valueOf(String) - +Static method in enum org.slf4j.ext.XLogger.Level +
Returns the enum constant of this type with the specified name. +
valueOf(String) - +Static method in enum org.slf4j.profiler.DurationUnit +
Returns the enum constant of this type with the specified name. +
values() - +Static method in enum org.slf4j.ext.XLogger.Level +
Returns an array containing the constants of this enum type, in +the order they are declared. +
values() - +Static method in enum org.slf4j.profiler.DurationUnit +
Returns an array containing the constants of this enum type, in +the order they are declared. +
VERBOSE - +Static variable in class org.slf4j.agent.AgentOptions +
Indicate that the agent should log actions to System.err, like adding + logging to methods, etc. +
verbose(boolean) - +Method in class org.slf4j.instrumentation.LogTransformer.Builder +
Should LogTransformer be verbose in what it does? +
+
+

+W

+
+
warn(Object) - +Method in class org.apache.commons.logging.impl.NoOpLog +
Do nothing +
warn(Object, Throwable) - +Method in class org.apache.commons.logging.impl.NoOpLog +
Do nothing +
warn(Object) - +Method in class org.apache.commons.logging.impl.SimpleLog +
+ Log a message with warn log level. +
warn(Object, Throwable) - +Method in class org.apache.commons.logging.impl.SimpleLog +
+ Log an error with warn log level. +
warn(Object) - +Method in class org.apache.commons.logging.impl.SLF4JLocationAwareLog +
Converts the input parameter to String and then delegates to the wrapped + org.slf4j.Logger instance. +
warn(Object, Throwable) - +Method in class org.apache.commons.logging.impl.SLF4JLocationAwareLog +
Converts the first input parameter to String and then delegates to the + wrapped org.slf4j.Logger instance. +
warn(Object) - +Method in class org.apache.commons.logging.impl.SLF4JLog +
Converts the input parameter to String and then delegates to the wrapped + org.slf4j.Logger instance. +
warn(Object, Throwable) - +Method in class org.apache.commons.logging.impl.SLF4JLog +
Converts the first input parameter to String and then delegates to the + wrapped org.slf4j.Logger instance. +
warn(Object) - +Method in interface org.apache.commons.logging.Log +
Log a message with warn log level. +
warn(Object, Throwable) - +Method in interface org.apache.commons.logging.Log +
Log an error with warn log level. +
warn(Object) - +Method in class org.apache.log4j.Category +
Delegates to Logger.warn(String) method in SLF4J. +
warn(Object, Throwable) - +Method in class org.apache.log4j.Category +
Delegates to Logger.warn(String,Throwable) method in + SLF4J. +
warn(String) - +Static method in class org.apache.log4j.helpers.LogLog +
This method is used to output log4j internal warning + statements. +
warn(String, Throwable) - +Static method in class org.apache.log4j.helpers.LogLog +
This method is used to output log4j internal warnings. +
WARN - +Static variable in class org.apache.log4j.Level +
The WARN level designates potentially harmful situations. +
WARN - +Static variable in class org.apache.log4j.Priority +
Deprecated. Use Level.WARN instead. +
warn(Enum<?>, Object...) - +Method in class org.slf4j.cal10n.LocLogger +
Log a localized message at the WARN level. +
warn(String) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
warn(String, Object) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
warn(String, Object, Object) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
warn(String, Object...) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
warn(String, Throwable) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
warn(Marker, String) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
warn(Marker, String, Object) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
warn(Marker, String, Object, Object) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
warn(Marker, String, Object...) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
warn(Marker, String, Throwable) - +Method in class org.slf4j.ext.LoggerWrapper +
Delegate to the appropriate method of the underlying logger. +
warn(Marker, String) - +Method in class org.slf4j.helpers.MarkerIgnoringBase +
  +
warn(Marker, String, Object) - +Method in class org.slf4j.helpers.MarkerIgnoringBase +
  +
warn(Marker, String, Object, Object) - +Method in class org.slf4j.helpers.MarkerIgnoringBase +
  +
warn(Marker, String, Object...) - +Method in class org.slf4j.helpers.MarkerIgnoringBase +
  +
warn(Marker, String, Throwable) - +Method in class org.slf4j.helpers.MarkerIgnoringBase +
  +
warn(String) - +Method in class org.slf4j.helpers.NOPLogger +
A NOP implementation. +
warn(String, Object) - +Method in class org.slf4j.helpers.NOPLogger +
A NOP implementation. +
warn(String, Object, Object) - +Method in class org.slf4j.helpers.NOPLogger +
A NOP implementation. +
warn(String, Object...) - +Method in class org.slf4j.helpers.NOPLogger +
A NOP implementation. +
warn(String, Throwable) - +Method in class org.slf4j.helpers.NOPLogger +
A NOP implementation. +
warn(String) - +Method in class org.slf4j.impl.JCLLoggerAdapter +
Delegates to the Log.warn(java.lang.Object) method of the underlying + Log instance. +
warn(String, Object) - +Method in class org.slf4j.impl.JCLLoggerAdapter +
Delegates to the Log.warn(java.lang.Object) method of the underlying + Log instance. +
warn(String, Object, Object) - +Method in class org.slf4j.impl.JCLLoggerAdapter +
Delegates to the Log.warn(java.lang.Object) method of the underlying + Log instance. +
warn(String, Object...) - +Method in class org.slf4j.impl.JCLLoggerAdapter +
Delegates to the Log.warn(java.lang.Object) method of the underlying + Log instance. +
warn(String, Throwable) - +Method in class org.slf4j.impl.JCLLoggerAdapter +
Delegates to the Log.warn(java.lang.Object, java.lang.Throwable) method of + the underlying Log instance. +
warn(String) - +Method in class org.slf4j.impl.JDK14LoggerAdapter +
Log a message object at the WARNING level. +
warn(String, Object) - +Method in class org.slf4j.impl.JDK14LoggerAdapter +
Log a message at the WARNING level according to the specified format and + argument. +
warn(String, Object, Object) - +Method in class org.slf4j.impl.JDK14LoggerAdapter +
Log a message at the WARNING level according to the specified format and + arguments. +
warn(String, Object...) - +Method in class org.slf4j.impl.JDK14LoggerAdapter +
Log a message at level WARNING according to the specified format and + arguments. +
warn(String, Throwable) - +Method in class org.slf4j.impl.JDK14LoggerAdapter +
Log an exception (throwable) at the WARNING level with an accompanying + message. +
warn(String) - +Method in class org.slf4j.impl.Log4jLoggerAdapter +
Log a message object at the WARN level. +
warn(String, Object) - +Method in class org.slf4j.impl.Log4jLoggerAdapter +
Log a message at the WARN level according to the specified format and + argument. +
warn(String, Object, Object) - +Method in class org.slf4j.impl.Log4jLoggerAdapter +
Log a message at the WARN level according to the specified format and + arguments. +
warn(String, Object...) - +Method in class org.slf4j.impl.Log4jLoggerAdapter +
Log a message at level WARN according to the specified format and + arguments. +
warn(String, Throwable) - +Method in class org.slf4j.impl.Log4jLoggerAdapter +
Log an exception (throwable) at the WARN level with an accompanying + message. +
warn(String) - +Method in class org.slf4j.impl.SimpleLogger +
A simple implementation which always logs messages of level WARN according + to the format outlined above. +
warn(String, Object) - +Method in class org.slf4j.impl.SimpleLogger +
Perform single parameter substitution before logging the message of level + WARN according to the format outlined above. +
warn(String, Object, Object) - +Method in class org.slf4j.impl.SimpleLogger +
Perform double parameter substitution before logging the message of level + WARN according to the format outlined above. +
warn(String, Object...) - +Method in class org.slf4j.impl.SimpleLogger +
Perform double parameter substitution before logging the message of level + WARN according to the format outlined above. +
warn(String, Throwable) - +Method in class org.slf4j.impl.SimpleLogger +
Log a message of level WARN, including an exception. +
warn(String) - +Method in interface org.slf4j.Logger +
Log a message at the WARN level. +
warn(String, Object) - +Method in interface org.slf4j.Logger +
Log a message at the WARN level according to the specified format + and argument. +
warn(String, Object...) - +Method in interface org.slf4j.Logger +
Log a message at the WARN level according to the specified format + and arguments. +
warn(String, Object, Object) - +Method in interface org.slf4j.Logger +
Log a message at the WARN level according to the specified format + and arguments. +
warn(String, Throwable) - +Method in interface org.slf4j.Logger +
Log an exception (throwable) at the WARN level with an + accompanying message. +
warn(Marker, String) - +Method in interface org.slf4j.Logger +
Log a message with the specific Marker at the WARN level. +
warn(Marker, String, Object) - +Method in interface org.slf4j.Logger +
This method is similar to Logger.warn(String, Object) method except that the + marker data is also taken into consideration. +
warn(Marker, String, Object, Object) - +Method in interface org.slf4j.Logger +
This method is similar to Logger.warn(String, Object, Object) + method except that the marker data is also taken into + consideration. +
warn(Marker, String, Object...) - +Method in interface org.slf4j.Logger +
This method is similar to Logger.warn(String, Object...) +
warn(Marker, String, Throwable) - +Method in interface org.slf4j.Logger +
This method is similar to Logger.warn(String, Throwable) method + except that the marker data is also taken into consideration. +
WARN_INT - +Static variable in class org.apache.log4j.Priority +
  +
WARN_INT - +Static variable in interface org.slf4j.spi.LocationAwareLogger +
  +
WARN_LEVEL_STRING_KEY - +Static variable in class org.slf4j.impl.SimpleLogger +
  +
write(StringBuffer) - +Method in class org.apache.commons.logging.impl.SimpleLog +
+ Write the content of the message accumulated in the specified + StringBuffer to the appropriate output destination. +
+
+

+X

+
+
X_TRACE_INT - +Static variable in class org.apache.log4j.Level +
  +
XLogger - Class in org.slf4j.ext
A utility that provides standard mechanisms for logging certain kinds of + activities.
XLogger(Logger) - +Constructor for class org.slf4j.ext.XLogger +
Given an underlying logger, construct an XLogger +
XLogger.Level - Enum in org.slf4j.ext
 
XLoggerFactory - Class in org.slf4j.ext
This class is essentially a wrapper around an + LoggerFactory producing XLogger instances.
XLoggerFactory() - +Constructor for class org.slf4j.ext.XLoggerFactory +
  +
+
+A B C D E F G H I J L M N O P R S T U V W X + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/index.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/index.html new file mode 100644 index 0000000..3ae765b --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/index.html @@ -0,0 +1,40 @@ + + + + + + + +SLF4J 1.7.5 API + + + + + + + + + + + +<H2> +Frame Alert</H2> + +<P> +This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. +<BR> +Link to<A HREF="overview-summary.html">Non-frame version.</A> + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/Log.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/Log.html new file mode 100644 index 0000000..6ea15e3 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/Log.html @@ -0,0 +1,654 @@ + + + + + + + +Log (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.apache.commons.logging +
+Interface Log

+
+
All Known Implementing Classes:
NoOpLog, SimpleLog, SLF4JLocationAwareLog, SLF4JLog
+
+
+
+
public interface Log
+ + +

+

A simple logging interface abstracting logging APIs. In order to be + instantiated successfully by LogFactory, classes that implement + this interface must have a constructor that takes a single String + parameter representing the "name" of this Log.

+ +

The six logging levels used by Log are (in order): +

    +
  1. trace (the least serious)
  2. +
  3. debug
  4. +
  5. info
  6. +
  7. warn
  8. +
  9. error
  10. +
  11. fatal (the most serious)
  12. +
+ The mapping of these log levels to the concepts used by the underlying + logging system is implementation dependent. + The implementation should ensure, though, that this ordering behaves + as expected.

+ +

Performance is often a logging concern. + By examining the appropriate property, + a component can avoid expensive operations (producing information + to be logged).

+ +

For example, +

+    if (log.isDebugEnabled()) {
+        ... do something expensive ...
+        log.debug(theResult);
+    }
+ 
+

+ +

Configuration of the underlying logging system will generally be done + external to the Logging APIs, through whatever mechanism is supported by + that system.

+ +

Please note that this interface is identical to that found in JCL 1.1.1.

+

+ +

+

+
Version:
+
$Id: Log.java,v 1.19 2004/06/06 21:16:04 rdonkin Exp $
+
Author:
+
Scott Sanders, Rod Waldhoff
+
+
+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voiddebug(Object message) + +
+           Log a message with debug log level.
+ voiddebug(Object message, + Throwable t) + +
+           Log an error with debug log level.
+ voiderror(Object message) + +
+           Log a message with error log level.
+ voiderror(Object message, + Throwable t) + +
+           Log an error with error log level.
+ voidfatal(Object message) + +
+           Log a message with fatal log level.
+ voidfatal(Object message, + Throwable t) + +
+           Log an error with fatal log level.
+ voidinfo(Object message) + +
+           Log a message with info log level.
+ voidinfo(Object message, + Throwable t) + +
+           Log an error with info log level.
+ booleanisDebugEnabled() + +
+           Is debug logging currently enabled?
+ booleanisErrorEnabled() + +
+           Is error logging currently enabled?
+ booleanisFatalEnabled() + +
+           Is fatal logging currently enabled?
+ booleanisInfoEnabled() + +
+           Is info logging currently enabled?
+ booleanisTraceEnabled() + +
+           Is trace logging currently enabled?
+ booleanisWarnEnabled() + +
+           Is warn logging currently enabled?
+ voidtrace(Object message) + +
+           Log a message with trace log level.
+ voidtrace(Object message, + Throwable t) + +
+           Log an error with trace log level.
+ voidwarn(Object message) + +
+           Log a message with warn log level.
+ voidwarn(Object message, + Throwable t) + +
+           Log an error with warn log level.
+  +

+ + + + + + + + +
+Method Detail
+ +

+isDebugEnabled

+
+boolean isDebugEnabled()
+
+

Is debug logging currently enabled?

+ +

Call this method to prevent having to perform expensive operations + (for example, String concatenation) + when the log level is more than debug.

+

+

+
+
+
+
+ +

+isErrorEnabled

+
+boolean isErrorEnabled()
+
+

Is error logging currently enabled?

+ +

Call this method to prevent having to perform expensive operations + (for example, String concatenation) + when the log level is more than error.

+

+

+
+
+
+
+ +

+isFatalEnabled

+
+boolean isFatalEnabled()
+
+

Is fatal logging currently enabled?

+ +

Call this method to prevent having to perform expensive operations + (for example, String concatenation) + when the log level is more than fatal.

+

+

+
+
+
+
+ +

+isInfoEnabled

+
+boolean isInfoEnabled()
+
+

Is info logging currently enabled?

+ +

Call this method to prevent having to perform expensive operations + (for example, String concatenation) + when the log level is more than info.

+

+

+ +
Returns:
true if info enabled, false otherwise
+
+
+
+ +

+isTraceEnabled

+
+boolean isTraceEnabled()
+
+

Is trace logging currently enabled?

+ +

Call this method to prevent having to perform expensive operations + (for example, String concatenation) + when the log level is more than trace.

+

+

+ +
Returns:
true if trace enabled, false otherwise
+
+
+
+ +

+isWarnEnabled

+
+boolean isWarnEnabled()
+
+

Is warn logging currently enabled?

+ +

Call this method to prevent having to perform expensive operations + (for example, String concatenation) + when the log level is more than warn.

+

+

+
+
+
+
+ +

+trace

+
+void trace(Object message)
+
+

Log a message with trace log level.

+

+

+
Parameters:
message - log this message
+
+
+
+ +

+trace

+
+void trace(Object message,
+           Throwable t)
+
+

Log an error with trace log level.

+

+

+
Parameters:
message - log this message
t - log this cause
+
+
+
+ +

+debug

+
+void debug(Object message)
+
+

Log a message with debug log level.

+

+

+
Parameters:
message - log this message
+
+
+
+ +

+debug

+
+void debug(Object message,
+           Throwable t)
+
+

Log an error with debug log level.

+

+

+
Parameters:
message - log this message
t - log this cause
+
+
+
+ +

+info

+
+void info(Object message)
+
+

Log a message with info log level.

+

+

+
Parameters:
message - log this message
+
+
+
+ +

+info

+
+void info(Object message,
+          Throwable t)
+
+

Log an error with info log level.

+

+

+
Parameters:
message - log this message
t - log this cause
+
+
+
+ +

+warn

+
+void warn(Object message)
+
+

Log a message with warn log level.

+

+

+
Parameters:
message - log this message
+
+
+
+ +

+warn

+
+void warn(Object message,
+          Throwable t)
+
+

Log an error with warn log level.

+

+

+
Parameters:
message - log this message
t - log this cause
+
+
+
+ +

+error

+
+void error(Object message)
+
+

Log a message with error log level.

+

+

+
Parameters:
message - log this message
+
+
+
+ +

+error

+
+void error(Object message,
+           Throwable t)
+
+

Log an error with error log level.

+

+

+
Parameters:
message - log this message
t - log this cause
+
+
+
+ +

+fatal

+
+void fatal(Object message)
+
+

Log a message with fatal log level.

+

+

+
Parameters:
message - log this message
+
+
+
+ +

+fatal

+
+void fatal(Object message,
+           Throwable t)
+
+

Log an error with fatal log level.

+

+

+
Parameters:
message - log this message
t - log this cause
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/LogConfigurationException.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/LogConfigurationException.html new file mode 100644 index 0000000..b310065 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/LogConfigurationException.html @@ -0,0 +1,388 @@ + + + + + + + +LogConfigurationException (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.apache.commons.logging +
+Class LogConfigurationException

+
+java.lang.Object
+  extended by java.lang.Throwable
+      extended by java.lang.Exception
+          extended by java.lang.RuntimeException
+              extended by org.apache.commons.logging.LogConfigurationException
+
+
+
All Implemented Interfaces:
Serializable
+
+
+
+
public class LogConfigurationException
extends RuntimeException
+ + +

+

+ An exception that is thrown only if a suitable LogFactory or + Log instance cannot be created by the corresponding factory + methods. +

+ +

+ In this version of JCL, this exception will never be thrown in practice. + However, it is included here to ensure total compile time and run time + compatibility with the original JCL 1.0.4. +

+ +

+

+
Author:
+
Craig R. McClanahan
+
See Also:
Serialized Form
+
+ +

+ + + + + + + + + + + +
+Field Summary
+protected  Throwablecause + +
+          The underlying cause of this exception.
+  + + + + + + + + + + + + + + + + + + + +
+Constructor Summary
LogConfigurationException() + +
+          Construct a new exception with null as its detail message.
LogConfigurationException(String message) + +
+          Construct a new exception with the specified detail message.
LogConfigurationException(String message, + Throwable cause) + +
+          Construct a new exception with the specified detail message and cause.
LogConfigurationException(Throwable cause) + +
+          Construct a new exception with the specified cause and a derived detail + message.
+  + + + + + + + + + + + +
+Method Summary
+ ThrowablegetCause() + +
+          Return the underlying cause of this exception (if any).
+ + + + + + + +
Methods inherited from class java.lang.Throwable
fillInStackTrace, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Field Detail
+ +

+cause

+
+protected Throwable cause
+
+
The underlying cause of this exception. +

+

+
+
+ + + + + + + + +
+Constructor Detail
+ +

+LogConfigurationException

+
+public LogConfigurationException()
+
+
Construct a new exception with null as its detail message. +

+

+
+ +

+LogConfigurationException

+
+public LogConfigurationException(String message)
+
+
Construct a new exception with the specified detail message. +

+

+
Parameters:
message - The detail message
+
+
+ +

+LogConfigurationException

+
+public LogConfigurationException(Throwable cause)
+
+
Construct a new exception with the specified cause and a derived detail + message. +

+

+
Parameters:
cause - The underlying cause
+
+
+ +

+LogConfigurationException

+
+public LogConfigurationException(String message,
+                                 Throwable cause)
+
+
Construct a new exception with the specified detail message and cause. +

+

+
Parameters:
message - The detail message
cause - The underlying cause
+
+ + + + + + + + +
+Method Detail
+ +

+getCause

+
+public Throwable getCause()
+
+
Return the underlying cause of this exception (if any). +

+

+
Overrides:
getCause in class Throwable
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/LogFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/LogFactory.html new file mode 100644 index 0000000..1dfaa38 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/LogFactory.html @@ -0,0 +1,1082 @@ + + + + + + + +LogFactory (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.apache.commons.logging +
+Class LogFactory

+
+java.lang.Object
+  extended by org.apache.commons.logging.LogFactory
+
+
+
Direct Known Subclasses:
SLF4JLogFactory
+
+
+
+
public abstract class LogFactory
extends Object
+ + +

+

+ Factory for creating Log instances, which always delegates to an + instance of SLF4JLogFactory. + +

+

+ +

+

+
Author:
+
Craig R. McClanahan, Costin Manolache, Richard A. Sitze, Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Field Summary
+static StringDIAGNOSTICS_DEST_PROPERTY + +
+          The name (org.apache.commons.logging.diagnostics.dest) of + the property used to enable internal commons-logging diagnostic output, in + order to get information on what logging implementations are being + discovered, what classloaders they are loaded through, etc.
+protected static Hashtablefactories + +
+          The previously constructed LogFactory instances, keyed by + the ClassLoader with which it was created.
+static StringFACTORY_DEFAULT + +
+          The fully qualified class name of the fallback LogFactory + implementation class to use, if no other can be found.
+static StringFACTORY_PROPERTIES + +
+          The name of the properties file to search for.
+static StringFACTORY_PROPERTY + +
+          The name of the property used to identify the LogFactory implementation + class name.
+static StringHASHTABLE_IMPLEMENTATION_PROPERTY + +
+           + Setting this system property value allows the Hashtable used + to store classloaders to be substituted by an alternative implementation.
+protected static LogFactorynullClassLoaderFactory + +
+           + This property is not used but preserved here for compatibility.
+static StringPRIORITY_KEY + +
+          The name (priority) of the key in the config file used to + specify the priority of that particular config file.
+protected static StringSERVICE_ID + +
+          JDK1.3+ + 'Service Provider' specification.
+static StringTCCL_KEY + +
+          The name (use_tccl) of the key in the config file used to + specify whether logging classes should be loaded via the thread context + class loader (TCCL), or not.
+  + + + + + + + + + + + +
+Constructor Summary
+protected LogFactory() + +
+          Protected constructor that is not available for public use.
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+protected static ObjectcreateFactory(String factoryClass, + ClassLoader classLoader) + +
+          This method exists to ensure signature compatibility.
+protected static ClassLoaderdirectGetContextClassLoader() + +
+          This method exists to ensure signature compatibility.
+abstract  ObjectgetAttribute(String name) + +
+          Return the configuration attribute with the specified name (if any), or + null if there is no such attribute.
+abstract  String[]getAttributeNames() + +
+          Return an array containing the names of all currently defined configuration + attributes.
+protected static ClassLoadergetClassLoader(Class clazz) + +
+          This method exists to ensure signature compatibility.
+protected static ClassLoadergetContextClassLoader() + +
+          This method exists to ensure signature compatibility.
+static LogFactorygetFactory() + +
+           + Construct (if necessary) and return a LogFactory instance, + using the following ordered lookup procedure to determine the name of the + implementation class to be loaded.
+abstract  LoggetInstance(Class clazz) + +
+          Convenience method to derive a name from the specified class and call + getInstance(String) with it.
+abstract  LoggetInstance(String name) + +
+           + Construct (if necessary) and return a Log instance, using + the factory's current set of configuration attributes.
+static LoggetLog(Class clazz) + +
+          Convenience method to return a named logger, without the application having + to care about factories.
+static LoggetLog(String name) + +
+          Convenience method to return a named logger, without the application having + to care about factories.
+protected static booleanisDiagnosticsEnabled() + +
+          This method exists to ensure signature compatibility.
+protected static voidlogRawDiagnostic(String msg) + +
+          This method exists to ensure signature compatibility.
+protected static LogFactorynewFactory(String factoryClass, + ClassLoader classLoader) + +
+          This method exists to ensure signature compatibility.
+protected static LogFactorynewFactory(String factoryClass, + ClassLoader classLoader, + ClassLoader contextClassLoader) + +
+          This method exists to ensure signature compatibility.
+static StringobjectId(Object o) + +
+          Returns a string that uniquely identifies the specified object, including + its class.
+abstract  voidrelease() + +
+          Release any internal references to previously created Loginstances + returned by this factory.
+static voidrelease(ClassLoader classLoader) + +
+          Release any internal references to previously created LogFactory + instances that have been associated with the specified class loader (if + any), after calling the instance method release() on each of + them.
+static voidreleaseAll() + +
+          Release any internal references to previously created LogFactory + instances, after calling the instance method release() on + each of them.
+abstract  voidremoveAttribute(String name) + +
+          Remove any configuration attribute associated with the specified name.
+abstract  voidsetAttribute(String name, + Object value) + +
+          Set the configuration attribute with the specified name.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Field Detail
+ +

+PRIORITY_KEY

+
+public static final String PRIORITY_KEY
+
+
The name (priority) of the key in the config file used to + specify the priority of that particular config file. The associated value + is a floating-point number; higher values take priority over lower values. + +

+ This property is not used but preserved here for compatibility. +

+

+
See Also:
Constant Field Values
+
+
+ +

+TCCL_KEY

+
+public static final String TCCL_KEY
+
+
The name (use_tccl) of the key in the config file used to + specify whether logging classes should be loaded via the thread context + class loader (TCCL), or not. By default, the TCCL is used. + +

+ This property is not used but preserved here for compatibility. +

+

+
See Also:
Constant Field Values
+
+
+ +

+FACTORY_PROPERTY

+
+public static final String FACTORY_PROPERTY
+
+
The name of the property used to identify the LogFactory implementation + class name. +

+ This property is not used but preserved here for compatibility. +

+

+
See Also:
Constant Field Values
+
+
+ +

+FACTORY_DEFAULT

+
+public static final String FACTORY_DEFAULT
+
+
The fully qualified class name of the fallback LogFactory + implementation class to use, if no other can be found. + +

+ This property is not used but preserved here for compatibility. +

+

+
See Also:
Constant Field Values
+
+
+ +

+FACTORY_PROPERTIES

+
+public static final String FACTORY_PROPERTIES
+
+
The name of the properties file to search for. +

+ This property is not used but preserved here for compatibility. +

+

+
See Also:
Constant Field Values
+
+
+ +

+SERVICE_ID

+
+protected static final String SERVICE_ID
+
+
JDK1.3+ + 'Service Provider' specification. +

+ This property is not used but preserved here for compatibility. +

+

+
See Also:
Constant Field Values
+
+
+ +

+DIAGNOSTICS_DEST_PROPERTY

+
+public static final String DIAGNOSTICS_DEST_PROPERTY
+
+
The name (org.apache.commons.logging.diagnostics.dest) of + the property used to enable internal commons-logging diagnostic output, in + order to get information on what logging implementations are being + discovered, what classloaders they are loaded through, etc. + +

+ This property is not used but preserved here for compatibility. +

+

+
See Also:
Constant Field Values
+
+
+ +

+HASHTABLE_IMPLEMENTATION_PROPERTY

+
+public static final String HASHTABLE_IMPLEMENTATION_PROPERTY
+
+

+ Setting this system property value allows the Hashtable used + to store classloaders to be substituted by an alternative implementation. +

+ This property is not used but preserved here for compatibility. +

+

+
See Also:
Constant Field Values
+
+
+ +

+factories

+
+protected static Hashtable factories
+
+
The previously constructed LogFactory instances, keyed by + the ClassLoader with which it was created. + +

+ This property is not used but preserved here for compatibility. +

+

+
+
+
+ +

+nullClassLoaderFactory

+
+protected static LogFactory nullClassLoaderFactory
+
+

+ This property is not used but preserved here for compatibility. +

+

+
+
+ + + + + + + + +
+Constructor Detail
+ +

+LogFactory

+
+protected LogFactory()
+
+
Protected constructor that is not available for public use. +

+

+ + + + + + + + +
+Method Detail
+ +

+getAttribute

+
+public abstract Object getAttribute(String name)
+
+
Return the configuration attribute with the specified name (if any), or + null if there is no such attribute. +

+

+
Parameters:
name - Name of the attribute to return +
Returns:
configuration attribute
+
+
+
+ +

+getAttributeNames

+
+public abstract String[] getAttributeNames()
+
+
Return an array containing the names of all currently defined configuration + attributes. If there are no such attributes, a zero length array is + returned. +

+

+ +
Returns:
names of all currently defined configuration attributes
+
+
+
+ +

+getInstance

+
+public abstract Log getInstance(Class clazz)
+                         throws LogConfigurationException
+
+
Convenience method to derive a name from the specified class and call + getInstance(String) with it. +

+

+
Parameters:
clazz - Class for which a suitable Log name will be derived +
Throws: +
LogConfigurationException - if a suitable Log instance cannot be + returned
+
+
+
+ +

+getInstance

+
+public abstract Log getInstance(String name)
+                         throws LogConfigurationException
+
+

+ Construct (if necessary) and return a Log instance, using + the factory's current set of configuration attributes. +

+ +

+ NOTE - Depending upon the implementation of the + LogFactory you are using, the Log instance + you are returned may or may not be local to the current application, and + may or may not be returned again on a subsequent call with the same name + argument. +

+

+

+
Parameters:
name - Logical name of the Log instance to be + returned (the meaning of this name is only known to the + underlying logging implementation that is being wrapped) +
Throws: +
LogConfigurationException - if a suitable Log instance cannot be + returned
+
+
+
+ +

+release

+
+public abstract void release()
+
+
Release any internal references to previously created Loginstances + returned by this factory. This is useful in environments like servlet + containers, which implement application reloading by throwing away a + ClassLoader. Dangling references to objects in that class loader would + prevent garbage collection. +

+

+
+
+
+
+ +

+removeAttribute

+
+public abstract void removeAttribute(String name)
+
+
Remove any configuration attribute associated with the specified name. If + there is no such attribute, no action is taken. +

+

+
Parameters:
name - Name of the attribute to remove
+
+
+
+ +

+setAttribute

+
+public abstract void setAttribute(String name,
+                                  Object value)
+
+
Set the configuration attribute with the specified name. Calling this with + a null value is equivalent to calling + removeAttribute(name). +

+

+
Parameters:
name - Name of the attribute to set
value - Value of the attribute to set, or null to + remove any setting for this attribute
+
+
+
+ +

+getFactory

+
+public static LogFactory getFactory()
+                             throws LogConfigurationException
+
+

+ Construct (if necessary) and return a LogFactory instance, + using the following ordered lookup procedure to determine the name of the + implementation class to be loaded. +

+
    +
  • The org.apache.commons.logging.LogFactory system + property.
  • +
  • The JDK 1.3 Service Discovery mechanism
  • +
  • Use the properties file commons-logging.properties + file, if found in the class path of this class. The configuration file is + in standard java.util.Properties format and contains the + fully qualified name of the implementation class with the key being the + system property defined above.
  • +
  • Fall back to a default implementation class ( + org.apache.commons.logging.impl.SLF4FLogFactory).
  • +
+ +

+ NOTE- If the properties file method of identifying the + LogFactory implementation class is utilized, all of the + properties defined in this file will be set as configuration attributes on + the corresponding LogFactory instance. +

+

+

+ +
Throws: +
LogConfigurationException - if the implementation class is not available or cannot + be instantiated.
+
+
+
+ +

+getLog

+
+public static Log getLog(Class clazz)
+                  throws LogConfigurationException
+
+
Convenience method to return a named logger, without the application having + to care about factories. +

+

+
Parameters:
clazz - Class from which a log name will be derived +
Throws: +
LogConfigurationException - if a suitable Log instance cannot be + returned
+
+
+
+ +

+getLog

+
+public static Log getLog(String name)
+                  throws LogConfigurationException
+
+
Convenience method to return a named logger, without the application having + to care about factories. +

+

+
Parameters:
name - Logical name of the Log instance to be + returned (the meaning of this name is only known to the + underlying logging implementation that is being wrapped) +
Throws: +
LogConfigurationException - if a suitable Log instance cannot be + returned
+
+
+
+ +

+release

+
+public static void release(ClassLoader classLoader)
+
+
Release any internal references to previously created LogFactory + instances that have been associated with the specified class loader (if + any), after calling the instance method release() on each of + them. +

+

+
Parameters:
classLoader - ClassLoader for which to release the LogFactory
+
+
+
+ +

+releaseAll

+
+public static void releaseAll()
+
+
Release any internal references to previously created LogFactory + instances, after calling the instance method release() on + each of them. This is useful in environments like servlet containers, which + implement application reloading by throwing away a ClassLoader. Dangling + references to objects in that class loader would prevent garbage + collection. +

+

+
+
+
+
+ +

+objectId

+
+public static String objectId(Object o)
+
+
Returns a string that uniquely identifies the specified object, including + its class. +

+ The returned string is of form "classname@hashcode", ie is the same as the + return value of the Object.toString() method, but works even when the + specified object's class has overidden the toString method. +

+

+
Parameters:
o - may be null. +
Returns:
a string of form classname@hashcode, or "null" if param o is null.
Since:
+
1.1
+
+
+
+
+ +

+createFactory

+
+protected static Object createFactory(String factoryClass,
+                                      ClassLoader classLoader)
+
+
This method exists to ensure signature compatibility. +

+

+
+
+
+
+ +

+directGetContextClassLoader

+
+protected static ClassLoader directGetContextClassLoader()
+
+
This method exists to ensure signature compatibility. +

+

+
+
+
+
+ +

+getContextClassLoader

+
+protected static ClassLoader getContextClassLoader()
+                                            throws LogConfigurationException
+
+
This method exists to ensure signature compatibility. +

+

+ +
Throws: +
LogConfigurationException
+
+
+
+ +

+getClassLoader

+
+protected static ClassLoader getClassLoader(Class clazz)
+
+
This method exists to ensure signature compatibility. +

+

+
+
+
+
+ +

+isDiagnosticsEnabled

+
+protected static boolean isDiagnosticsEnabled()
+
+
This method exists to ensure signature compatibility. +

+

+
+
+
+
+ +

+logRawDiagnostic

+
+protected static void logRawDiagnostic(String msg)
+
+
This method exists to ensure signature compatibility. +

+

+
+
+
+
+ +

+newFactory

+
+protected static LogFactory newFactory(String factoryClass,
+                                       ClassLoader classLoader,
+                                       ClassLoader contextClassLoader)
+
+
This method exists to ensure signature compatibility. +

+

+
+
+
+
+ +

+newFactory

+
+protected static LogFactory newFactory(String factoryClass,
+                                       ClassLoader classLoader)
+
+
This method exists to ensure signature compatibility. +

+

+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/class-use/Log.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/class-use/Log.html new file mode 100644 index 0000000..7d682fd --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/class-use/Log.html @@ -0,0 +1,297 @@ + + + + + + + +Uses of Interface org.apache.commons.logging.Log (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Interface
org.apache.commons.logging.Log

+
+ + + + + + + + + + + + + +
+Packages that use Log
org.apache.commons.loggingJakarta Commons Logging implemented over SLF4J. 
org.apache.commons.logging.implSLF4J based implementation of commons-logging wrapper APIs. 
+  +

+ + + + + +
+Uses of Log in org.apache.commons.logging
+  +

+ + + + + + + + + + + + + + + + + + + + + +
Methods in org.apache.commons.logging that return Log
+abstract  LogLogFactory.getInstance(Class clazz) + +
+          Convenience method to derive a name from the specified class and call + getInstance(String) with it.
+abstract  LogLogFactory.getInstance(String name) + +
+           + Construct (if necessary) and return a Log instance, using + the factory's current set of configuration attributes.
+static LogLogFactory.getLog(Class clazz) + +
+          Convenience method to return a named logger, without the application having + to care about factories.
+static LogLogFactory.getLog(String name) + +
+          Convenience method to return a named logger, without the application having + to care about factories.
+  +

+ + + + + +
+Uses of Log in org.apache.commons.logging.impl
+  +

+ + + + + + + + + + + + + + + + + + + + + +
Classes in org.apache.commons.logging.impl that implement Log
+ classNoOpLog + +
+           + Trivial implementation of Log that throws away all messages.
+ classSimpleLog + +
+           + Simple implementation of Log that sends all enabled log messages, for all + defined loggers, to System.err.
+ classSLF4JLocationAwareLog + +
+          Implementation of org.apache.commons.logging.Log interface which + delegates all processing to a wrapped org.slf4j.Logger + instance.
+ classSLF4JLog + +
+          Implementation of org.apache.commons.logging.Log interface which + delegates all processing to a wrapped org.slf4j.Logger + instance.
+  +

+ + + + + + + + + + + + + +
Methods in org.apache.commons.logging.impl that return Log
+ LogSLF4JLogFactory.getInstance(Class clazz) + +
+          Convenience method to derive a name from the specified class and call + getInstance(String) with it.
+ LogSLF4JLogFactory.getInstance(String name) + +
+           + Construct (if necessary) and return a Log instance, using + the factory's current set of configuration attributes.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/class-use/LogConfigurationException.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/class-use/LogConfigurationException.html new file mode 100644 index 0000000..8658ecf --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/class-use/LogConfigurationException.html @@ -0,0 +1,269 @@ + + + + + + + +Uses of Class org.apache.commons.logging.LogConfigurationException (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.apache.commons.logging.LogConfigurationException

+
+ + + + + + + + + + + + + +
+Packages that use LogConfigurationException
org.apache.commons.loggingJakarta Commons Logging implemented over SLF4J. 
org.apache.commons.logging.implSLF4J based implementation of commons-logging wrapper APIs. 
+  +

+ + + + + +
+Uses of LogConfigurationException in org.apache.commons.logging
+  +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Methods in org.apache.commons.logging that throw LogConfigurationException
+protected static ClassLoaderLogFactory.getContextClassLoader() + +
+          This method exists to ensure signature compatibility.
+static LogFactoryLogFactory.getFactory() + +
+           + Construct (if necessary) and return a LogFactory instance, + using the following ordered lookup procedure to determine the name of the + implementation class to be loaded.
+abstract  LogLogFactory.getInstance(Class clazz) + +
+          Convenience method to derive a name from the specified class and call + getInstance(String) with it.
+abstract  LogLogFactory.getInstance(String name) + +
+           + Construct (if necessary) and return a Log instance, using + the factory's current set of configuration attributes.
+static LogLogFactory.getLog(Class clazz) + +
+          Convenience method to return a named logger, without the application having + to care about factories.
+static LogLogFactory.getLog(String name) + +
+          Convenience method to return a named logger, without the application having + to care about factories.
+  +

+ + + + + +
+Uses of LogConfigurationException in org.apache.commons.logging.impl
+  +

+ + + + + + + + + + + + + +
Methods in org.apache.commons.logging.impl that throw LogConfigurationException
+ LogSLF4JLogFactory.getInstance(Class clazz) + +
+          Convenience method to derive a name from the specified class and call + getInstance(String) with it.
+ LogSLF4JLogFactory.getInstance(String name) + +
+           + Construct (if necessary) and return a Log instance, using + the factory's current set of configuration attributes.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/class-use/LogFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/class-use/LogFactory.html new file mode 100644 index 0000000..9362449 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/class-use/LogFactory.html @@ -0,0 +1,251 @@ + + + + + + + +Uses of Class org.apache.commons.logging.LogFactory (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.apache.commons.logging.LogFactory

+
+ + + + + + + + + + + + + +
+Packages that use LogFactory
org.apache.commons.loggingJakarta Commons Logging implemented over SLF4J. 
org.apache.commons.logging.implSLF4J based implementation of commons-logging wrapper APIs. 
+  +

+ + + + + +
+Uses of LogFactory in org.apache.commons.logging
+  +

+ + + + + + + + + +
Fields in org.apache.commons.logging declared as LogFactory
+protected static LogFactoryLogFactory.nullClassLoaderFactory + +
+           + This property is not used but preserved here for compatibility.
+  +

+ + + + + + + + + + + + + + + + + +
Methods in org.apache.commons.logging that return LogFactory
+static LogFactoryLogFactory.getFactory() + +
+           + Construct (if necessary) and return a LogFactory instance, + using the following ordered lookup procedure to determine the name of the + implementation class to be loaded.
+protected static LogFactoryLogFactory.newFactory(String factoryClass, + ClassLoader classLoader) + +
+          This method exists to ensure signature compatibility.
+protected static LogFactoryLogFactory.newFactory(String factoryClass, + ClassLoader classLoader, + ClassLoader contextClassLoader) + +
+          This method exists to ensure signature compatibility.
+  +

+ + + + + +
+Uses of LogFactory in org.apache.commons.logging.impl
+  +

+ + + + + + + + + +
Subclasses of LogFactory in org.apache.commons.logging.impl
+ classSLF4JLogFactory + +
+           + Concrete subclass of LogFactory which always delegates to the + org.slf4j.LoggerFactory class.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/NoOpLog.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/NoOpLog.html new file mode 100644 index 0000000..c3e84a4 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/NoOpLog.html @@ -0,0 +1,718 @@ + + + + + + + +NoOpLog (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.apache.commons.logging.impl +
+Class NoOpLog

+
+java.lang.Object
+  extended by org.apache.commons.logging.impl.NoOpLog
+
+
+
All Implemented Interfaces:
Serializable, Log
+
+
+
+
public class NoOpLog
extends Object
implements Log, Serializable
+ + +

+

+ Trivial implementation of Log that throws away all messages. No configurable + system properties are supported. +

+

+ +

+

+
Version:
+
$Id: NoOpLog.java,v 1.8 2004/06/06 21:13:12 rdonkin Exp $
+
Author:
+
Scott Sanders, Rod Waldhoff
+
See Also:
Serialized Form
+
+ +

+ + + + + + + + + + + + + + +
+Constructor Summary
NoOpLog() + +
+          Convenience constructor
NoOpLog(String name) + +
+          Base constructor
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voiddebug(Object message) + +
+          Do nothing
+ voiddebug(Object message, + Throwable t) + +
+          Do nothing
+ voiderror(Object message) + +
+          Do nothing
+ voiderror(Object message, + Throwable t) + +
+          Do nothing
+ voidfatal(Object message) + +
+          Do nothing
+ voidfatal(Object message, + Throwable t) + +
+          Do nothing
+ voidinfo(Object message) + +
+          Do nothing
+ voidinfo(Object message, + Throwable t) + +
+          Do nothing
+ booleanisDebugEnabled() + +
+          Debug is never enabled.
+ booleanisErrorEnabled() + +
+          Error is never enabled.
+ booleanisFatalEnabled() + +
+          Fatal is never enabled.
+ booleanisInfoEnabled() + +
+          Info is never enabled.
+ booleanisTraceEnabled() + +
+          Trace is never enabled.
+ booleanisWarnEnabled() + +
+          Warn is never enabled.
+ voidtrace(Object message) + +
+          Do nothing
+ voidtrace(Object message, + Throwable t) + +
+          Do nothing
+ voidwarn(Object message) + +
+          Do nothing
+ voidwarn(Object message, + Throwable t) + +
+          Do nothing
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+NoOpLog

+
+public NoOpLog()
+
+
Convenience constructor +

+

+
+ +

+NoOpLog

+
+public NoOpLog(String name)
+
+
Base constructor +

+

+ + + + + + + + +
+Method Detail
+ +

+trace

+
+public void trace(Object message)
+
+
Do nothing +

+

+
Specified by:
trace in interface Log
+
+
+
Parameters:
message - log this message
+
+
+
+ +

+trace

+
+public void trace(Object message,
+                  Throwable t)
+
+
Do nothing +

+

+
Specified by:
trace in interface Log
+
+
+
Parameters:
message - log this message
t - log this cause
+
+
+
+ +

+debug

+
+public void debug(Object message)
+
+
Do nothing +

+

+
Specified by:
debug in interface Log
+
+
+
Parameters:
message - log this message
+
+
+
+ +

+debug

+
+public void debug(Object message,
+                  Throwable t)
+
+
Do nothing +

+

+
Specified by:
debug in interface Log
+
+
+
Parameters:
message - log this message
t - log this cause
+
+
+
+ +

+info

+
+public void info(Object message)
+
+
Do nothing +

+

+
Specified by:
info in interface Log
+
+
+
Parameters:
message - log this message
+
+
+
+ +

+info

+
+public void info(Object message,
+                 Throwable t)
+
+
Do nothing +

+

+
Specified by:
info in interface Log
+
+
+
Parameters:
message - log this message
t - log this cause
+
+
+
+ +

+warn

+
+public void warn(Object message)
+
+
Do nothing +

+

+
Specified by:
warn in interface Log
+
+
+
Parameters:
message - log this message
+
+
+
+ +

+warn

+
+public void warn(Object message,
+                 Throwable t)
+
+
Do nothing +

+

+
Specified by:
warn in interface Log
+
+
+
Parameters:
message - log this message
t - log this cause
+
+
+
+ +

+error

+
+public void error(Object message)
+
+
Do nothing +

+

+
Specified by:
error in interface Log
+
+
+
Parameters:
message - log this message
+
+
+
+ +

+error

+
+public void error(Object message,
+                  Throwable t)
+
+
Do nothing +

+

+
Specified by:
error in interface Log
+
+
+
Parameters:
message - log this message
t - log this cause
+
+
+
+ +

+fatal

+
+public void fatal(Object message)
+
+
Do nothing +

+

+
Specified by:
fatal in interface Log
+
+
+
Parameters:
message - log this message
+
+
+
+ +

+fatal

+
+public void fatal(Object message,
+                  Throwable t)
+
+
Do nothing +

+

+
Specified by:
fatal in interface Log
+
+
+
Parameters:
message - log this message
t - log this cause
+
+
+
+ +

+isDebugEnabled

+
+public final boolean isDebugEnabled()
+
+
Debug is never enabled. +

+

+
Specified by:
isDebugEnabled in interface Log
+
+
+ +
Returns:
false
+
+
+
+ +

+isErrorEnabled

+
+public final boolean isErrorEnabled()
+
+
Error is never enabled. +

+

+
Specified by:
isErrorEnabled in interface Log
+
+
+ +
Returns:
false
+
+
+
+ +

+isFatalEnabled

+
+public final boolean isFatalEnabled()
+
+
Fatal is never enabled. +

+

+
Specified by:
isFatalEnabled in interface Log
+
+
+ +
Returns:
false
+
+
+
+ +

+isInfoEnabled

+
+public final boolean isInfoEnabled()
+
+
Info is never enabled. +

+

+
Specified by:
isInfoEnabled in interface Log
+
+
+ +
Returns:
false
+
+
+
+ +

+isTraceEnabled

+
+public final boolean isTraceEnabled()
+
+
Trace is never enabled. +

+

+
Specified by:
isTraceEnabled in interface Log
+
+
+ +
Returns:
false
+
+
+
+ +

+isWarnEnabled

+
+public final boolean isWarnEnabled()
+
+
Warn is never enabled. +

+

+
Specified by:
isWarnEnabled in interface Log
+
+
+ +
Returns:
false
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/SLF4JLocationAwareLog.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/SLF4JLocationAwareLog.html new file mode 100644 index 0000000..0a90a7f --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/SLF4JLocationAwareLog.html @@ -0,0 +1,757 @@ + + + + + + + +SLF4JLocationAwareLog (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.apache.commons.logging.impl +
+Class SLF4JLocationAwareLog

+
+java.lang.Object
+  extended by org.apache.commons.logging.impl.SLF4JLocationAwareLog
+
+
+
All Implemented Interfaces:
Serializable, Log
+
+
+
+
public class SLF4JLocationAwareLog
extends Object
implements Log, Serializable
+ + +

+Implementation of org.apache.commons.logging.Log interface which + delegates all processing to a wrapped org.slf4j.Logger + instance. + +

+ JCL's FATAL level is mapped to ERROR. All other levels map one to one. +

+ +

+

+
Author:
+
Ceki Gülcü
+
See Also:
Serialized Form
+
+ +

+ + + + + + + + + + + +
+Field Summary
+protected  Stringname + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voiddebug(Object message) + +
+          Converts the input parameter to String and then delegates to the wrapped + org.slf4j.Logger instance.
+ voiddebug(Object message, + Throwable t) + +
+          Converts the first input parameter to String and then delegates to the + wrapped org.slf4j.Logger instance.
+ voiderror(Object message) + +
+          Converts the input parameter to String and then delegates to the wrapped + org.slf4j.Logger instance.
+ voiderror(Object message, + Throwable t) + +
+          Converts the first input parameter to String and then delegates to the + wrapped org.slf4j.Logger instance.
+ voidfatal(Object message) + +
+          Converts the input parameter to String and then delegates to the error + method of the wrapped org.slf4j.Logger instance.
+ voidfatal(Object message, + Throwable t) + +
+          Converts the first input parameter to String and then delegates to the + error method of the wrapped org.slf4j.Logger instance.
+ voidinfo(Object message) + +
+          Converts the input parameter to String and then delegates to the wrapped + org.slf4j.Logger instance.
+ voidinfo(Object message, + Throwable t) + +
+          Converts the first input parameter to String and then delegates to the + wrapped org.slf4j.Logger instance.
+ booleanisDebugEnabled() + +
+          Directly delegates to the wrapped org.slf4j.Logger instance.
+ booleanisErrorEnabled() + +
+          Directly delegates to the wrapped org.slf4j.Logger instance.
+ booleanisFatalEnabled() + +
+          Delegates to the isErrorEnabled method of the wrapped + org.slf4j.Logger instance.
+ booleanisInfoEnabled() + +
+          Directly delegates to the wrapped org.slf4j.Logger instance.
+ booleanisTraceEnabled() + +
+          Delegates to the isTraceEnabled method of the wrapped + org.slf4j.Logger instance.
+ booleanisWarnEnabled() + +
+          Directly delegates to the wrapped org.slf4j.Logger instance.
+protected  ObjectreadResolve() + +
+          Replace this instance with a homonymous (same name) logger returned by + LoggerFactory.
+ voidtrace(Object message) + +
+          Converts the input parameter to String and then delegates to the debug + method of the wrapped org.slf4j.Logger instance.
+ voidtrace(Object message, + Throwable t) + +
+          Converts the first input parameter to String and then delegates to the + debug method of the wrapped org.slf4j.Logger instance.
+ voidwarn(Object message) + +
+          Converts the input parameter to String and then delegates to the wrapped + org.slf4j.Logger instance.
+ voidwarn(Object message, + Throwable t) + +
+          Converts the first input parameter to String and then delegates to the + wrapped org.slf4j.Logger instance.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Field Detail
+ +

+name

+
+protected String name
+
+
+
+
+ + + + + + + + +
+Method Detail
+ +

+isTraceEnabled

+
+public boolean isTraceEnabled()
+
+
Delegates to the isTraceEnabled method of the wrapped + org.slf4j.Logger instance. +

+

+
Specified by:
isTraceEnabled in interface Log
+
+
+ +
Returns:
true if trace enabled, false otherwise
+
+
+
+ +

+isDebugEnabled

+
+public boolean isDebugEnabled()
+
+
Directly delegates to the wrapped org.slf4j.Logger instance. +

+

+
Specified by:
isDebugEnabled in interface Log
+
+
+
+
+
+
+ +

+isInfoEnabled

+
+public boolean isInfoEnabled()
+
+
Directly delegates to the wrapped org.slf4j.Logger instance. +

+

+
Specified by:
isInfoEnabled in interface Log
+
+
+ +
Returns:
true if info enabled, false otherwise
+
+
+
+ +

+isWarnEnabled

+
+public boolean isWarnEnabled()
+
+
Directly delegates to the wrapped org.slf4j.Logger instance. +

+

+
Specified by:
isWarnEnabled in interface Log
+
+
+
+
+
+
+ +

+isErrorEnabled

+
+public boolean isErrorEnabled()
+
+
Directly delegates to the wrapped org.slf4j.Logger instance. +

+

+
Specified by:
isErrorEnabled in interface Log
+
+
+
+
+
+
+ +

+isFatalEnabled

+
+public boolean isFatalEnabled()
+
+
Delegates to the isErrorEnabled method of the wrapped + org.slf4j.Logger instance. +

+

+
Specified by:
isFatalEnabled in interface Log
+
+
+
+
+
+
+ +

+trace

+
+public void trace(Object message)
+
+
Converts the input parameter to String and then delegates to the debug + method of the wrapped org.slf4j.Logger instance. +

+

+
Specified by:
trace in interface Log
+
+
+
Parameters:
message - the message to log. Converted to String
+
+
+
+ +

+trace

+
+public void trace(Object message,
+                  Throwable t)
+
+
Converts the first input parameter to String and then delegates to the + debug method of the wrapped org.slf4j.Logger instance. +

+

+
Specified by:
trace in interface Log
+
+
+
Parameters:
message - the message to log. Converted to String
t - the exception to log
+
+
+
+ +

+debug

+
+public void debug(Object message)
+
+
Converts the input parameter to String and then delegates to the wrapped + org.slf4j.Logger instance. +

+

+
Specified by:
debug in interface Log
+
+
+
Parameters:
message - the message to log. Converted to String
+
+
+
+ +

+debug

+
+public void debug(Object message,
+                  Throwable t)
+
+
Converts the first input parameter to String and then delegates to the + wrapped org.slf4j.Logger instance. +

+

+
Specified by:
debug in interface Log
+
+
+
Parameters:
message - the message to log. Converted to String
t - the exception to log
+
+
+
+ +

+info

+
+public void info(Object message)
+
+
Converts the input parameter to String and then delegates to the wrapped + org.slf4j.Logger instance. +

+

+
Specified by:
info in interface Log
+
+
+
Parameters:
message - the message to log. Converted to String
+
+
+
+ +

+info

+
+public void info(Object message,
+                 Throwable t)
+
+
Converts the first input parameter to String and then delegates to the + wrapped org.slf4j.Logger instance. +

+

+
Specified by:
info in interface Log
+
+
+
Parameters:
message - the message to log. Converted to String
t - the exception to log
+
+
+
+ +

+warn

+
+public void warn(Object message)
+
+
Converts the input parameter to String and then delegates to the wrapped + org.slf4j.Logger instance. +

+

+
Specified by:
warn in interface Log
+
+
+
Parameters:
message - the message to log. Converted to String
+
+
+
+ +

+warn

+
+public void warn(Object message,
+                 Throwable t)
+
+
Converts the first input parameter to String and then delegates to the + wrapped org.slf4j.Logger instance. +

+

+
Specified by:
warn in interface Log
+
+
+
Parameters:
message - the message to log. Converted to String
t - the exception to log
+
+
+
+ +

+error

+
+public void error(Object message)
+
+
Converts the input parameter to String and then delegates to the wrapped + org.slf4j.Logger instance. +

+

+
Specified by:
error in interface Log
+
+
+
Parameters:
message - the message to log. Converted to String
+
+
+
+ +

+error

+
+public void error(Object message,
+                  Throwable t)
+
+
Converts the first input parameter to String and then delegates to the + wrapped org.slf4j.Logger instance. +

+

+
Specified by:
error in interface Log
+
+
+
Parameters:
message - the message to log. Converted to String
t - the exception to log
+
+
+
+ +

+fatal

+
+public void fatal(Object message)
+
+
Converts the input parameter to String and then delegates to the error + method of the wrapped org.slf4j.Logger instance. +

+

+
Specified by:
fatal in interface Log
+
+
+
Parameters:
message - the message to log. Converted to String
+
+
+
+ +

+fatal

+
+public void fatal(Object message,
+                  Throwable t)
+
+
Converts the first input parameter to String and then delegates to the + error method of the wrapped org.slf4j.Logger instance. +

+

+
Specified by:
fatal in interface Log
+
+
+
Parameters:
message - the message to log. Converted to String
t - the exception to log
+
+
+
+ +

+readResolve

+
+protected Object readResolve()
+                      throws ObjectStreamException
+
+
Replace this instance with a homonymous (same name) logger returned by + LoggerFactory. Note that this method is only called during deserialization. +

+

+
+
+
+ +
Returns:
logger with same name as returned by LoggerFactory +
Throws: +
ObjectStreamException
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/SLF4JLog.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/SLF4JLog.html new file mode 100644 index 0000000..aa06080 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/SLF4JLog.html @@ -0,0 +1,757 @@ + + + + + + + +SLF4JLog (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.apache.commons.logging.impl +
+Class SLF4JLog

+
+java.lang.Object
+  extended by org.apache.commons.logging.impl.SLF4JLog
+
+
+
All Implemented Interfaces:
Serializable, Log
+
+
+
+
public class SLF4JLog
extends Object
implements Log, Serializable
+ + +

+Implementation of org.apache.commons.logging.Log interface which + delegates all processing to a wrapped org.slf4j.Logger + instance. + +

+ JCL's FATAL level is mapped to ERROR. All other levels map one to one. +

+ +

+

+
Author:
+
Ceki Gülcü
+
See Also:
Serialized Form
+
+ +

+ + + + + + + + + + + +
+Field Summary
+protected  Stringname + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voiddebug(Object message) + +
+          Converts the input parameter to String and then delegates to the wrapped + org.slf4j.Logger instance.
+ voiddebug(Object message, + Throwable t) + +
+          Converts the first input parameter to String and then delegates to the + wrapped org.slf4j.Logger instance.
+ voiderror(Object message) + +
+          Converts the input parameter to String and then delegates to the wrapped + org.slf4j.Logger instance.
+ voiderror(Object message, + Throwable t) + +
+          Converts the first input parameter to String and then delegates to the + wrapped org.slf4j.Logger instance.
+ voidfatal(Object message) + +
+          Converts the input parameter to String and then delegates to the error + method of the wrapped org.slf4j.Logger instance.
+ voidfatal(Object message, + Throwable t) + +
+          Converts the first input parameter to String and then delegates to the + error method of the wrapped org.slf4j.Logger instance.
+ voidinfo(Object message) + +
+          Converts the input parameter to String and then delegates to the wrapped + org.slf4j.Logger instance.
+ voidinfo(Object message, + Throwable t) + +
+          Converts the first input parameter to String and then delegates to the + wrapped org.slf4j.Logger instance.
+ booleanisDebugEnabled() + +
+          Directly delegates to the wrapped org.slf4j.Logger instance.
+ booleanisErrorEnabled() + +
+          Directly delegates to the wrapped org.slf4j.Logger instance.
+ booleanisFatalEnabled() + +
+          Delegates to the isErrorEnabled method of the wrapped + org.slf4j.Logger instance.
+ booleanisInfoEnabled() + +
+          Directly delegates to the wrapped org.slf4j.Logger instance.
+ booleanisTraceEnabled() + +
+          Delegates to the isDebugEnabled method of the wrapped + org.slf4j.Logger instance.
+ booleanisWarnEnabled() + +
+          Directly delegates to the wrapped org.slf4j.Logger instance.
+protected  ObjectreadResolve() + +
+          Replace this instance with a homonymous (same name) logger returned by + LoggerFactory.
+ voidtrace(Object message) + +
+          Converts the input parameter to String and then delegates to the debug + method of the wrapped org.slf4j.Logger instance.
+ voidtrace(Object message, + Throwable t) + +
+          Converts the first input parameter to String and then delegates to the + debug method of the wrapped org.slf4j.Logger instance.
+ voidwarn(Object message) + +
+          Converts the input parameter to String and then delegates to the wrapped + org.slf4j.Logger instance.
+ voidwarn(Object message, + Throwable t) + +
+          Converts the first input parameter to String and then delegates to the + wrapped org.slf4j.Logger instance.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Field Detail
+ +

+name

+
+protected String name
+
+
+
+
+ + + + + + + + +
+Method Detail
+ +

+isDebugEnabled

+
+public boolean isDebugEnabled()
+
+
Directly delegates to the wrapped org.slf4j.Logger instance. +

+

+
Specified by:
isDebugEnabled in interface Log
+
+
+
+
+
+
+ +

+isErrorEnabled

+
+public boolean isErrorEnabled()
+
+
Directly delegates to the wrapped org.slf4j.Logger instance. +

+

+
Specified by:
isErrorEnabled in interface Log
+
+
+
+
+
+
+ +

+isFatalEnabled

+
+public boolean isFatalEnabled()
+
+
Delegates to the isErrorEnabled method of the wrapped + org.slf4j.Logger instance. +

+

+
Specified by:
isFatalEnabled in interface Log
+
+
+
+
+
+
+ +

+isInfoEnabled

+
+public boolean isInfoEnabled()
+
+
Directly delegates to the wrapped org.slf4j.Logger instance. +

+

+
Specified by:
isInfoEnabled in interface Log
+
+
+ +
Returns:
true if info enabled, false otherwise
+
+
+
+ +

+isTraceEnabled

+
+public boolean isTraceEnabled()
+
+
Delegates to the isDebugEnabled method of the wrapped + org.slf4j.Logger instance. +

+

+
Specified by:
isTraceEnabled in interface Log
+
+
+ +
Returns:
true if trace enabled, false otherwise
+
+
+
+ +

+isWarnEnabled

+
+public boolean isWarnEnabled()
+
+
Directly delegates to the wrapped org.slf4j.Logger instance. +

+

+
Specified by:
isWarnEnabled in interface Log
+
+
+
+
+
+
+ +

+trace

+
+public void trace(Object message)
+
+
Converts the input parameter to String and then delegates to the debug + method of the wrapped org.slf4j.Logger instance. +

+

+
Specified by:
trace in interface Log
+
+
+
Parameters:
message - the message to log. Converted to String
+
+
+
+ +

+trace

+
+public void trace(Object message,
+                  Throwable t)
+
+
Converts the first input parameter to String and then delegates to the + debug method of the wrapped org.slf4j.Logger instance. +

+

+
Specified by:
trace in interface Log
+
+
+
Parameters:
message - the message to log. Converted to String
t - the exception to log
+
+
+
+ +

+debug

+
+public void debug(Object message)
+
+
Converts the input parameter to String and then delegates to the wrapped + org.slf4j.Logger instance. +

+

+
Specified by:
debug in interface Log
+
+
+
Parameters:
message - the message to log. Converted to String
+
+
+
+ +

+debug

+
+public void debug(Object message,
+                  Throwable t)
+
+
Converts the first input parameter to String and then delegates to the + wrapped org.slf4j.Logger instance. +

+

+
Specified by:
debug in interface Log
+
+
+
Parameters:
message - the message to log. Converted to String
t - the exception to log
+
+
+
+ +

+info

+
+public void info(Object message)
+
+
Converts the input parameter to String and then delegates to the wrapped + org.slf4j.Logger instance. +

+

+
Specified by:
info in interface Log
+
+
+
Parameters:
message - the message to log. Converted to String
+
+
+
+ +

+info

+
+public void info(Object message,
+                 Throwable t)
+
+
Converts the first input parameter to String and then delegates to the + wrapped org.slf4j.Logger instance. +

+

+
Specified by:
info in interface Log
+
+
+
Parameters:
message - the message to log. Converted to String
t - the exception to log
+
+
+
+ +

+warn

+
+public void warn(Object message)
+
+
Converts the input parameter to String and then delegates to the wrapped + org.slf4j.Logger instance. +

+

+
Specified by:
warn in interface Log
+
+
+
Parameters:
message - the message to log. Converted to String
+
+
+
+ +

+warn

+
+public void warn(Object message,
+                 Throwable t)
+
+
Converts the first input parameter to String and then delegates to the + wrapped org.slf4j.Logger instance. +

+

+
Specified by:
warn in interface Log
+
+
+
Parameters:
message - the message to log. Converted to String
t - the exception to log
+
+
+
+ +

+error

+
+public void error(Object message)
+
+
Converts the input parameter to String and then delegates to the wrapped + org.slf4j.Logger instance. +

+

+
Specified by:
error in interface Log
+
+
+
Parameters:
message - the message to log. Converted to String
+
+
+
+ +

+error

+
+public void error(Object message,
+                  Throwable t)
+
+
Converts the first input parameter to String and then delegates to the + wrapped org.slf4j.Logger instance. +

+

+
Specified by:
error in interface Log
+
+
+
Parameters:
message - the message to log. Converted to String
t - the exception to log
+
+
+
+ +

+fatal

+
+public void fatal(Object message)
+
+
Converts the input parameter to String and then delegates to the error + method of the wrapped org.slf4j.Logger instance. +

+

+
Specified by:
fatal in interface Log
+
+
+
Parameters:
message - the message to log. Converted to String
+
+
+
+ +

+fatal

+
+public void fatal(Object message,
+                  Throwable t)
+
+
Converts the first input parameter to String and then delegates to the + error method of the wrapped org.slf4j.Logger instance. +

+

+
Specified by:
fatal in interface Log
+
+
+
Parameters:
message - the message to log. Converted to String
t - the exception to log
+
+
+
+ +

+readResolve

+
+protected Object readResolve()
+                      throws ObjectStreamException
+
+
Replace this instance with a homonymous (same name) logger returned by + LoggerFactory. Note that this method is only called during deserialization. +

+

+
+
+
+ +
Returns:
logger with same name as returned by LoggerFactory +
Throws: +
ObjectStreamException
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/SLF4JLogFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/SLF4JLogFactory.html new file mode 100644 index 0000000..7e98444 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/SLF4JLogFactory.html @@ -0,0 +1,535 @@ + + + + + + + +SLF4JLogFactory (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.apache.commons.logging.impl +
+Class SLF4JLogFactory

+
+java.lang.Object
+  extended by org.apache.commons.logging.LogFactory
+      extended by org.apache.commons.logging.impl.SLF4JLogFactory
+
+
+
+
public class SLF4JLogFactory
extends LogFactory
+ + +

+

+ Concrete subclass of LogFactory which always delegates to the + org.slf4j.LoggerFactory class. + +

+ This factory generates instances of SLF4JLog. It will remember + previously created instances for the same name, and will return them on + repeated requests to the getInstance() method. + +

+ This implementation ignores any configured attributes. +

+

+ +

+

+
Author:
+
Rod Waldhoff, Craig R. McClanahan, Richard A. Sitze, Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + + + + + +
+Field Summary
+protected  Hashtableattributes + +
+          Configuration attributes.
+static StringLOG_PROPERTY + +
+          The name of the system property identifying our Logimplementation + class.
+ + + + + + + +
Fields inherited from class org.apache.commons.logging.LogFactory
DIAGNOSTICS_DEST_PROPERTY, factories, FACTORY_DEFAULT, FACTORY_PROPERTIES, FACTORY_PROPERTY, HASHTABLE_IMPLEMENTATION_PROPERTY, nullClassLoaderFactory, PRIORITY_KEY, SERVICE_ID, TCCL_KEY
+  + + + + + + + + + + +
+Constructor Summary
SLF4JLogFactory() + +
+          Public no-arguments constructor required by the lookup mechanism.
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ ObjectgetAttribute(String name) + +
+          Return the configuration attribute with the specified name (if any), or + null if there is no such attribute.
+ String[]getAttributeNames() + +
+          Return an array containing the names of all currently defined configuration + attributes.
+ LoggetInstance(Class clazz) + +
+          Convenience method to derive a name from the specified class and call + getInstance(String) with it.
+ LoggetInstance(String name) + +
+           + Construct (if necessary) and return a Log instance, using + the factory's current set of configuration attributes.
+ voidrelease() + +
+          Release any internal references to previously created + Loginstances returned by this factory.
+ voidremoveAttribute(String name) + +
+          Remove any configuration attribute associated with the specified name.
+ voidsetAttribute(String name, + Object value) + +
+          Set the configuration attribute with the specified name.
+ + + + + + + +
Methods inherited from class org.apache.commons.logging.LogFactory
createFactory, directGetContextClassLoader, getClassLoader, getContextClassLoader, getFactory, getLog, getLog, isDiagnosticsEnabled, logRawDiagnostic, newFactory, newFactory, objectId, release, releaseAll
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Field Detail
+ +

+LOG_PROPERTY

+
+public static final String LOG_PROPERTY
+
+
The name of the system property identifying our Logimplementation + class. +

+

+
See Also:
Constant Field Values
+
+
+ +

+attributes

+
+protected Hashtable attributes
+
+
Configuration attributes. +

+

+
+
+ + + + + + + + +
+Constructor Detail
+ +

+SLF4JLogFactory

+
+public SLF4JLogFactory()
+
+
Public no-arguments constructor required by the lookup mechanism. +

+

+ + + + + + + + +
+Method Detail
+ +

+getAttribute

+
+public Object getAttribute(String name)
+
+
Return the configuration attribute with the specified name (if any), or + null if there is no such attribute. +

+

+
Specified by:
getAttribute in class LogFactory
+
+
+
Parameters:
name - Name of the attribute to return +
Returns:
configuration attribute
+
+
+
+ +

+getAttributeNames

+
+public String[] getAttributeNames()
+
+
Return an array containing the names of all currently defined configuration + attributes. If there are no such attributes, a zero length array is + returned. +

+

+
Specified by:
getAttributeNames in class LogFactory
+
+
+ +
Returns:
names of all currently defined configuration attributes
+
+
+
+ +

+getInstance

+
+public Log getInstance(Class clazz)
+                throws LogConfigurationException
+
+
Convenience method to derive a name from the specified class and call + getInstance(String) with it. +

+

+
Specified by:
getInstance in class LogFactory
+
+
+
Parameters:
clazz - Class for which a suitable Log name will be derived +
Throws: +
LogConfigurationException - if a suitable Log instance cannot be returned
+
+
+
+ +

+getInstance

+
+public Log getInstance(String name)
+                throws LogConfigurationException
+
+

+ Construct (if necessary) and return a Log instance, using + the factory's current set of configuration attributes. +

+

+

+
Specified by:
getInstance in class LogFactory
+
+
+
Parameters:
name - Logical name of the Log instance to be returned + (the meaning of this name is only known to the underlying logging + implementation that is being wrapped) +
Throws: +
LogConfigurationException - if a suitable Log instance cannot be returned
+
+
+
+ +

+release

+
+public void release()
+
+
Release any internal references to previously created + Loginstances returned by this factory. + This is useful in environments like servlet containers, which implement + application reloading by throwing away a ClassLoader. Dangling references + to objects in that class loader would prevent garbage collection. +

+

+
Specified by:
release in class LogFactory
+
+
+
+
+
+
+ +

+removeAttribute

+
+public void removeAttribute(String name)
+
+
Remove any configuration attribute associated with the specified name. If + there is no such attribute, no action is taken. +

+

+
Specified by:
removeAttribute in class LogFactory
+
+
+
Parameters:
name - Name of the attribute to remove
+
+
+
+ +

+setAttribute

+
+public void setAttribute(String name,
+                         Object value)
+
+
Set the configuration attribute with the specified name. Calling this with + a null value is equivalent to calling + removeAttribute(name). +

+

+
Specified by:
setAttribute in class LogFactory
+
+
+
Parameters:
name - Name of the attribute to set
value - Value of the attribute to set, or null to remove + any setting for this attribute
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/SimpleLog.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/SimpleLog.html new file mode 100644 index 0000000..d571ae6 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/SimpleLog.html @@ -0,0 +1,1338 @@ + + + + + + + +SimpleLog (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.apache.commons.logging.impl +
+Class SimpleLog

+
+java.lang.Object
+  extended by org.apache.commons.logging.impl.SimpleLog
+
+
+
All Implemented Interfaces:
Serializable, Log
+
+
+
+
public class SimpleLog
extends Object
implements Log, Serializable
+ + +

+

+ Simple implementation of Log that sends all enabled log messages, for all + defined loggers, to System.err. The following system properties are supported + to configure the behavior of this logger: +

+
    +
  • org.apache.commons.logging.simplelog.defaultlog - Default + logging detail level for all instances of SimpleLog. Must be one of ("trace", + "debug", "info", "warn", "error", or "fatal"). If not specified, defaults to + "info".
  • +
  • org.apache.commons.logging.simplelog.log.xxxxx - Logging + detail level for a SimpleLog instance named "xxxxx". Must be one of ("trace", + "debug", "info", "warn", "error", or "fatal"). If not specified, the default + logging detail level is used.
  • +
  • org.apache.commons.logging.simplelog.showlogname - Set to + true if you want the Log instance name to be included in output + messages. Defaults to false.
  • +
  • org.apache.commons.logging.simplelog.showShortLogname - Set + to true if you want the last component of the name to be + included in output messages. Defaults to true.
  • +
  • org.apache.commons.logging.simplelog.showdatetime - Set to + true if you want the current date and time to be included in + output messages. Default is false.
  • +
  • org.apache.commons.logging.simplelog.dateTimeFormat - The + date and time format to be used in the output messages. The pattern + describing the date and time format is the same that is used in + java.text.SimpleDateFormat. If the format is not specified or is + invalid, the default format is used. The default format is + yyyy/MM/dd HH:mm:ss:SSS zzz.
  • +
+ +

+ In addition to looking for system properties with the names specified above, + this implementation also checks for a class loader resource named + "simplelog.properties", and includes any matching definitions + from this resource (if it exists). +

+

+ +

+

+
Version:
+
$Id: SimpleLog.java,v 1.21 2004/06/06 20:47:56 rdonkin Exp $
+
Author:
+
Scott Sanders, Rod Waldhoff, Robert Burrell Donkin
+
See Also:
Serialized Form
+
+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Field Summary
+protected  intcurrentLogLevel + +
+          The current log level
+protected static DateFormatdateFormatter + +
+          Used to format times
+protected static StringdateTimeFormat + +
+          The date and time format to use in the log message
+protected static StringDEFAULT_DATE_TIME_FORMAT + +
+          The default format to use when formating dates
+static intLOG_LEVEL_ALL + +
+          Enable all logging levels
+static intLOG_LEVEL_DEBUG + +
+          "Debug" level logging.
+static intLOG_LEVEL_ERROR + +
+          "Error" level logging.
+static intLOG_LEVEL_FATAL + +
+          "Fatal" level logging.
+static intLOG_LEVEL_INFO + +
+          "Info" level logging.
+static intLOG_LEVEL_OFF + +
+          Enable no logging levels
+static intLOG_LEVEL_TRACE + +
+          "Trace" level logging.
+static intLOG_LEVEL_WARN + +
+          "Warn" level logging.
+protected  StringlogName + +
+          The name of this simple log instance
+protected static booleanshowDateTime + +
+          Include the current time in the log message
+protected static booleanshowLogName + +
+          Include the instance name in the log message?
+protected static booleanshowShortName + +
+          Include the short name ( last component ) of the logger in the log message.
+protected static PropertiessimpleLogProps + +
+          Properties loaded from simplelog.properties
+protected static StringsystemPrefix + +
+          All system properties used by SimpleLog start with this
+  + + + + + + + + + + +
+Constructor Summary
SimpleLog(String name) + +
+          Construct a simple log with given name.
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voiddebug(Object message) + +
+           + Log a message with debug log level.
+ voiddebug(Object message, + Throwable t) + +
+           + Log an error with debug log level.
+ voiderror(Object message) + +
+           + Log a message with error log level.
+ voiderror(Object message, + Throwable t) + +
+           + Log an error with error log level.
+ voidfatal(Object message) + +
+           + Log a message with fatal log level.
+ voidfatal(Object message, + Throwable t) + +
+           + Log an error with fatal log level.
+ intgetLevel() + +
+           + Get logging level.
+ voidinfo(Object message) + +
+           + Log a message with info log level.
+ voidinfo(Object message, + Throwable t) + +
+           + Log an error with info log level.
+ booleanisDebugEnabled() + +
+           + Are debug messages currently enabled?
+ booleanisErrorEnabled() + +
+           + Are error messages currently enabled?
+ booleanisFatalEnabled() + +
+           + Are fatal messages currently enabled?
+ booleanisInfoEnabled() + +
+           + Are info messages currently enabled?
+protected  booleanisLevelEnabled(int logLevel) + +
+          Is the given log level currently enabled?
+ booleanisTraceEnabled() + +
+           + Are trace messages currently enabled?
+ booleanisWarnEnabled() + +
+           + Are warn messages currently enabled?
+protected  voidlog(int type, + Object message, + Throwable t) + +
+           + Do the actual logging.
+ voidsetLevel(int currentLogLevel) + +
+           + Set logging level.
+ voidtrace(Object message) + +
+           + Log a message with trace log level.
+ voidtrace(Object message, + Throwable t) + +
+           + Log an error with trace log level.
+ voidwarn(Object message) + +
+           + Log a message with warn log level.
+ voidwarn(Object message, + Throwable t) + +
+           + Log an error with warn log level.
+protected  voidwrite(StringBuffer buffer) + +
+           + Write the content of the message accumulated in the specified + StringBuffer to the appropriate output destination.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Field Detail
+ +

+systemPrefix

+
+protected static final String systemPrefix
+
+
All system properties used by SimpleLog start with this +

+

+
See Also:
Constant Field Values
+
+
+ +

+simpleLogProps

+
+protected static final Properties simpleLogProps
+
+
Properties loaded from simplelog.properties +

+

+
+
+
+ +

+DEFAULT_DATE_TIME_FORMAT

+
+protected static final String DEFAULT_DATE_TIME_FORMAT
+
+
The default format to use when formating dates +

+

+
See Also:
Constant Field Values
+
+
+ +

+showLogName

+
+protected static boolean showLogName
+
+
Include the instance name in the log message? +

+

+
+
+
+ +

+showShortName

+
+protected static boolean showShortName
+
+
Include the short name ( last component ) of the logger in the log message. + Defaults to true - otherwise we'll be lost in a flood of messages without + knowing who sends them. +

+

+
+
+
+ +

+showDateTime

+
+protected static boolean showDateTime
+
+
Include the current time in the log message +

+

+
+
+
+ +

+dateTimeFormat

+
+protected static String dateTimeFormat
+
+
The date and time format to use in the log message +

+

+
+
+
+ +

+dateFormatter

+
+protected static DateFormat dateFormatter
+
+
Used to format times +

+

+
+
+
+ +

+LOG_LEVEL_TRACE

+
+public static final int LOG_LEVEL_TRACE
+
+
"Trace" level logging. +

+

+
See Also:
Constant Field Values
+
+
+ +

+LOG_LEVEL_DEBUG

+
+public static final int LOG_LEVEL_DEBUG
+
+
"Debug" level logging. +

+

+
See Also:
Constant Field Values
+
+
+ +

+LOG_LEVEL_INFO

+
+public static final int LOG_LEVEL_INFO
+
+
"Info" level logging. +

+

+
See Also:
Constant Field Values
+
+
+ +

+LOG_LEVEL_WARN

+
+public static final int LOG_LEVEL_WARN
+
+
"Warn" level logging. +

+

+
See Also:
Constant Field Values
+
+
+ +

+LOG_LEVEL_ERROR

+
+public static final int LOG_LEVEL_ERROR
+
+
"Error" level logging. +

+

+
See Also:
Constant Field Values
+
+
+ +

+LOG_LEVEL_FATAL

+
+public static final int LOG_LEVEL_FATAL
+
+
"Fatal" level logging. +

+

+
See Also:
Constant Field Values
+
+
+ +

+LOG_LEVEL_ALL

+
+public static final int LOG_LEVEL_ALL
+
+
Enable all logging levels +

+

+
See Also:
Constant Field Values
+
+
+ +

+LOG_LEVEL_OFF

+
+public static final int LOG_LEVEL_OFF
+
+
Enable no logging levels +

+

+
See Also:
Constant Field Values
+
+
+ +

+logName

+
+protected String logName
+
+
The name of this simple log instance +

+

+
+
+
+ +

+currentLogLevel

+
+protected int currentLogLevel
+
+
The current log level +

+

+
+
+ + + + + + + + +
+Constructor Detail
+ +

+SimpleLog

+
+public SimpleLog(String name)
+
+
Construct a simple log with given name. +

+

+
Parameters:
name - log name
+
+ + + + + + + + +
+Method Detail
+ +

+setLevel

+
+public void setLevel(int currentLogLevel)
+
+

+ Set logging level. +

+

+

+
+
+
+
Parameters:
currentLogLevel - new logging level
+
+
+
+ +

+getLevel

+
+public int getLevel()
+
+

+ Get logging level. +

+

+

+
+
+
+
+
+
+
+ +

+log

+
+protected void log(int type,
+                   Object message,
+                   Throwable t)
+
+

+ Do the actual logging. This method assembles the message and then calls + write() to cause it to be written. +

+

+

+
+
+
+
Parameters:
type - One of the LOG_LEVEL_XXX constants defining the log level
message - The message itself (typically a String)
t - The exception whose stack trace should be logged
+
+
+
+ +

+write

+
+protected void write(StringBuffer buffer)
+
+

+ Write the content of the message accumulated in the specified + StringBuffer to the appropriate output destination. The + default implementation writes to System.err. +

+

+

+
+
+
+
Parameters:
buffer - A StringBuffer containing the accumulated text to be + logged
+
+
+
+ +

+isLevelEnabled

+
+protected boolean isLevelEnabled(int logLevel)
+
+
Is the given log level currently enabled? +

+

+
+
+
+
Parameters:
logLevel - is this level enabled?
+
+
+
+ +

+debug

+
+public final void debug(Object message)
+
+

+ Log a message with debug log level. +

+

+

+
Specified by:
debug in interface Log
+
+
+
Parameters:
message - log this message
+
+
+
+ +

+debug

+
+public final void debug(Object message,
+                        Throwable t)
+
+

+ Log an error with debug log level. +

+

+

+
Specified by:
debug in interface Log
+
+
+
Parameters:
message - log this message
t - log this cause
+
+
+
+ +

+trace

+
+public final void trace(Object message)
+
+

+ Log a message with trace log level. +

+

+

+
Specified by:
trace in interface Log
+
+
+
Parameters:
message - log this message
+
+
+
+ +

+trace

+
+public final void trace(Object message,
+                        Throwable t)
+
+

+ Log an error with trace log level. +

+

+

+
Specified by:
trace in interface Log
+
+
+
Parameters:
message - log this message
t - log this cause
+
+
+
+ +

+info

+
+public final void info(Object message)
+
+

+ Log a message with info log level. +

+

+

+
Specified by:
info in interface Log
+
+
+
Parameters:
message - log this message
+
+
+
+ +

+info

+
+public final void info(Object message,
+                       Throwable t)
+
+

+ Log an error with info log level. +

+

+

+
Specified by:
info in interface Log
+
+
+
Parameters:
message - log this message
t - log this cause
+
+
+
+ +

+warn

+
+public final void warn(Object message)
+
+

+ Log a message with warn log level. +

+

+

+
Specified by:
warn in interface Log
+
+
+
Parameters:
message - log this message
+
+
+
+ +

+warn

+
+public final void warn(Object message,
+                       Throwable t)
+
+

+ Log an error with warn log level. +

+

+

+
Specified by:
warn in interface Log
+
+
+
Parameters:
message - log this message
t - log this cause
+
+
+
+ +

+error

+
+public final void error(Object message)
+
+

+ Log a message with error log level. +

+

+

+
Specified by:
error in interface Log
+
+
+
Parameters:
message - log this message
+
+
+
+ +

+error

+
+public final void error(Object message,
+                        Throwable t)
+
+

+ Log an error with error log level. +

+

+

+
Specified by:
error in interface Log
+
+
+
Parameters:
message - log this message
t - log this cause
+
+
+
+ +

+fatal

+
+public final void fatal(Object message)
+
+

+ Log a message with fatal log level. +

+

+

+
Specified by:
fatal in interface Log
+
+
+
Parameters:
message - log this message
+
+
+
+ +

+fatal

+
+public final void fatal(Object message,
+                        Throwable t)
+
+

+ Log an error with fatal log level. +

+

+

+
Specified by:
fatal in interface Log
+
+
+
Parameters:
message - log this message
t - log this cause
+
+
+
+ +

+isDebugEnabled

+
+public final boolean isDebugEnabled()
+
+

+ Are debug messages currently enabled? +

+ +

+ This allows expensive operations such as String concatenation + to be avoided when the message will be ignored by the logger. +

+

+

+
Specified by:
isDebugEnabled in interface Log
+
+
+
+
+
+
+ +

+isErrorEnabled

+
+public final boolean isErrorEnabled()
+
+

+ Are error messages currently enabled? +

+ +

+ This allows expensive operations such as String concatenation + to be avoided when the message will be ignored by the logger. +

+

+

+
Specified by:
isErrorEnabled in interface Log
+
+
+
+
+
+
+ +

+isFatalEnabled

+
+public final boolean isFatalEnabled()
+
+

+ Are fatal messages currently enabled? +

+ +

+ This allows expensive operations such as String concatenation + to be avoided when the message will be ignored by the logger. +

+

+

+
Specified by:
isFatalEnabled in interface Log
+
+
+
+
+
+
+ +

+isInfoEnabled

+
+public final boolean isInfoEnabled()
+
+

+ Are info messages currently enabled? +

+ +

+ This allows expensive operations such as String concatenation + to be avoided when the message will be ignored by the logger. +

+

+

+
Specified by:
isInfoEnabled in interface Log
+
+
+ +
Returns:
true if info enabled, false otherwise
+
+
+
+ +

+isTraceEnabled

+
+public final boolean isTraceEnabled()
+
+

+ Are trace messages currently enabled? +

+ +

+ This allows expensive operations such as String concatenation + to be avoided when the message will be ignored by the logger. +

+

+

+
Specified by:
isTraceEnabled in interface Log
+
+
+ +
Returns:
true if trace enabled, false otherwise
+
+
+
+ +

+isWarnEnabled

+
+public final boolean isWarnEnabled()
+
+

+ Are warn messages currently enabled? +

+ +

+ This allows expensive operations such as String concatenation + to be avoided when the message will be ignored by the logger. +

+

+

+
Specified by:
isWarnEnabled in interface Log
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/class-use/NoOpLog.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/class-use/NoOpLog.html new file mode 100644 index 0000000..0debb7d --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/class-use/NoOpLog.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.apache.commons.logging.impl.NoOpLog (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.apache.commons.logging.impl.NoOpLog

+
+No usage of org.apache.commons.logging.impl.NoOpLog +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/class-use/SLF4JLocationAwareLog.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/class-use/SLF4JLocationAwareLog.html new file mode 100644 index 0000000..3666566 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/class-use/SLF4JLocationAwareLog.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.apache.commons.logging.impl.SLF4JLocationAwareLog (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.apache.commons.logging.impl.SLF4JLocationAwareLog

+
+No usage of org.apache.commons.logging.impl.SLF4JLocationAwareLog +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/class-use/SLF4JLog.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/class-use/SLF4JLog.html new file mode 100644 index 0000000..98aadd7 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/class-use/SLF4JLog.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.apache.commons.logging.impl.SLF4JLog (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.apache.commons.logging.impl.SLF4JLog

+
+No usage of org.apache.commons.logging.impl.SLF4JLog +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/class-use/SLF4JLogFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/class-use/SLF4JLogFactory.html new file mode 100644 index 0000000..43c8865 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/class-use/SLF4JLogFactory.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.apache.commons.logging.impl.SLF4JLogFactory (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.apache.commons.logging.impl.SLF4JLogFactory

+
+No usage of org.apache.commons.logging.impl.SLF4JLogFactory +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/class-use/SimpleLog.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/class-use/SimpleLog.html new file mode 100644 index 0000000..eb54929 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/class-use/SimpleLog.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.apache.commons.logging.impl.SimpleLog (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.apache.commons.logging.impl.SimpleLog

+
+No usage of org.apache.commons.logging.impl.SimpleLog +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/package-frame.html new file mode 100644 index 0000000..4f024dd --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/package-frame.html @@ -0,0 +1,41 @@ + + + + + + + +org.apache.commons.logging.impl (SLF4J 1.7.5 API) + + + + + + + + + + + +org.apache.commons.logging.impl + + + + +
+Classes  + +
+NoOpLog +
+SimpleLog +
+SLF4JLocationAwareLog +
+SLF4JLog +
+SLF4JLogFactory
+ + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/package-summary.html new file mode 100644 index 0000000..7fb0fd0 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/package-summary.html @@ -0,0 +1,198 @@ + + + + + + + +org.apache.commons.logging.impl (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+

+Package org.apache.commons.logging.impl +

+SLF4J based implementation of commons-logging wrapper APIs. +

+See: +
+          Description +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+Class Summary
NoOpLog + Trivial implementation of Log that throws away all messages.
SimpleLog + Simple implementation of Log that sends all enabled log messages, for all + defined loggers, to System.err.
SLF4JLocationAwareLogImplementation of org.apache.commons.logging.Log interface which + delegates all processing to a wrapped org.slf4j.Logger + instance.
SLF4JLogImplementation of org.apache.commons.logging.Log interface which + delegates all processing to a wrapped org.slf4j.Logger + instance.
SLF4JLogFactory + Concrete subclass of LogFactory which always delegates to the + org.slf4j.LoggerFactory class.
+  + +

+

+Package org.apache.commons.logging.impl Description +

+ +

+

SLF4J based implementation of commons-logging wrapper APIs.

+

+ +

+

+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/package-tree.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/package-tree.html new file mode 100644 index 0000000..a582cd6 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/package-tree.html @@ -0,0 +1,160 @@ + + + + + + + +org.apache.commons.logging.impl Class Hierarchy (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For Package org.apache.commons.logging.impl +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/package-use.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/package-use.html new file mode 100644 index 0000000..6d9a112 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/impl/package-use.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Package org.apache.commons.logging.impl (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Package
org.apache.commons.logging.impl

+
+No usage of org.apache.commons.logging.impl +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/package-frame.html new file mode 100644 index 0000000..e6e548c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/package-frame.html @@ -0,0 +1,55 @@ + + + + + + + +org.apache.commons.logging (SLF4J 1.7.5 API) + + + + + + + + + + + +org.apache.commons.logging + + + + +
+Interfaces  + +
+Log
+ + + + + + +
+Classes  + +
+LogFactory
+ + + + + + +
+Exceptions  + +
+LogConfigurationException
+ + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/package-summary.html new file mode 100644 index 0000000..897cc0f --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/package-summary.html @@ -0,0 +1,353 @@ + + + + + + + +org.apache.commons.logging (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+

+Package org.apache.commons.logging +

+Jakarta Commons Logging implemented over SLF4J. +

+See: +
+          Description +

+ + + + + + + + + +
+Interface Summary
LogA simple logging interface abstracting logging APIs.
+  + +

+ + + + + + + + + +
+Class Summary
LogFactory + Factory for creating Log instances, which always delegates to an + instance of SLF4JLogFactory.
+  + +

+ + + + + + + + + +
+Exception Summary
LogConfigurationException + An exception that is thrown only if a suitable LogFactory or + Log instance cannot be created by the corresponding factory + methods.
+  + +

+

+Package org.apache.commons.logging Description +

+ +

+

Jakarta Commons Logging implemented over SLF4J.

+ + +

Overview

+ +

This package contains the same public user interface as Jakarta Commons +Logging (JCL). It is intended as a 100% compatible drop-in +replacement for the original JCL version 1.0.4. +

+ +

As the original JCL version 1.0.4, the present version supports +various logging APIs. It differs from the original in implementation +but not the public API. This implementation uses SLF4J under the +covers. As as such, all the logging systems that SLF4J supports, +e.g. NOP, Simple, JDK14, nlog4j are supported by this version of JCL. +

+ +

Quick Start Guide

+ +

For those impatient to just get on with it, the following example +illustrates the typical declaration and use of a logger that is named (by +convention) after the calling class: + +

+    import org.apache.commons.logging.Log;
+    import org.apache.commons.logging.LogFactory;
+
+    public class Foo {
+
+        static Log log = LogFactory.getLog(Foo.class);
+
+        public void foo() {
+            ...
+            try {
+                if (log.isDebugEnabled()) {
+                    log.debug("About to do something to object " + name);
+                }
+                name.bar();
+            } catch (IllegalStateException e) {
+                log.error("Something bad happened to " + name, e);
+            }
+            ...
+        }
+
+ +

Configuring the Commons Logging Package

+ +

In this version of JCL, the selection of the logging system to use +is chosen by the underlying SLF4J API. Consequently, all JCL-specific +configration parameters are ignored. +

+ +

Choosing a LogFactory Implementation

+ +

From an application perspective, the first requirement is to +retrieve an object reference to the LogFactory instance +that will be used to create Log +instances for this application. This is normally accomplished by +calling the static getFactory() method. This method +always returns the same factory, i.e. a unique instance of the SLF4FLogFactory class. +

+ + + +

Configuring the Underlying Logging System

+ +

The basic principle is that the user is totally responsible for the +configuration of the underlying logging system. +Commons-logging should not change the existing configuration.

+ +

Each individual Log implementation may +support its own configuration properties. These will be documented in the +class descriptions for the corresponding implementation class.

+ +

Finally, some Log implementations (such as the one for Log4J) +require an external configuration file for the entire logging environment. +This file should be prepared in a manner that is specific to the actual logging +technology being used.

+ + +

Using the Logging Package APIs

+ +

Use of the Logging Package APIs, from the perspective of an application +component, consists of the following steps:

+
    +
  1. Acquire a reference to an instance of + org.apache.commons.logging.Log, by calling the + factory method + + LogFactory.getInstance(String name). Your application can contain + references to multiple loggers that are used for different + purposes. A typical scenario for a server application is to have each + major component of the server use its own Log instance.
  2. +
  3. Cause messages to be logged (if the corresponding detail level is enabled) + by calling appropriate methods (trace(), debug(), + info(), warn(), error, and + fatal()).
  4. +
+ +

For convenience, LogFactory also offers a static method +getLog() that combines the typical two-step pattern:

+
+  Log log = LogFactory.getFactory().getInstance(Foo.class);
+
+

into a single method call:

+
+  Log log = LogFactory.getLog(Foo.class);
+
+ +

For example, you might use the following technique to initialize and +use a Log instance in an application component:

+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+public class MyComponent {
+
+  protected static Log log =
+    LogFactory.getLog(MyComponent.class);
+
+  // Called once at startup time
+  public void start() {
+    ...
+    log.info("MyComponent started");
+    ...
+  }
+
+  // Called once at shutdown time
+  public void stop() {
+    ...
+    log.info("MyComponent stopped");
+    ...
+  }
+
+  // Called repeatedly to process a particular argument value
+  // which you want logged if debugging is enabled
+  public void process(String value) {
+    ...
+    // Do the string concatenation only if logging is enabled
+    if (log.isDebugEnabled())
+      log.debug("MyComponent processing " + value);
+    ...
+  }
+
+}
+
+

+ +

+

+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/package-tree.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/package-tree.html new file mode 100644 index 0000000..9faf9bf --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/package-tree.html @@ -0,0 +1,166 @@ + + + + + + + +org.apache.commons.logging Class Hierarchy (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For Package org.apache.commons.logging +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+ +

+Interface Hierarchy +

+
    +
  • org.apache.commons.logging.Log
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/package-use.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/package-use.html new file mode 100644 index 0000000..99ff0ad --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/commons/logging/package-use.html @@ -0,0 +1,224 @@ + + + + + + + +Uses of Package org.apache.commons.logging (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Package
org.apache.commons.logging

+
+ + + + + + + + + + + + + +
+Packages that use org.apache.commons.logging
org.apache.commons.loggingJakarta Commons Logging implemented over SLF4J. 
org.apache.commons.logging.implSLF4J based implementation of commons-logging wrapper APIs. 
+  +

+ + + + + + + + + + + + + + +
+Classes in org.apache.commons.logging used by org.apache.commons.logging
Log + +
+          A simple logging interface abstracting logging APIs.
LogConfigurationException + +
+           + An exception that is thrown only if a suitable LogFactory or + Log instance cannot be created by the corresponding factory + methods.
LogFactory + +
+           + Factory for creating Log instances, which always delegates to an + instance of SLF4JLogFactory.
+  +

+ + + + + + + + + + + + + + +
+Classes in org.apache.commons.logging used by org.apache.commons.logging.impl
Log + +
+          A simple logging interface abstracting logging APIs.
LogConfigurationException + +
+           + An exception that is thrown only if a suitable LogFactory or + Log instance cannot be created by the corresponding factory + methods.
LogFactory + +
+           + Factory for creating Log instances, which always delegates to an + instance of SLF4JLogFactory.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/Appender.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/Appender.html new file mode 100644 index 0000000..5cafd8c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/Appender.html @@ -0,0 +1,491 @@ + + + + + + + +Appender (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.apache.log4j +
+Interface Appender

+
+
+
public interface Appender
+ + +

+Implement this interface for your own strategies for outputting log + statements. +

+ +

+

+
Author:
+
Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidaddFilter(Filter newFilter) + +
+          Add a filter to the end of the filter list.
+ voidclearFilters() + +
+          Clear the list of filters by removing all the filters in it.
+ voidclose() + +
+          Release any resources allocated within the appender such as file + handles, network connections, etc.
+ voiddoAppend(LoggingEvent event) + +
+          Log in Appender specific way.
+ ErrorHandlergetErrorHandler() + +
+          Returns the ErrorHandler for this appender.
+ FiltergetFilter() + +
+          Returns the head Filter.
+ LayoutgetLayout() + +
+          Returns this appenders layout.
+ StringgetName() + +
+          Get the name of this appender.
+ booleanrequiresLayout() + +
+          Configurators call this method to determine if the appender + requires a layout.
+ voidsetErrorHandler(ErrorHandler errorHandler) + +
+          Set the ErrorHandler for this appender.
+ voidsetLayout(Layout layout) + +
+          Set the Layout for this appender.
+ voidsetName(String name) + +
+          Set the name of this appender.
+  +

+ + + + + + + + +
+Method Detail
+ +

+addFilter

+
+void addFilter(Filter newFilter)
+
+
Add a filter to the end of the filter list. +

+

+
Since:
+
0.9.0
+
+
+
+
+ +

+getFilter

+
+Filter getFilter()
+
+
Returns the head Filter. The Filters are organized in a linked list + and so all Filters on this Appender are available through the result. +

+

+ +
Returns:
the head Filter or null, if no Filters are present
Since:
+
1.1
+
+
+
+
+ +

+clearFilters

+
+void clearFilters()
+
+
Clear the list of filters by removing all the filters in it. +

+

+
Since:
+
0.9.0
+
+
+
+
+ +

+close

+
+void close()
+
+
Release any resources allocated within the appender such as file + handles, network connections, etc. +

+

It is a programming error to append to a closed appender. +

+

+
Since:
+
0.8.4
+
+
+
+
+ +

+doAppend

+
+void doAppend(LoggingEvent event)
+
+
Log in Appender specific way. When appropriate, + Loggers will call the doAppend method of appender + implementations in order to log. +

+

+
+
+
+
+ +

+getName

+
+String getName()
+
+
Get the name of this appender. The name uniquely identifies the + appender. +

+

+
+
+
+
+ +

+setErrorHandler

+
+void setErrorHandler(ErrorHandler errorHandler)
+
+
Set the ErrorHandler for this appender. +

+

+
Since:
+
0.9.0
+
+
+
+
+ +

+getErrorHandler

+
+ErrorHandler getErrorHandler()
+
+
Returns the ErrorHandler for this appender. +

+

+
Since:
+
1.1
+
+
+
+
+ +

+setLayout

+
+void setLayout(Layout layout)
+
+
Set the Layout for this appender. +

+

+
Since:
+
0.8.1
+
+
+
+
+ +

+getLayout

+
+Layout getLayout()
+
+
Returns this appenders layout. +

+

+
Since:
+
1.1
+
+
+
+
+ +

+setName

+
+void setName(String name)
+
+
Set the name of this appender. The name is used by other + components to identify this appender. +

+

+
Since:
+
0.8.1
+
+
+
+
+ +

+requiresLayout

+
+boolean requiresLayout()
+
+
Configurators call this method to determine if the appender + requires a layout. If this method returns true, + meaning that layout is required, then the configurator will + configure an layout using the configuration information at its + disposal. If this method returns false, meaning that + a layout is not required, then layout configuration will be + skipped even if there is available layout configuration + information at the disposal of the configurator.. +

+

In the rather exceptional case, where the appender + implementation admits a layout but can also work without it, then + the appender should return true. +

+

+
Since:
+
0.8.4
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/BasicConfigurator.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/BasicConfigurator.html new file mode 100644 index 0000000..d39ff5f --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/BasicConfigurator.html @@ -0,0 +1,295 @@ + + + + + + + +BasicConfigurator (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.apache.log4j +
+Class BasicConfigurator

+
+java.lang.Object
+  extended by org.apache.log4j.BasicConfigurator
+
+
+
+
public class BasicConfigurator
extends Object
+ + +

+A minimal (nop) implementation of BasicConfigurator. +

+ +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
BasicConfigurator() + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+static voidconfigure() + +
+           
+static voidconfigure(Appender appender) + +
+           
+static voidresetConfiguration() + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+BasicConfigurator

+
+public BasicConfigurator()
+
+
+ + + + + + + + +
+Method Detail
+ +

+configure

+
+public static void configure()
+
+
+
+
+
+
+ +

+configure

+
+public static void configure(Appender appender)
+
+
+
+
+
+
+ +

+resetConfiguration

+
+public static void resetConfiguration()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/Category.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/Category.html new file mode 100644 index 0000000..4cc4a74 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/Category.html @@ -0,0 +1,897 @@ + + + + + + + +Category (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.apache.log4j +
+Class Category

+
+java.lang.Object
+  extended by org.apache.log4j.Category
+
+
+
Direct Known Subclasses:
Logger
+
+
+
+
public class Category
extends Object
+ + +

+

+ This class is a minimal implementation of the original + org.apache.log4j.Category class (as found in log4j 1.2) by + delegation of all calls to a Logger instance. +

+ +

+ Log4j's trace, debug(), info(), + warn(), error() printing methods are directly + mapped to their SLF4J equivalents. Log4j's fatal() printing + method is mapped to SLF4J's error() method with a FATAL marker. +

+ +

+

+
Author:
+
Sébastien Pennec, Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + +
+Field Summary
+protected  Loggerslf4jLogger + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidaddAppender(Appender newAppender) + +
+           
+protected  StringconvertToString(Object message) + +
+           
+ voiddebug(Object message) + +
+          Delegates to Logger.debug(String) method of SLF4J.
+ voiddebug(Object message, + Throwable t) + +
+          Delegates to Logger.debug(String,Throwable) method in + SLF4J.
+ voiderror(Object message) + +
+          Delegates to Logger.error(String) method in SLF4J.
+ voiderror(Object message, + Throwable t) + +
+          Delegates to Logger.error(String,Throwable) method in + SLF4J.
+ voidfatal(Object message) + +
+          Delegates to Logger.error(String) method in SLF4J.
+ voidfatal(Object message, + Throwable t) + +
+          Delegates to Logger.error(String,Throwable) method in + SLF4J.
+protected  voidforcedLog(String FQCN, + Priority p, + Object msg, + Throwable t) + +
+           
+ EnumerationgetAllAppenders() + +
+           
+ LevelgetEffectiveLevel() + +
+          Return the level in effect for this category/logger.
+static CategorygetInstance(Class clazz) + +
+           
+static CategorygetInstance(String name) + +
+           
+ LevelgetLevel() + +
+          Returns the assigned Level, if any, for this Category.
+ StringgetName() + +
+          Returns the obvious.
+ LevelgetPriority() + +
+          Deprecated. Please use getLevel() instead.
+ voidinfo(Object message) + +
+          Delegates to Logger.info(String) method in SLF4J.
+ voidinfo(Object message, + Throwable t) + +
+          Delegates to Logger.info(String,Throwable) method in + SLF4J.
+ booleanisDebugEnabled() + +
+          Delegates to Logger.isDebugEnabled() method in SLF4J
+ booleanisEnabledFor(Priority p) + +
+          Determines whether the priority passed as parameter is enabled in the + underlying SLF4J logger.
+ booleanisErrorEnabled() + +
+          Delegates to Logger.isErrorEnabled() method in SLF4J
+ booleanisInfoEnabled() + +
+          Delegates to Logger.isInfoEnabled() method in SLF4J
+ booleanisWarnEnabled() + +
+          Delegates tob Logger.isWarnEnabled() method in SLF4J
+ voidlog(Priority p, + Object message) + +
+           
+ voidlog(Priority p, + Object message, + Throwable t) + +
+           
+ voidlog(String FQCN, + Priority p, + Object msg, + Throwable t) + +
+           
+ voidsetAdditivity(boolean additive) + +
+           
+ voidwarn(Object message) + +
+          Delegates to Logger.warn(String) method in SLF4J.
+ voidwarn(Object message, + Throwable t) + +
+          Delegates to Logger.warn(String,Throwable) method in + SLF4J.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Field Detail
+ +

+slf4jLogger

+
+protected Logger slf4jLogger
+
+
+
+
+ + + + + + + + +
+Method Detail
+ +

+getInstance

+
+public static Category getInstance(Class clazz)
+
+
+
+
+
+
+ +

+getInstance

+
+public static Category getInstance(String name)
+
+
+
+
+
+
+ +

+getName

+
+public String getName()
+
+
Returns the obvious. +

+

+ +
Returns:
+
+
+
+ +

+getAllAppenders

+
+public Enumeration getAllAppenders()
+
+
+
+
+
+
+ +

+getEffectiveLevel

+
+public Level getEffectiveLevel()
+
+
Return the level in effect for this category/logger. + +

+ The result is computed by simulation. +

+

+ +
Returns:
+
+
+
+ +

+getLevel

+
+public final Level getLevel()
+
+
Returns the assigned Level, if any, for this Category. This + implementation always returns null. +

+

+ +
Returns:
Level - the assigned Level, can be null.
+
+
+
+ +

+getPriority

+
+public final Level getPriority()
+
+
Deprecated. Please use getLevel() instead. +

+

+
+
+
+
+ +

+isDebugEnabled

+
+public boolean isDebugEnabled()
+
+
Delegates to Logger.isDebugEnabled() method in SLF4J +

+

+
+
+
+
+ +

+isInfoEnabled

+
+public boolean isInfoEnabled()
+
+
Delegates to Logger.isInfoEnabled() method in SLF4J +

+

+
+
+
+
+ +

+isWarnEnabled

+
+public boolean isWarnEnabled()
+
+
Delegates tob Logger.isWarnEnabled() method in SLF4J +

+

+
+
+
+
+ +

+isErrorEnabled

+
+public boolean isErrorEnabled()
+
+
Delegates to Logger.isErrorEnabled() method in SLF4J +

+

+
+
+
+
+ +

+isEnabledFor

+
+public boolean isEnabledFor(Priority p)
+
+
Determines whether the priority passed as parameter is enabled in the + underlying SLF4J logger. Each log4j priority is mapped directly to its + SLF4J equivalent, except for FATAL which is mapped as ERROR. +

+

+
Parameters:
p - the priority to check against +
Returns:
true if this logger is enabled for the given level, false + otherwise.
+
+
+
+ +

+debug

+
+public void debug(Object message)
+
+
Delegates to Logger.debug(String) method of SLF4J. +

+

+
+
+
+
+ +

+debug

+
+public void debug(Object message,
+                  Throwable t)
+
+
Delegates to Logger.debug(String,Throwable) method in + SLF4J. +

+

+
+
+
+
+ +

+info

+
+public void info(Object message)
+
+
Delegates to Logger.info(String) method in SLF4J. +

+

+
+
+
+
+ +

+info

+
+public void info(Object message,
+                 Throwable t)
+
+
Delegates to Logger.info(String,Throwable) method in + SLF4J. +

+

+
+
+
+
+ +

+warn

+
+public void warn(Object message)
+
+
Delegates to Logger.warn(String) method in SLF4J. +

+

+
+
+
+
+ +

+warn

+
+public void warn(Object message,
+                 Throwable t)
+
+
Delegates to Logger.warn(String,Throwable) method in + SLF4J. +

+

+
+
+
+
+ +

+error

+
+public void error(Object message)
+
+
Delegates to Logger.error(String) method in SLF4J. +

+

+
+
+
+
+ +

+error

+
+public void error(Object message,
+                  Throwable t)
+
+
Delegates to Logger.error(String,Throwable) method in + SLF4J. +

+

+
+
+
+
+ +

+fatal

+
+public void fatal(Object message)
+
+
Delegates to Logger.error(String) method in SLF4J. +

+

+
+
+
+
+ +

+fatal

+
+public void fatal(Object message,
+                  Throwable t)
+
+
Delegates to Logger.error(String,Throwable) method in + SLF4J. In addition, the call is marked with a marker named "FATAL". +

+

+
+
+
+
+ +

+forcedLog

+
+protected void forcedLog(String FQCN,
+                         Priority p,
+                         Object msg,
+                         Throwable t)
+
+
+
+
+
+
+ +

+log

+
+public void log(String FQCN,
+                Priority p,
+                Object msg,
+                Throwable t)
+
+
+
+
+
+
+ +

+log

+
+public void log(Priority p,
+                Object message,
+                Throwable t)
+
+
+
+
+
+
+ +

+log

+
+public void log(Priority p,
+                Object message)
+
+
+
+
+
+
+ +

+convertToString

+
+protected final String convertToString(Object message)
+
+
+
+
+
+
+ +

+setAdditivity

+
+public void setAdditivity(boolean additive)
+
+
+
+
+
+
+ +

+addAppender

+
+public void addAppender(Appender newAppender)
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/Layout.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/Layout.html new file mode 100644 index 0000000..15d6036 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/Layout.html @@ -0,0 +1,236 @@ + + + + + + + +Layout (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.apache.log4j +
+Class Layout

+
+java.lang.Object
+  extended by org.apache.log4j.Layout
+
+
+
Direct Known Subclasses:
PatternLayout
+
+
+
+
public class Layout
extends Object
+ + +

+This class is a minimal implementation of the original Log4J class. +

+ +

+

+
Author:
+
Christian Trutz
+
+
+ +

+ + + + + + + + + + + +
+Constructor Summary
Layout() + +
+           
+  + + + + + + + +
+Method Summary
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+Layout

+
+public Layout()
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/Level.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/Level.html new file mode 100644 index 0000000..55d332f --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/Level.html @@ -0,0 +1,621 @@ + + + + + + + +Level (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.apache.log4j +
+Class Level

+
+java.lang.Object
+  extended by org.apache.log4j.Priority
+      extended by org.apache.log4j.Level
+
+
+
All Implemented Interfaces:
Serializable
+
+
+
+
public class Level
extends Priority
implements Serializable
+ + +

+Defines the minimum set of levels recognized by the system, that is + OFF, FATAL, ERROR, + WARN, INFO, DEBUG and + ALL. + +

The Level class may be subclassed to define a larger + level set. +

+ +

+

+
Author:
+
Ceki Gülcü
+
See Also:
Serialized Form
+
+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Field Summary
+static LevelALL + +
+          The ALL has the lowest possible rank and is intended to + turn on all logging.
+static LevelDEBUG + +
+          The DEBUG Level designates fine-grained + informational events that are most useful to debug an + application.
+static LevelERROR + +
+          The ERROR level designates error events that + might still allow the application to continue running.
+static LevelFATAL + +
+          The FATAL level designates very severe error + events that will presumably lead the application to abort.
+static LevelINFO + +
+          The INFO level designates informational messages + that highlight the progress of the application at coarse-grained + level.
+static LevelOFF + +
+          The OFF has the highest possible rank and is + intended to turn off logging.
+static LevelTRACE + +
+          The TRACE Level designates finer-grained + informational events than the DEBUG +
+static intTRACE_INT + +
+          TRACE level integer value.
+static LevelWARN + +
+          The WARN level designates potentially harmful situations.
+static intX_TRACE_INT + +
+           
+ + + + + + + +
Fields inherited from class org.apache.log4j.Priority
ALL_INT, DEBUG_INT, ERROR_INT, FATAL_INT, INFO_INT, OFF_INT, WARN_INT
+  + + + + + + + + + + + +
+Constructor Summary
+protected Level(int level, + String levelStr, + int syslogEquivalent) + +
+          Instantiate a Level object.
+  + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+static LeveltoLevel(int val) + +
+          Convert an integer passed as argument to a level.
+static LeveltoLevel(int val, + Level defaultLevel) + +
+          Convert an integer passed as argument to a level.
+static LeveltoLevel(String sArg) + +
+          Convert the string passed as argument to a level.
+static LeveltoLevel(String sArg, + Level defaultLevel) + +
+          Convert the string passed as argument to a level.
+ + + + + + + +
Methods inherited from class org.apache.log4j.Priority
equals, getAllPossiblePriorities, getSyslogEquivalent, isGreaterOrEqual, toInt, toPriority, toPriority, toPriority, toPriority, toString
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Field Detail
+ +

+TRACE_INT

+
+public static final int TRACE_INT
+
+
TRACE level integer value. +

+

+
Since:
+
1.2.12
+
See Also:
Constant Field Values
+
+
+ +

+X_TRACE_INT

+
+public static final int X_TRACE_INT
+
+
+
See Also:
Constant Field Values
+
+
+ +

+OFF

+
+public static final Level OFF
+
+
The OFF has the highest possible rank and is + intended to turn off logging. +

+

+
+
+
+ +

+FATAL

+
+public static final Level FATAL
+
+
The FATAL level designates very severe error + events that will presumably lead the application to abort. +

+

+
+
+
+ +

+ERROR

+
+public static final Level ERROR
+
+
The ERROR level designates error events that + might still allow the application to continue running. +

+

+
+
+
+ +

+WARN

+
+public static final Level WARN
+
+
The WARN level designates potentially harmful situations. +

+

+
+
+
+ +

+INFO

+
+public static final Level INFO
+
+
The INFO level designates informational messages + that highlight the progress of the application at coarse-grained + level. +

+

+
+
+
+ +

+DEBUG

+
+public static final Level DEBUG
+
+
The DEBUG Level designates fine-grained + informational events that are most useful to debug an + application. +

+

+
+
+
+ +

+TRACE

+
+public static final Level TRACE
+
+
The TRACE Level designates finer-grained + informational events than the DEBUG +
+
Since:
+
1.2.12
+
+
+
+ +

+ALL

+
+public static final Level ALL
+
+
The ALL has the lowest possible rank and is intended to + turn on all logging. +

+

+
+
+ + + + + + + + +
+Constructor Detail
+ +

+Level

+
+protected Level(int level,
+                String levelStr,
+                int syslogEquivalent)
+
+
Instantiate a Level object. +

+

+ + + + + + + + +
+Method Detail
+ +

+toLevel

+
+public static Level toLevel(String sArg)
+
+
Convert the string passed as argument to a level. If the + conversion fails, then this method returns DEBUG. +

+

+
+
+
+
+
+
+
+ +

+toLevel

+
+public static Level toLevel(int val)
+
+
Convert an integer passed as argument to a level. If the + conversion fails, then this method returns DEBUG. +

+

+
+
+
+
+
+
+
+ +

+toLevel

+
+public static Level toLevel(int val,
+                            Level defaultLevel)
+
+
Convert an integer passed as argument to a level. If the + conversion fails, then this method returns the specified default. +

+

+
+
+
+
+
+
+
+ +

+toLevel

+
+public static Level toLevel(String sArg,
+                            Level defaultLevel)
+
+
Convert the string passed as argument to a level. If the + conversion fails, then this method returns the value of + defaultLevel. +

+

+
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/LogManager.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/LogManager.html new file mode 100644 index 0000000..f439a28 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/LogManager.html @@ -0,0 +1,400 @@ + + + + + + + +LogManager (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.apache.log4j +
+Class LogManager

+
+java.lang.Object
+  extended by org.apache.log4j.LogManager
+
+
+
+
public class LogManager
extends Object
+ + +

+

+ This class is a minimal implementation of the original + org.apache.log4j.LogManager class (as found in log4j 1.2) + delegating all calls to SLF4J. +

+

+ This implementation does NOT implement the setRepositorySelector(), + getLoggerRepository(), exists(), getCurrentLoggers(), shutdown() and + resetConfiguration() methods which do not have SLF4J equivalents. +

+ +

+

+
Author:
+
Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + +
+Constructor Summary
LogManager() + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+static EnumerationgetCurrentLoggers() + +
+          This bogus implementation returns an empty enumeration.
+static LoggergetLogger(Class clazz) + +
+           
+static LoggergetLogger(String name) + +
+           
+static LoggergetLogger(String name, + LoggerFactory loggerFactory) + +
+          Returns a logger instance created by loggerFactory.
+static LoggergetRootLogger() + +
+           
+static voidresetConfiguration() + +
+          Implemented as NOP.
+static voidshutdown() + +
+          Implemented as NOP.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+LogManager

+
+public LogManager()
+
+
+ + + + + + + + +
+Method Detail
+ +

+getRootLogger

+
+public static Logger getRootLogger()
+
+
+
+
+
+
+ +

+getLogger

+
+public static Logger getLogger(String name)
+
+
+
+
+
+
+ +

+getLogger

+
+public static Logger getLogger(Class clazz)
+
+
+
+
+
+
+ +

+getLogger

+
+public static Logger getLogger(String name,
+                               LoggerFactory loggerFactory)
+
+
Returns a logger instance created by loggerFactory. This method was requested in + bug #234. Note that + log4j-over-slf4j does not ship with a LoggerFactory implementation. If this + method is called, the caller must provide his/her own implementation. +

+

+
Parameters:
name - the name of the desired logger
loggerFactory - an instance of LoggerFactory +
Returns:
returns a logger instance created by loggerFactory
Since:
+
1.6.6
+
+
+
+
+ +

+getCurrentLoggers

+
+public static Enumeration getCurrentLoggers()
+
+
This bogus implementation returns an empty enumeration. +

+

+ +
Returns:
+
+
+
+ +

+shutdown

+
+public static void shutdown()
+
+
Implemented as NOP. +

+

+
+
+
+
+ +

+resetConfiguration

+
+public static void resetConfiguration()
+
+
Implemented as NOP. +

+

+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/Logger.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/Logger.html new file mode 100644 index 0000000..10fefe5 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/Logger.html @@ -0,0 +1,426 @@ + + + + + + + +Logger (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.apache.log4j +
+Class Logger

+
+java.lang.Object
+  extended by org.apache.log4j.Category
+      extended by org.apache.log4j.Logger
+
+
+
+
public class Logger
extends Category
+ + +

+

+ This class is a minimal implementation of the original + org.apache.log4j.Logger class (as found in log4j 1.2) + delegating all calls to a Logger instance. +

+

+ +

+

+
Author:
+
Ceki Gülcü
+
+
+ +

+ + + + + + + +
+Field Summary
+ + + + + + + +
Fields inherited from class org.apache.log4j.Category
slf4jLogger
+  + + + + + + + + + + + +
+Constructor Summary
+protected Logger(String name) + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+static LoggergetLogger(Class clazz) + +
+           
+static LoggergetLogger(String name) + +
+           
+static LoggergetLogger(String name, + LoggerFactory loggerFactory) + +
+           
+static LoggergetRootLogger() + +
+          Does the obvious.
+ booleanisTraceEnabled() + +
+          Delegates to Logger.isTraceEnabled() + method of SLF4J.
+ voidtrace(Object message) + +
+          Delegates to Logger.trace(String) method in SLF4J.
+ voidtrace(Object message, + Throwable t) + +
+          Delegates to Logger.trace(String,Throwable) + method in SLF4J.
+ + + + + + + +
Methods inherited from class org.apache.log4j.Category
addAppender, convertToString, debug, debug, error, error, fatal, fatal, forcedLog, getAllAppenders, getEffectiveLevel, getInstance, getInstance, getLevel, getName, getPriority, info, info, isDebugEnabled, isEnabledFor, isErrorEnabled, isInfoEnabled, isWarnEnabled, log, log, log, setAdditivity, warn, warn
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+Logger

+
+protected Logger(String name)
+
+
+ + + + + + + + +
+Method Detail
+ +

+getLogger

+
+public static Logger getLogger(String name)
+
+
+
+
+
+
+ +

+getLogger

+
+public static Logger getLogger(String name,
+                               LoggerFactory loggerFactory)
+
+
+
+
+
+
+ +

+getLogger

+
+public static Logger getLogger(Class clazz)
+
+
+
+
+
+
+ +

+getRootLogger

+
+public static Logger getRootLogger()
+
+
Does the obvious. +

+

+ +
Returns:
+
+
+
+ +

+isTraceEnabled

+
+public boolean isTraceEnabled()
+
+
Delegates to Logger.isTraceEnabled() + method of SLF4J. +

+

+
+
+
+
+ +

+trace

+
+public void trace(Object message)
+
+
Delegates to Logger.trace(String) method in SLF4J. +

+

+
+
+
+
+ +

+trace

+
+public void trace(Object message,
+                  Throwable t)
+
+
Delegates to Logger.trace(String,Throwable) + method in SLF4J. +

+

+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/MDC.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/MDC.html new file mode 100644 index 0000000..101db12 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/MDC.html @@ -0,0 +1,333 @@ + + + + + + + +MDC (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.apache.log4j +
+Class MDC

+
+java.lang.Object
+  extended by org.apache.log4j.MDC
+
+
+
+
public class MDC
extends Object
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
MDC() + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+static voidclear() + +
+           
+static Objectget(String key) + +
+           
+static voidput(String key, + Object value) + +
+           
+static voidput(String key, + String value) + +
+           
+static voidremove(String key) + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+MDC

+
+public MDC()
+
+
+ + + + + + + + +
+Method Detail
+ +

+put

+
+public static void put(String key,
+                       String value)
+
+
+
+
+
+
+ +

+put

+
+public static void put(String key,
+                       Object value)
+
+
+
+
+
+
+ +

+get

+
+public static Object get(String key)
+
+
+
+
+
+
+ +

+remove

+
+public static void remove(String key)
+
+
+
+
+
+
+ +

+clear

+
+public static void clear()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/NDC.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/NDC.html new file mode 100644 index 0000000..1c6efab --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/NDC.html @@ -0,0 +1,468 @@ + + + + + + + +NDC (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.apache.log4j +
+Class NDC

+
+java.lang.Object
+  extended by org.apache.log4j.NDC
+
+
+
+
public class NDC
extends Object
+ + +

+A log4j's NDC implemented in terms of SLF4J MDC primitives. +

+ +

+

+
Since:
+
SLF4J 1.6.0
+
+
+ +

+ + + + + + + + + + + +
+Field Summary
+static StringPREFIX + +
+           
+  + + + + + + + + + + +
+Constructor Summary
NDC() + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+static voidclear() + +
+           
+static StackcloneStack() + +
+           
+static Stringget() + +
+           
+static intgetDepth() + +
+           
+static voidinherit(Stack stack) + +
+           
+static Stringpeek() + +
+           
+static Stringpop() + +
+           
+static voidpush(String message) + +
+           
+static voidremove() + +
+           
+static voidsetMaxDepth(int maxDepth) + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Field Detail
+ +

+PREFIX

+
+public static final String PREFIX
+
+
+
See Also:
Constant Field Values
+
+ + + + + + + + +
+Constructor Detail
+ +

+NDC

+
+public NDC()
+
+
+ + + + + + + + +
+Method Detail
+ +

+clear

+
+public static void clear()
+
+
+
+
+
+
+ +

+cloneStack

+
+public static Stack cloneStack()
+
+
+
+
+
+
+ +

+inherit

+
+public static void inherit(Stack stack)
+
+
+
+
+
+
+ +

+get

+
+public static String get()
+
+
+
+
+
+
+ +

+getDepth

+
+public static int getDepth()
+
+
+
+
+
+
+ +

+pop

+
+public static String pop()
+
+
+
+
+
+
+ +

+peek

+
+public static String peek()
+
+
+
+
+
+
+ +

+push

+
+public static void push(String message)
+
+
+
+
+
+
+ +

+remove

+
+public static void remove()
+
+
+
+
+
+
+ +

+setMaxDepth

+
+public static void setMaxDepth(int maxDepth)
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/PatternLayout.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/PatternLayout.html new file mode 100644 index 0000000..a862101 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/PatternLayout.html @@ -0,0 +1,248 @@ + + + + + + + +PatternLayout (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.apache.log4j +
+Class PatternLayout

+
+java.lang.Object
+  extended by org.apache.log4j.Layout
+      extended by org.apache.log4j.PatternLayout
+
+
+
+
public class PatternLayout
extends Layout
+ + +

+This class is a minimal implementation of the original Log4J class. +

+ +

+

+
Author:
+
Christian Trutz
+
+
+ +

+ + + + + + + + + + + + + + +
+Constructor Summary
PatternLayout() + +
+           
PatternLayout(String pattern) + +
+           
+  + + + + + + + +
+Method Summary
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+PatternLayout

+
+public PatternLayout()
+
+
+
+ +

+PatternLayout

+
+public PatternLayout(String pattern)
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/Priority.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/Priority.html new file mode 100644 index 0000000..5743e16 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/Priority.html @@ -0,0 +1,738 @@ + + + + + + + +Priority (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.apache.log4j +
+Class Priority

+
+java.lang.Object
+  extended by org.apache.log4j.Priority
+
+
+
Direct Known Subclasses:
Level
+
+
+
+
public class Priority
extends Object
+ + +

+Refrain from using this class directly, use + the Level class instead. +

+ +

+

+
Author:
+
Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Field Summary
+static intALL_INT + +
+           
+static PriorityDEBUG + +
+          Deprecated. Use Level.DEBUG instead.
+static intDEBUG_INT + +
+           
+static PriorityERROR + +
+          Deprecated. Use Level.ERROR instead.
+static intERROR_INT + +
+           
+static PriorityFATAL + +
+          Deprecated. Use Level.FATAL instead.
+static intFATAL_INT + +
+           
+static PriorityINFO + +
+          Deprecated. Use Level.INFO instead.
+static intINFO_INT + +
+           
+static intOFF_INT + +
+           
+static PriorityWARN + +
+          Deprecated. Use Level.WARN instead.
+static intWARN_INT + +
+           
+  + + + + + + + + + + + + + + + +
+Constructor Summary
+protected Priority() + +
+          Default constructor for deserialization.
+protected Priority(int level, + String levelStr, + int syslogEquivalent) + +
+          Instantiate a level object.
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ booleanequals(Object o) + +
+          Two priorities are equal if their level fields are equal.
+static Priority[]getAllPossiblePriorities() + +
+          Deprecated. This method will be removed with no replacement.
+ intgetSyslogEquivalent() + +
+          Return the syslog equivalent of this priority as an integer.
+ booleanisGreaterOrEqual(Priority r) + +
+          Returns true if this level has a higher or equal + level than the level passed as argument, false + otherwise.
+ inttoInt() + +
+          Returns the integer representation of this level.
+static PrioritytoPriority(int val) + +
+          Deprecated. Please use the Level.toLevel(int) method instead.
+static PrioritytoPriority(int val, + Priority defaultPriority) + +
+          Deprecated. Please use the Level.toLevel(int, Level) method instead.
+static PrioritytoPriority(String sArg) + +
+          Deprecated. Please use the Level.toLevel(String) method instead.
+static PrioritytoPriority(String sArg, + Priority defaultPriority) + +
+          Deprecated. Please use the Level.toLevel(String, Level) method instead.
+ StringtoString() + +
+          Returns the string representation of this priority.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Field Detail
+ +

+OFF_INT

+
+public static final int OFF_INT
+
+
+
See Also:
Constant Field Values
+
+
+ +

+FATAL_INT

+
+public static final int FATAL_INT
+
+
+
See Also:
Constant Field Values
+
+
+ +

+ERROR_INT

+
+public static final int ERROR_INT
+
+
+
See Also:
Constant Field Values
+
+
+ +

+WARN_INT

+
+public static final int WARN_INT
+
+
+
See Also:
Constant Field Values
+
+
+ +

+INFO_INT

+
+public static final int INFO_INT
+
+
+
See Also:
Constant Field Values
+
+
+ +

+DEBUG_INT

+
+public static final int DEBUG_INT
+
+
+
See Also:
Constant Field Values
+
+
+ +

+ALL_INT

+
+public static final int ALL_INT
+
+
+
See Also:
Constant Field Values
+
+
+ +

+FATAL

+
+public static final Priority FATAL
+
+
Deprecated. Use Level.FATAL instead.
+
+
+
+ +

+ERROR

+
+public static final Priority ERROR
+
+
Deprecated. Use Level.ERROR instead.
+
+
+
+ +

+WARN

+
+public static final Priority WARN
+
+
Deprecated. Use Level.WARN instead.
+
+
+
+ +

+INFO

+
+public static final Priority INFO
+
+
Deprecated. Use Level.INFO instead.
+
+
+
+ +

+DEBUG

+
+public static final Priority DEBUG
+
+
Deprecated. Use Level.DEBUG instead.
+
+
+ + + + + + + + +
+Constructor Detail
+ +

+Priority

+
+protected Priority()
+
+
Default constructor for deserialization. +

+

+
+ +

+Priority

+
+protected Priority(int level,
+                   String levelStr,
+                   int syslogEquivalent)
+
+
Instantiate a level object. +

+

+ + + + + + + + +
+Method Detail
+ +

+equals

+
+public boolean equals(Object o)
+
+
Two priorities are equal if their level fields are equal. +

+

+
Overrides:
equals in class Object
+
+
+
Since:
+
1.2
+
+
+
+
+ +

+getSyslogEquivalent

+
+public final int getSyslogEquivalent()
+
+
Return the syslog equivalent of this priority as an integer. +

+

+
+
+
+
+ +

+isGreaterOrEqual

+
+public boolean isGreaterOrEqual(Priority r)
+
+
Returns true if this level has a higher or equal + level than the level passed as argument, false + otherwise. + +

You should think twice before overriding the default + implementation of isGreaterOrEqual method. +

+

+
+
+
+
+ +

+getAllPossiblePriorities

+
+public static Priority[] getAllPossiblePriorities()
+
+
Deprecated. This method will be removed with no replacement. +

+

Return all possible priorities as an array of Level objects in + descending order. +

+

+
+
+
+
+ +

+toString

+
+public final String toString()
+
+
Returns the string representation of this priority. +

+

+
Overrides:
toString in class Object
+
+
+
+
+
+
+ +

+toInt

+
+public final int toInt()
+
+
Returns the integer representation of this level. +

+

+
+
+
+
+ +

+toPriority

+
+public static Priority toPriority(String sArg)
+
+
Deprecated. Please use the Level.toLevel(String) method instead. +

+

+
+
+
+
+ +

+toPriority

+
+public static Priority toPriority(int val)
+
+
Deprecated. Please use the Level.toLevel(int) method instead. +

+

+
+
+
+
+ +

+toPriority

+
+public static Priority toPriority(int val,
+                                  Priority defaultPriority)
+
+
Deprecated. Please use the Level.toLevel(int, Level) method instead. +

+

+
+
+
+
+ +

+toPriority

+
+public static Priority toPriority(String sArg,
+                                  Priority defaultPriority)
+
+
Deprecated. Please use the Level.toLevel(String, Level) method instead. +

+

+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/PropertyConfigurator.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/PropertyConfigurator.html new file mode 100644 index 0000000..ecb2ac3 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/PropertyConfigurator.html @@ -0,0 +1,449 @@ + + + + + + + +PropertyConfigurator (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.apache.log4j +
+Class PropertyConfigurator

+
+java.lang.Object
+  extended by org.apache.log4j.PropertyConfigurator
+
+
+
All Implemented Interfaces:
Configurator
+
+
+
+
public class PropertyConfigurator
extends Object
implements Configurator
+ + +

+An nop implementation of PropertyConfigurator. +

+ +

+


+ +

+ + + + + + + +
+Field Summary
+ + + + + + + +
Fields inherited from interface org.apache.log4j.spi.Configurator
INHERITED, NULL
+  + + + + + + + + + + +
+Constructor Summary
PropertyConfigurator() + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+static voidconfigure(Properties properties) + +
+           
+static voidconfigure(String configFilename) + +
+           
+static voidconfigure(URL configURL) + +
+           
+static voidconfigureAndWatch(String configFilename) + +
+           
+static voidconfigureAndWatch(String configFilename, + long delay) + +
+           
+ voiddoConfigure(Properties properties, + LoggerRepository hierarchy) + +
+           
+ voiddoConfigure(String configFileName, + LoggerRepository hierarchy) + +
+           
+ voiddoConfigure(URL configURL, + LoggerRepository hierarchy) + +
+          Interpret a resource pointed by a URL and set up log4j accordingly.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+PropertyConfigurator

+
+public PropertyConfigurator()
+
+
+ + + + + + + + +
+Method Detail
+ +

+configure

+
+public static void configure(Properties properties)
+
+
+
+
+
+
+
+
+
+ +

+configure

+
+public static void configure(String configFilename)
+
+
+
+
+
+
+
+
+
+ +

+configure

+
+public static void configure(URL configURL)
+
+
+
+
+
+
+
+
+
+ +

+configureAndWatch

+
+public static void configureAndWatch(String configFilename)
+
+
+
+
+
+
+
+
+
+ +

+configureAndWatch

+
+public static void configureAndWatch(String configFilename,
+                                     long delay)
+
+
+
+
+
+
+
+
+
+ +

+doConfigure

+
+public void doConfigure(Properties properties,
+                        LoggerRepository hierarchy)
+
+
+
+
+
+
+
+
+
+ +

+doConfigure

+
+public void doConfigure(String configFileName,
+                        LoggerRepository hierarchy)
+
+
+
+
+
+
+
+
+
+ +

+doConfigure

+
+public void doConfigure(URL configURL,
+                        LoggerRepository hierarchy)
+
+
Description copied from interface: Configurator
+
Interpret a resource pointed by a URL and set up log4j accordingly. + + The configuration is done relative to the hierarchy + parameter. +

+

+
Specified by:
doConfigure in interface Configurator
+
+
+
Parameters:
configURL - The URL to parse
hierarchy - The hierarchy to operation upon.
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/RollingFileAppender.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/RollingFileAppender.html new file mode 100644 index 0000000..515042f --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/RollingFileAppender.html @@ -0,0 +1,324 @@ + + + + + + + +RollingFileAppender (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.apache.log4j +
+Class RollingFileAppender

+
+java.lang.Object
+  extended by org.apache.log4j.RollingFileAppender
+
+
+
+
public class RollingFileAppender
extends Object
+ + +

+This class is a minimal implementation of the original Log4J class. +

+ +

+

+
Author:
+
Christian Trutz
+
+
+ +

+ + + + + + + + + + + + + + + + + +
+Constructor Summary
RollingFileAppender() + +
+           
RollingFileAppender(Layout layout, + String filename) + +
+           
RollingFileAppender(Layout layout, + String filename, + boolean append) + +
+           
+  + + + + + + + + + + + + + + + +
+Method Summary
+ voidsetMaxBackupIndex(int maxBackups) + +
+           
+ voidsetMaximumFileSize(long maxFileSize) + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+RollingFileAppender

+
+public RollingFileAppender()
+
+
+
+ +

+RollingFileAppender

+
+public RollingFileAppender(Layout layout,
+                           String filename)
+                    throws IOException
+
+
+ +
Throws: +
IOException
+
+
+ +

+RollingFileAppender

+
+public RollingFileAppender(Layout layout,
+                           String filename,
+                           boolean append)
+                    throws IOException
+
+
+ +
Throws: +
IOException
+
+ + + + + + + + +
+Method Detail
+ +

+setMaxBackupIndex

+
+public void setMaxBackupIndex(int maxBackups)
+
+
+
+
+
+
+ +

+setMaximumFileSize

+
+public void setMaximumFileSize(long maxFileSize)
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/Appender.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/Appender.html new file mode 100644 index 0000000..3f49373 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/Appender.html @@ -0,0 +1,238 @@ + + + + + + + +Uses of Interface org.apache.log4j.Appender (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Interface
org.apache.log4j.Appender

+
+ + + + + + + + + + + + + +
+Packages that use Appender
org.apache.log4jAn rather minimal but sufficient implementation redirecting all + calls to a log4j logger to a logback logger. 
org.apache.log4j.spi  
+  +

+ + + + + +
+Uses of Appender in org.apache.log4j
+  +

+ + + + + + + + + + + + + +
Methods in org.apache.log4j with parameters of type Appender
+ voidCategory.addAppender(Appender newAppender) + +
+           
+static voidBasicConfigurator.configure(Appender appender) + +
+           
+  +

+ + + + + +
+Uses of Appender in org.apache.log4j.spi
+  +

+ + + + + + + + + + + + + + + + + +
Methods in org.apache.log4j.spi with parameters of type Appender
+ voidHierarchyEventListener.addAppenderEvent(Category cat, + Appender appender) + +
+           
+ voidLoggerRepository.fireAddAppenderEvent(Category logger, + Appender appender) + +
+           
+ voidHierarchyEventListener.removeAppenderEvent(Category cat, + Appender appender) + +
+           
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/BasicConfigurator.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/BasicConfigurator.html new file mode 100644 index 0000000..e0535ca --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/BasicConfigurator.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.apache.log4j.BasicConfigurator (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.apache.log4j.BasicConfigurator

+
+No usage of org.apache.log4j.BasicConfigurator +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/Category.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/Category.html new file mode 100644 index 0000000..ba2eec2 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/Category.html @@ -0,0 +1,265 @@ + + + + + + + +Uses of Class org.apache.log4j.Category (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.apache.log4j.Category

+
+ + + + + + + + + + + + + +
+Packages that use Category
org.apache.log4jAn rather minimal but sufficient implementation redirecting all + calls to a log4j logger to a logback logger. 
org.apache.log4j.spi  
+  +

+ + + + + +
+Uses of Category in org.apache.log4j
+  +

+ + + + + + + + + +
Subclasses of Category in org.apache.log4j
+ classLogger + +
+           + This class is a minimal implementation of the original + org.apache.log4j.Logger class (as found in log4j 1.2) + delegating all calls to a Logger instance.
+  +

+ + + + + + + + + + + + + +
Methods in org.apache.log4j that return Category
+static CategoryCategory.getInstance(Class clazz) + +
+           
+static CategoryCategory.getInstance(String name) + +
+           
+  +

+ + + + + +
+Uses of Category in org.apache.log4j.spi
+  +

+ + + + + + + + + + + + + + + + + + + + + +
Methods in org.apache.log4j.spi with parameters of type Category
+ voidHierarchyEventListener.addAppenderEvent(Category cat, + Appender appender) + +
+           
+ voidLoggerRepository.emitNoAppenderWarning(Category cat) + +
+           
+ voidLoggerRepository.fireAddAppenderEvent(Category logger, + Appender appender) + +
+           
+ voidHierarchyEventListener.removeAppenderEvent(Category cat, + Appender appender) + +
+           
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/Layout.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/Layout.html new file mode 100644 index 0000000..f38e3b8 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/Layout.html @@ -0,0 +1,205 @@ + + + + + + + +Uses of Class org.apache.log4j.Layout (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.apache.log4j.Layout

+
+ + + + + + + + + +
+Packages that use Layout
org.apache.log4jAn rather minimal but sufficient implementation redirecting all + calls to a log4j logger to a logback logger. 
+  +

+ + + + + +
+Uses of Layout in org.apache.log4j
+  +

+ + + + + + + + + +
Subclasses of Layout in org.apache.log4j
+ classPatternLayout + +
+          This class is a minimal implementation of the original Log4J class.
+  +

+ + + + + + + + + + + +
Constructors in org.apache.log4j with parameters of type Layout
RollingFileAppender(Layout layout, + String filename) + +
+           
RollingFileAppender(Layout layout, + String filename, + boolean append) + +
+           
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/Level.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/Level.html new file mode 100644 index 0000000..963f7bd --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/Level.html @@ -0,0 +1,384 @@ + + + + + + + +Uses of Class org.apache.log4j.Level (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.apache.log4j.Level

+
+ + + + + + + + + + + + + +
+Packages that use Level
org.apache.log4jAn rather minimal but sufficient implementation redirecting all + calls to a log4j logger to a logback logger. 
org.apache.log4j.spi  
+  +

+ + + + + +
+Uses of Level in org.apache.log4j
+  +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Fields in org.apache.log4j declared as Level
+static LevelLevel.ALL + +
+          The ALL has the lowest possible rank and is intended to + turn on all logging.
+static LevelLevel.DEBUG + +
+          The DEBUG Level designates fine-grained + informational events that are most useful to debug an + application.
+static LevelLevel.ERROR + +
+          The ERROR level designates error events that + might still allow the application to continue running.
+static LevelLevel.FATAL + +
+          The FATAL level designates very severe error + events that will presumably lead the application to abort.
+static LevelLevel.INFO + +
+          The INFO level designates informational messages + that highlight the progress of the application at coarse-grained + level.
+static LevelLevel.OFF + +
+          The OFF has the highest possible rank and is + intended to turn off logging.
+static LevelLevel.TRACE + +
+          The TRACE Level designates finer-grained + informational events than the DEBUG +
+static LevelLevel.WARN + +
+          The WARN level designates potentially harmful situations.
+  +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Methods in org.apache.log4j that return Level
+ LevelCategory.getEffectiveLevel() + +
+          Return the level in effect for this category/logger.
+ LevelCategory.getLevel() + +
+          Returns the assigned Level, if any, for this Category.
+ LevelCategory.getPriority() + +
+          Deprecated. Please use Category.getLevel() instead.
+static LevelLevel.toLevel(int val) + +
+          Convert an integer passed as argument to a level.
+static LevelLevel.toLevel(int val, + Level defaultLevel) + +
+          Convert an integer passed as argument to a level.
+static LevelLevel.toLevel(String sArg) + +
+          Convert the string passed as argument to a level.
+static LevelLevel.toLevel(String sArg, + Level defaultLevel) + +
+          Convert the string passed as argument to a level.
+  +

+ + + + + + + + + + + + + +
Methods in org.apache.log4j with parameters of type Level
+static LevelLevel.toLevel(int val, + Level defaultLevel) + +
+          Convert an integer passed as argument to a level.
+static LevelLevel.toLevel(String sArg, + Level defaultLevel) + +
+          Convert the string passed as argument to a level.
+  +

+ + + + + +
+Uses of Level in org.apache.log4j.spi
+  +

+ + + + + + + + + +
Methods in org.apache.log4j.spi that return Level
+ LevelLoggerRepository.getThreshold() + +
+          Get the repository-wide threshold.
+  +

+ + + + + + + + + +
Methods in org.apache.log4j.spi with parameters of type Level
+ voidLoggerRepository.setThreshold(Level level) + +
+          Set the repository-wide threshold.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/LogManager.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/LogManager.html new file mode 100644 index 0000000..34deced --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/LogManager.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.apache.log4j.LogManager (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.apache.log4j.LogManager

+
+No usage of org.apache.log4j.LogManager +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/Logger.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/Logger.html new file mode 100644 index 0000000..0d0b5e7 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/Logger.html @@ -0,0 +1,302 @@ + + + + + + + +Uses of Class org.apache.log4j.Logger (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.apache.log4j.Logger

+
+ + + + + + + + + + + + + +
+Packages that use Logger
org.apache.log4jAn rather minimal but sufficient implementation redirecting all + calls to a log4j logger to a logback logger. 
org.apache.log4j.spi  
+  +

+ + + + + +
+Uses of Logger in org.apache.log4j
+  +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Methods in org.apache.log4j that return Logger
+static LoggerLogManager.getLogger(Class clazz) + +
+           
+static LoggerLogger.getLogger(Class clazz) + +
+           
+static LoggerLogManager.getLogger(String name) + +
+           
+static LoggerLogger.getLogger(String name) + +
+           
+static LoggerLogManager.getLogger(String name, + LoggerFactory loggerFactory) + +
+          Returns a logger instance created by loggerFactory.
+static LoggerLogger.getLogger(String name, + LoggerFactory loggerFactory) + +
+           
+static LoggerLogManager.getRootLogger() + +
+           
+static LoggerLogger.getRootLogger() + +
+          Does the obvious.
+  +

+ + + + + +
+Uses of Logger in org.apache.log4j.spi
+  +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
Methods in org.apache.log4j.spi that return Logger
+ LoggerLoggerRepository.exists(String name) + +
+           
+ LoggerLoggerRepository.getLogger(String name) + +
+           
+ LoggerLoggerRepository.getLogger(String name, + LoggerFactory factory) + +
+           
+ LoggerLoggerRepository.getRootLogger() + +
+           
+ LoggerLoggerFactory.makeNewLoggerInstance(String name) + +
+           
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/MDC.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/MDC.html new file mode 100644 index 0000000..915f579 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/MDC.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.apache.log4j.MDC (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.apache.log4j.MDC

+
+No usage of org.apache.log4j.MDC +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/NDC.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/NDC.html new file mode 100644 index 0000000..cea5c69 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/NDC.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.apache.log4j.NDC (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.apache.log4j.NDC

+
+No usage of org.apache.log4j.NDC +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/PatternLayout.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/PatternLayout.html new file mode 100644 index 0000000..e271d75 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/PatternLayout.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.apache.log4j.PatternLayout (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.apache.log4j.PatternLayout

+
+No usage of org.apache.log4j.PatternLayout +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/Priority.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/Priority.html new file mode 100644 index 0000000..2a6c994 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/Priority.html @@ -0,0 +1,369 @@ + + + + + + + +Uses of Class org.apache.log4j.Priority (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.apache.log4j.Priority

+
+ + + + + + + + + +
+Packages that use Priority
org.apache.log4jAn rather minimal but sufficient implementation redirecting all + calls to a log4j logger to a logback logger. 
+  +

+ + + + + +
+Uses of Priority in org.apache.log4j
+  +

+ + + + + + + + + +
Subclasses of Priority in org.apache.log4j
+ classLevel + +
+          Defines the minimum set of levels recognized by the system, that is + OFF, FATAL, ERROR, + WARN, INFO, DEBUG and + ALL.
+  +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
Fields in org.apache.log4j declared as Priority
+static PriorityPriority.DEBUG + +
+          Deprecated. Use Level.DEBUG instead.
+static PriorityPriority.ERROR + +
+          Deprecated. Use Level.ERROR instead.
+static PriorityPriority.FATAL + +
+          Deprecated. Use Level.FATAL instead.
+static PriorityPriority.INFO + +
+          Deprecated. Use Level.INFO instead.
+static PriorityPriority.WARN + +
+          Deprecated. Use Level.WARN instead.
+  +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
Methods in org.apache.log4j that return Priority
+static Priority[]Priority.getAllPossiblePriorities() + +
+          Deprecated. This method will be removed with no replacement.
+static PriorityPriority.toPriority(int val) + +
+          Deprecated. Please use the Level.toLevel(int) method instead.
+static PriorityPriority.toPriority(int val, + Priority defaultPriority) + +
+          Deprecated. Please use the Level.toLevel(int, Level) method instead.
+static PriorityPriority.toPriority(String sArg) + +
+          Deprecated. Please use the Level.toLevel(String) method instead.
+static PriorityPriority.toPriority(String sArg, + Priority defaultPriority) + +
+          Deprecated. Please use the Level.toLevel(String, Level) method instead.
+  +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Methods in org.apache.log4j with parameters of type Priority
+protected  voidCategory.forcedLog(String FQCN, + Priority p, + Object msg, + Throwable t) + +
+           
+ booleanCategory.isEnabledFor(Priority p) + +
+          Determines whether the priority passed as parameter is enabled in the + underlying SLF4J logger.
+ booleanPriority.isGreaterOrEqual(Priority r) + +
+          Returns true if this level has a higher or equal + level than the level passed as argument, false + otherwise.
+ voidCategory.log(Priority p, + Object message) + +
+           
+ voidCategory.log(Priority p, + Object message, + Throwable t) + +
+           
+ voidCategory.log(String FQCN, + Priority p, + Object msg, + Throwable t) + +
+           
+static PriorityPriority.toPriority(int val, + Priority defaultPriority) + +
+          Deprecated. Please use the Level.toLevel(int, Level) method instead.
+static PriorityPriority.toPriority(String sArg, + Priority defaultPriority) + +
+          Deprecated. Please use the Level.toLevel(String, Level) method instead.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/PropertyConfigurator.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/PropertyConfigurator.html new file mode 100644 index 0000000..a1802da --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/PropertyConfigurator.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.apache.log4j.PropertyConfigurator (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.apache.log4j.PropertyConfigurator

+
+No usage of org.apache.log4j.PropertyConfigurator +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/RollingFileAppender.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/RollingFileAppender.html new file mode 100644 index 0000000..d9379e1 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/class-use/RollingFileAppender.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.apache.log4j.RollingFileAppender (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.apache.log4j.RollingFileAppender

+
+No usage of org.apache.log4j.RollingFileAppender +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/helpers/LogLog.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/helpers/LogLog.html new file mode 100644 index 0000000..4465dab --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/helpers/LogLog.html @@ -0,0 +1,532 @@ + + + + + + + +LogLog (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.apache.log4j.helpers +
+Class LogLog

+
+java.lang.Object
+  extended by org.apache.log4j.helpers.LogLog
+
+
+
+
public class LogLog
extends Object
+ + +

+This class used to output log statements from within the log4j package. + +

Log4j components cannot make log4j logging calls. However, it is + sometimes useful for the user to learn about what log4j is + doing. You can enable log4j internal logging by defining the + log4j.configDebug variable. + +

All log4j internal debug calls go to System.out + where as internal error messages are sent to + System.err. All internal messages are prepended with + the string "log4j: ". +

+ +

+

+
Since:
+
0.8.2
+
Author:
+
Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + + + + + + + + + +
+Field Summary
+static StringCONFIG_DEBUG_KEY + +
+          Deprecated. Use DEBUG_KEY instead.
+static StringDEBUG_KEY + +
+          Defining this value makes log4j print log4j-internal debug + statements to System.out.
+protected static booleandebugEnabled + +
+           
+  + + + + + + + + + + +
+Constructor Summary
LogLog() + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+static voiddebug(String msg) + +
+          This method is used to output log4j internal debug + statements.
+static voiddebug(String msg, + Throwable t) + +
+          This method is used to output log4j internal debug + statements.
+static voiderror(String msg) + +
+          This method is used to output log4j internal error + statements.
+static voiderror(String msg, + Throwable t) + +
+          This method is used to output log4j internal error + statements.
+static voidsetInternalDebugging(boolean enabled) + +
+          Allows to enable/disable log4j internal logging.
+static voidsetQuietMode(boolean quietMode) + +
+          In quite mode no LogLog generates strictly no output, not even + for errors.
+static voidwarn(String msg) + +
+          This method is used to output log4j internal warning + statements.
+static voidwarn(String msg, + Throwable t) + +
+          This method is used to output log4j internal warnings.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Field Detail
+ +

+DEBUG_KEY

+
+public static final String DEBUG_KEY
+
+
Defining this value makes log4j print log4j-internal debug + statements to System.out. + +

The value of this string is log4j.debug. + +

Note that the search for all option names is case sensitive. +

+

+
See Also:
Constant Field Values
+
+
+ +

+CONFIG_DEBUG_KEY

+
+public static final String CONFIG_DEBUG_KEY
+
+
Deprecated. Use DEBUG_KEY instead.
Defining this value makes log4j components print log4j-internal + debug statements to System.out. + +

The value of this string is log4j.configDebug. + +

Note that the search for all option names is case sensitive. +

+

+
See Also:
Constant Field Values
+
+
+ +

+debugEnabled

+
+protected static boolean debugEnabled
+
+
+
+
+ + + + + + + + +
+Constructor Detail
+ +

+LogLog

+
+public LogLog()
+
+
+ + + + + + + + +
+Method Detail
+ +

+setInternalDebugging

+
+public static void setInternalDebugging(boolean enabled)
+
+
Allows to enable/disable log4j internal logging. +

+

+
+
+
+
+ +

+debug

+
+public static void debug(String msg)
+
+
This method is used to output log4j internal debug + statements. Output goes to System.out. +

+

+
+
+
+
+ +

+debug

+
+public static void debug(String msg,
+                         Throwable t)
+
+
This method is used to output log4j internal debug + statements. Output goes to System.out. +

+

+
+
+
+
+ +

+error

+
+public static void error(String msg)
+
+
This method is used to output log4j internal error + statements. There is no way to disable error statements. + Output goes to System.err. +

+

+
+
+
+
+ +

+error

+
+public static void error(String msg,
+                         Throwable t)
+
+
This method is used to output log4j internal error + statements. There is no way to disable error statements. + Output goes to System.err. +

+

+
+
+
+
+ +

+setQuietMode

+
+public static void setQuietMode(boolean quietMode)
+
+
In quite mode no LogLog generates strictly no output, not even + for errors. +

+

+
Parameters:
quietMode - A true for not
+
+
+
+ +

+warn

+
+public static void warn(String msg)
+
+
This method is used to output log4j internal warning + statements. There is no way to disable warning statements. + Output goes to System.err. +

+

+
+
+
+
+ +

+warn

+
+public static void warn(String msg,
+                        Throwable t)
+
+
This method is used to output log4j internal warnings. There is + no way to disable warning statements. Output goes to + System.err. +

+

+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/helpers/NullEnumeration.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/helpers/NullEnumeration.html new file mode 100644 index 0000000..54f9b7a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/helpers/NullEnumeration.html @@ -0,0 +1,280 @@ + + + + + + + +NullEnumeration (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.apache.log4j.helpers +
+Class NullEnumeration

+
+java.lang.Object
+  extended by org.apache.log4j.helpers.NullEnumeration
+
+
+
All Implemented Interfaces:
Enumeration
+
+
+
+
public class NullEnumeration
extends Object
implements Enumeration
+ + +

+An always-empty Enumerator. +

+ +

+

+
Since:
+
version 1.0
+
Author:
+
Anders Kristensen
+
+
+ +

+ + + + + + + + + + + + + + + + + + + + +
+Method Summary
+static NullEnumerationgetInstance() + +
+           
+ booleanhasMoreElements() + +
+           
+ ObjectnextElement() + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Method Detail
+ +

+getInstance

+
+public static NullEnumeration getInstance()
+
+
+
+
+
+
+
+
+
+ +

+hasMoreElements

+
+public boolean hasMoreElements()
+
+
+
Specified by:
hasMoreElements in interface Enumeration
+
+
+
+
+
+
+ +

+nextElement

+
+public Object nextElement()
+
+
+
Specified by:
nextElement in interface Enumeration
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/helpers/class-use/LogLog.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/helpers/class-use/LogLog.html new file mode 100644 index 0000000..ce3edd1 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/helpers/class-use/LogLog.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.apache.log4j.helpers.LogLog (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.apache.log4j.helpers.LogLog

+
+No usage of org.apache.log4j.helpers.LogLog +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/helpers/class-use/NullEnumeration.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/helpers/class-use/NullEnumeration.html new file mode 100644 index 0000000..8251ff3 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/helpers/class-use/NullEnumeration.html @@ -0,0 +1,181 @@ + + + + + + + +Uses of Class org.apache.log4j.helpers.NullEnumeration (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.apache.log4j.helpers.NullEnumeration

+
+ + + + + + + + + +
+Packages that use NullEnumeration
org.apache.log4j.helpers  
+  +

+ + + + + +
+Uses of NullEnumeration in org.apache.log4j.helpers
+  +

+ + + + + + + + + +
Methods in org.apache.log4j.helpers that return NullEnumeration
+static NullEnumerationNullEnumeration.getInstance() + +
+           
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/helpers/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/helpers/package-frame.html new file mode 100644 index 0000000..d62f1c9 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/helpers/package-frame.html @@ -0,0 +1,35 @@ + + + + + + + +org.apache.log4j.helpers (SLF4J 1.7.5 API) + + + + + + + + + + + +org.apache.log4j.helpers + + + + +
+Classes  + +
+LogLog +
+NullEnumeration
+ + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/helpers/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/helpers/package-summary.html new file mode 100644 index 0000000..f382a3a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/helpers/package-summary.html @@ -0,0 +1,162 @@ + + + + + + + +org.apache.log4j.helpers (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+

+Package org.apache.log4j.helpers +

+ + + + + + + + + + + + + +
+Class Summary
LogLogThis class used to output log statements from within the log4j package.
NullEnumerationAn always-empty Enumerator.
+  + +

+

+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/helpers/package-tree.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/helpers/package-tree.html new file mode 100644 index 0000000..4e5a9c2 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/helpers/package-tree.html @@ -0,0 +1,155 @@ + + + + + + + +org.apache.log4j.helpers Class Hierarchy (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For Package org.apache.log4j.helpers +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/helpers/package-use.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/helpers/package-use.html new file mode 100644 index 0000000..de3fa17 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/helpers/package-use.html @@ -0,0 +1,171 @@ + + + + + + + +Uses of Package org.apache.log4j.helpers (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Package
org.apache.log4j.helpers

+
+ + + + + + + + + +
+Packages that use org.apache.log4j.helpers
org.apache.log4j.helpers  
+  +

+ + + + + + + + +
+Classes in org.apache.log4j.helpers used by org.apache.log4j.helpers
NullEnumeration + +
+          An always-empty Enumerator.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/package-frame.html new file mode 100644 index 0000000..73ba4f1 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/package-frame.html @@ -0,0 +1,66 @@ + + + + + + + +org.apache.log4j (SLF4J 1.7.5 API) + + + + + + + + + + + +org.apache.log4j + + + + +
+Interfaces  + +
+Appender
+ + + + + + +
+Classes  + +
+BasicConfigurator +
+Category +
+Layout +
+Level +
+Logger +
+LogManager +
+MDC +
+NDC +
+PatternLayout +
+Priority +
+PropertyConfigurator +
+RollingFileAppender
+ + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/package-summary.html new file mode 100644 index 0000000..8231b0e --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/package-summary.html @@ -0,0 +1,247 @@ + + + + + + + +org.apache.log4j (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+

+Package org.apache.log4j +

+An rather minimal but sufficient implementation redirecting all + calls to a log4j logger to a logback logger. +

+See: +
+          Description +

+ + + + + + + + + +
+Interface Summary
AppenderImplement this interface for your own strategies for outputting log + statements.
+  + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class Summary
BasicConfiguratorA minimal (nop) implementation of BasicConfigurator.
Category + This class is a minimal implementation of the original + org.apache.log4j.Category class (as found in log4j 1.2) by + delegation of all calls to a Logger instance.
LayoutThis class is a minimal implementation of the original Log4J class.
LevelDefines the minimum set of levels recognized by the system, that is + OFF, FATAL, ERROR, + WARN, INFO, DEBUG and + ALL.
Logger + This class is a minimal implementation of the original + org.apache.log4j.Logger class (as found in log4j 1.2) + delegating all calls to a Logger instance.
LogManager

+ This class is a minimal implementation of the original + org.apache.log4j.LogManager class (as found in log4j 1.2) + delegating all calls to SLF4J.

MDC 
NDCA log4j's NDC implemented in terms of SLF4J MDC primitives.
PatternLayoutThis class is a minimal implementation of the original Log4J class.
PriorityRefrain from using this class directly, use + the Level class instead.
PropertyConfiguratorAn nop implementation of PropertyConfigurator.
RollingFileAppenderThis class is a minimal implementation of the original Log4J class.
+  + +

+

+Package org.apache.log4j Description +

+ +

+

An rather minimal but sufficient implementation redirecting all + calls to a log4j logger to a logback logger.

+

+ +

+

+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/package-tree.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/package-tree.html new file mode 100644 index 0000000..db600c1 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/package-tree.html @@ -0,0 +1,167 @@ + + + + + + + +org.apache.log4j Class Hierarchy (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For Package org.apache.log4j +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+ +

+Interface Hierarchy +

+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/package-use.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/package-use.html new file mode 100644 index 0000000..47da042 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/package-use.html @@ -0,0 +1,260 @@ + + + + + + + +Uses of Package org.apache.log4j (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Package
org.apache.log4j

+
+ + + + + + + + + + + + + +
+Packages that use org.apache.log4j
org.apache.log4jAn rather minimal but sufficient implementation redirecting all + calls to a log4j logger to a logback logger. 
org.apache.log4j.spi  
+  +

+ + + + + + + + + + + + + + + + + + + + + + + +
+Classes in org.apache.log4j used by org.apache.log4j
Appender + +
+          Implement this interface for your own strategies for outputting log + statements.
Category + +
+           + This class is a minimal implementation of the original + org.apache.log4j.Category class (as found in log4j 1.2) by + delegation of all calls to a Logger instance.
Layout + +
+          This class is a minimal implementation of the original Log4J class.
Level + +
+          Defines the minimum set of levels recognized by the system, that is + OFF, FATAL, ERROR, + WARN, INFO, DEBUG and + ALL.
Logger + +
+           + This class is a minimal implementation of the original + org.apache.log4j.Logger class (as found in log4j 1.2) + delegating all calls to a Logger instance.
Priority + +
+          Refrain from using this class directly, use + the Level class instead.
+  +

+ + + + + + + + + + + + + + + + + +
+Classes in org.apache.log4j used by org.apache.log4j.spi
Appender + +
+          Implement this interface for your own strategies for outputting log + statements.
Category + +
+           + This class is a minimal implementation of the original + org.apache.log4j.Category class (as found in log4j 1.2) by + delegation of all calls to a Logger instance.
Level + +
+          Defines the minimum set of levels recognized by the system, that is + OFF, FATAL, ERROR, + WARN, INFO, DEBUG and + ALL.
Logger + +
+           + This class is a minimal implementation of the original + org.apache.log4j.Logger class (as found in log4j 1.2) + delegating all calls to a Logger instance.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/Configurator.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/Configurator.html new file mode 100644 index 0000000..dfcc71d --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/Configurator.html @@ -0,0 +1,288 @@ + + + + + + + +Configurator (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.apache.log4j.spi +
+Interface Configurator

+
+
All Known Implementing Classes:
DOMConfigurator, PropertyConfigurator
+
+
+
+
public interface Configurator
+ + +

+Implemented by classes capable of configuring log4j using a URL. +

+ +

+

+
Since:
+
1.0
+
Author:
+
Anders Kristensen
+
+
+ +

+ + + + + + + + + + + + + + + +
+Field Summary
+static StringINHERITED + +
+          Special level value signifying inherited behaviour.
+static StringNULL + +
+          Special level signifying inherited behaviour, same as INHERITED.
+  + + + + + + + + + + + +
+Method Summary
+ voiddoConfigure(URL url, + LoggerRepository repository) + +
+          Interpret a resource pointed by a URL and set up log4j accordingly.
+  +

+ + + + + + + + +
+Field Detail
+ +

+INHERITED

+
+static final String INHERITED
+
+
Special level value signifying inherited behaviour. The current + value of this string constant is inherited. NULL + is a synonym. +

+

+
See Also:
Constant Field Values
+
+
+ +

+NULL

+
+static final String NULL
+
+
Special level signifying inherited behaviour, same as INHERITED. The current value of this string constant is + null. +

+

+
See Also:
Constant Field Values
+
+ + + + + + + + +
+Method Detail
+ +

+doConfigure

+
+void doConfigure(URL url,
+                 LoggerRepository repository)
+
+
Interpret a resource pointed by a URL and set up log4j accordingly. + + The configuration is done relative to the hierarchy + parameter. +

+

+
Parameters:
url - The URL to parse
repository - The hierarchy to operation upon.
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/ErrorHandler.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/ErrorHandler.html new file mode 100644 index 0000000..a250340 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/ErrorHandler.html @@ -0,0 +1,233 @@ + + + + + + + +ErrorHandler (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.apache.log4j.spi +
+Class ErrorHandler

+
+java.lang.Object
+  extended by org.apache.log4j.spi.ErrorHandler
+
+
+
+
public class ErrorHandler
extends Object
+ + +

+Created by IntelliJ IDEA. + User: ceki + Date: 19 oct. 2010 + Time: 11:46:24 + To change this template use File | Settings | File Templates. +

+ +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
ErrorHandler() + +
+           
+  + + + + + + + +
+Method Summary
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+ErrorHandler

+
+public ErrorHandler()
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/Filter.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/Filter.html new file mode 100644 index 0000000..b6df49f --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/Filter.html @@ -0,0 +1,225 @@ + + + + + + + +Filter (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.apache.log4j.spi +
+Class Filter

+
+java.lang.Object
+  extended by org.apache.log4j.spi.Filter
+
+
+
+
public class Filter
extends Object
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
Filter() + +
+           
+  + + + + + + + +
+Method Summary
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+Filter

+
+public Filter()
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/HierarchyEventListener.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/HierarchyEventListener.html new file mode 100644 index 0000000..b537101 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/HierarchyEventListener.html @@ -0,0 +1,240 @@ + + + + + + + +HierarchyEventListener (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.apache.log4j.spi +
+Interface HierarchyEventListener

+
+
+
public interface HierarchyEventListener
+ + +

+Listen to events occuring within a Hierarchy. +

+ +

+

+
Since:
+
1.2
+
Author:
+
Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Method Summary
+ voidaddAppenderEvent(Category cat, + Appender appender) + +
+           
+ voidremoveAppenderEvent(Category cat, + Appender appender) + +
+           
+  +

+ + + + + + + + +
+Method Detail
+ +

+addAppenderEvent

+
+void addAppenderEvent(Category cat,
+                      Appender appender)
+
+
+
+
+
+
+ +

+removeAppenderEvent

+
+void removeAppenderEvent(Category cat,
+                         Appender appender)
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/Layout.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/Layout.html new file mode 100644 index 0000000..5b9162b --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/Layout.html @@ -0,0 +1,225 @@ + + + + + + + +Layout (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.apache.log4j.spi +
+Class Layout

+
+java.lang.Object
+  extended by org.apache.log4j.spi.Layout
+
+
+
+
public class Layout
extends Object
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
Layout() + +
+           
+  + + + + + + + +
+Method Summary
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+Layout

+
+public Layout()
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/LoggerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/LoggerFactory.html new file mode 100644 index 0000000..2063d1f --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/LoggerFactory.html @@ -0,0 +1,220 @@ + + + + + + + +LoggerFactory (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.apache.log4j.spi +
+Interface LoggerFactory

+
+
+
public interface LoggerFactory
+ + +

+Implement this interface to create new instances of Logger or + a sub-class of Logger. + +

See examples/subclass/MyLogger.java for an example. +

+ +

+

+
Since:
+
version 0.8.5
+
Author:
+
Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + + +
+Method Summary
+ LoggermakeNewLoggerInstance(String name) + +
+           
+  +

+ + + + + + + + +
+Method Detail
+ +

+makeNewLoggerInstance

+
+Logger makeNewLoggerInstance(String name)
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/LoggerRepository.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/LoggerRepository.html new file mode 100644 index 0000000..233e492 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/LoggerRepository.html @@ -0,0 +1,514 @@ + + + + + + + +LoggerRepository (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.apache.log4j.spi +
+Interface LoggerRepository

+
+
+
public interface LoggerRepository
+ + +

+A LoggerRepository is used to create and retrieve + Loggers. The relation between loggers in a repository + depends on the repository but typically loggers are arranged in a + named hierarchy. +

+

In addition to the creational methods, a + LoggerRepository can be queried for existing loggers, + can act as a point of registry for events related to loggers. +

+ +

+

+
Since:
+
1.2
+
Author:
+
Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidaddHierarchyEventListener(HierarchyEventListener listener) + +
+          Add a HierarchyEventListener event to the repository.
+ voidemitNoAppenderWarning(Category cat) + +
+           
+ Loggerexists(String name) + +
+           
+ voidfireAddAppenderEvent(Category logger, + Appender appender) + +
+           
+ EnumerationgetCurrentCategories() + +
+          Deprecated.
+ EnumerationgetCurrentLoggers() + +
+           
+ LoggergetLogger(String name) + +
+           
+ LoggergetLogger(String name, + LoggerFactory factory) + +
+           
+ LoggergetRootLogger() + +
+           
+ LevelgetThreshold() + +
+          Get the repository-wide threshold.
+ booleanisDisabled(int level) + +
+          Returns whether this repository is disabled for a given + level.
+ voidresetConfiguration() + +
+           
+ voidsetThreshold(Level level) + +
+          Set the repository-wide threshold.
+ voidsetThreshold(String val) + +
+          Another form of setThreshold(Level) accepting a string + parameter instead of a Level.
+ voidshutdown() + +
+           
+  +

+ + + + + + + + +
+Method Detail
+ +

+addHierarchyEventListener

+
+void addHierarchyEventListener(HierarchyEventListener listener)
+
+
Add a HierarchyEventListener event to the repository. +

+

+
+
+
+
+ +

+isDisabled

+
+boolean isDisabled(int level)
+
+
Returns whether this repository is disabled for a given + level. The answer depends on the repository threshold and the + level parameter. See also setThreshold(org.apache.log4j.Level) + method. +

+

+
+
+
+
+ +

+setThreshold

+
+void setThreshold(Level level)
+
+
Set the repository-wide threshold. All logging requests below the + threshold are immediately dropped. By default, the threshold is + set to Level.ALL which has the lowest possible rank. +

+

+
+
+
+
+ +

+setThreshold

+
+void setThreshold(String val)
+
+
Another form of setThreshold(Level) accepting a string + parameter instead of a Level. +

+

+
+
+
+
+ +

+emitNoAppenderWarning

+
+void emitNoAppenderWarning(Category cat)
+
+
+
+
+
+
+ +

+getThreshold

+
+Level getThreshold()
+
+
Get the repository-wide threshold. See setThreshold(Level) for an explanation. +

+

+
+
+
+
+ +

+getLogger

+
+Logger getLogger(String name)
+
+
+
+
+
+
+ +

+getLogger

+
+Logger getLogger(String name,
+                 LoggerFactory factory)
+
+
+
+
+
+
+ +

+getRootLogger

+
+Logger getRootLogger()
+
+
+
+
+
+
+ +

+exists

+
+Logger exists(String name)
+
+
+
+
+
+
+ +

+shutdown

+
+void shutdown()
+
+
+
+
+
+
+ +

+getCurrentLoggers

+
+Enumeration getCurrentLoggers()
+
+
+
+
+
+
+ +

+getCurrentCategories

+
+Enumeration getCurrentCategories()
+
+
Deprecated. Please use getCurrentLoggers() instead. +

+

+
+
+
+
+ +

+fireAddAppenderEvent

+
+void fireAddAppenderEvent(Category logger,
+                          Appender appender)
+
+
+
+
+
+
+ +

+resetConfiguration

+
+void resetConfiguration()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/LoggingEvent.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/LoggingEvent.html new file mode 100644 index 0000000..2950214 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/LoggingEvent.html @@ -0,0 +1,225 @@ + + + + + + + +LoggingEvent (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.apache.log4j.spi +
+Class LoggingEvent

+
+java.lang.Object
+  extended by org.apache.log4j.spi.LoggingEvent
+
+
+
+
public class LoggingEvent
extends Object
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
LoggingEvent() + +
+           
+  + + + + + + + +
+Method Summary
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+LoggingEvent

+
+public LoggingEvent()
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/class-use/Configurator.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/class-use/Configurator.html new file mode 100644 index 0000000..9b3303c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/class-use/Configurator.html @@ -0,0 +1,211 @@ + + + + + + + +Uses of Interface org.apache.log4j.spi.Configurator (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Interface
org.apache.log4j.spi.Configurator

+
+ + + + + + + + + + + + + +
+Packages that use Configurator
org.apache.log4jAn rather minimal but sufficient implementation redirecting all + calls to a log4j logger to a logback logger. 
org.apache.log4j.xml  
+  +

+ + + + + +
+Uses of Configurator in org.apache.log4j
+  +

+ + + + + + + + + +
Classes in org.apache.log4j that implement Configurator
+ classPropertyConfigurator + +
+          An nop implementation of PropertyConfigurator.
+  +

+ + + + + +
+Uses of Configurator in org.apache.log4j.xml
+  +

+ + + + + + + + + +
Classes in org.apache.log4j.xml that implement Configurator
+ classDOMConfigurator + +
+           
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/class-use/ErrorHandler.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/class-use/ErrorHandler.html new file mode 100644 index 0000000..81caefe --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/class-use/ErrorHandler.html @@ -0,0 +1,198 @@ + + + + + + + +Uses of Class org.apache.log4j.spi.ErrorHandler (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.apache.log4j.spi.ErrorHandler

+
+ + + + + + + + + +
+Packages that use ErrorHandler
org.apache.log4jAn rather minimal but sufficient implementation redirecting all + calls to a log4j logger to a logback logger. 
+  +

+ + + + + +
+Uses of ErrorHandler in org.apache.log4j
+  +

+ + + + + + + + + +
Methods in org.apache.log4j that return ErrorHandler
+ ErrorHandlerAppender.getErrorHandler() + +
+          Returns the ErrorHandler for this appender.
+  +

+ + + + + + + + + +
Methods in org.apache.log4j with parameters of type ErrorHandler
+ voidAppender.setErrorHandler(ErrorHandler errorHandler) + +
+          Set the ErrorHandler for this appender.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/class-use/Filter.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/class-use/Filter.html new file mode 100644 index 0000000..43eb350 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/class-use/Filter.html @@ -0,0 +1,198 @@ + + + + + + + +Uses of Class org.apache.log4j.spi.Filter (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.apache.log4j.spi.Filter

+
+ + + + + + + + + +
+Packages that use Filter
org.apache.log4jAn rather minimal but sufficient implementation redirecting all + calls to a log4j logger to a logback logger. 
+  +

+ + + + + +
+Uses of Filter in org.apache.log4j
+  +

+ + + + + + + + + +
Methods in org.apache.log4j that return Filter
+ FilterAppender.getFilter() + +
+          Returns the head Filter.
+  +

+ + + + + + + + + +
Methods in org.apache.log4j with parameters of type Filter
+ voidAppender.addFilter(Filter newFilter) + +
+          Add a filter to the end of the filter list.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/class-use/HierarchyEventListener.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/class-use/HierarchyEventListener.html new file mode 100644 index 0000000..297ed29 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/class-use/HierarchyEventListener.html @@ -0,0 +1,181 @@ + + + + + + + +Uses of Interface org.apache.log4j.spi.HierarchyEventListener (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Interface
org.apache.log4j.spi.HierarchyEventListener

+
+ + + + + + + + + +
+Packages that use HierarchyEventListener
org.apache.log4j.spi  
+  +

+ + + + + +
+Uses of HierarchyEventListener in org.apache.log4j.spi
+  +

+ + + + + + + + + +
Methods in org.apache.log4j.spi with parameters of type HierarchyEventListener
+ voidLoggerRepository.addHierarchyEventListener(HierarchyEventListener listener) + +
+          Add a HierarchyEventListener event to the repository.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/class-use/Layout.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/class-use/Layout.html new file mode 100644 index 0000000..cdef62c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/class-use/Layout.html @@ -0,0 +1,198 @@ + + + + + + + +Uses of Class org.apache.log4j.spi.Layout (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.apache.log4j.spi.Layout

+
+ + + + + + + + + +
+Packages that use Layout
org.apache.log4jAn rather minimal but sufficient implementation redirecting all + calls to a log4j logger to a logback logger. 
+  +

+ + + + + +
+Uses of Layout in org.apache.log4j
+  +

+ + + + + + + + + +
Methods in org.apache.log4j that return Layout
+ LayoutAppender.getLayout() + +
+          Returns this appenders layout.
+  +

+ + + + + + + + + +
Methods in org.apache.log4j with parameters of type Layout
+ voidAppender.setLayout(Layout layout) + +
+          Set the Layout for this appender.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/class-use/LoggerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/class-use/LoggerFactory.html new file mode 100644 index 0000000..d860c65 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/class-use/LoggerFactory.html @@ -0,0 +1,222 @@ + + + + + + + +Uses of Interface org.apache.log4j.spi.LoggerFactory (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Interface
org.apache.log4j.spi.LoggerFactory

+
+ + + + + + + + + + + + + +
+Packages that use LoggerFactory
org.apache.log4jAn rather minimal but sufficient implementation redirecting all + calls to a log4j logger to a logback logger. 
org.apache.log4j.spi  
+  +

+ + + + + +
+Uses of LoggerFactory in org.apache.log4j
+  +

+ + + + + + + + + + + + + +
Methods in org.apache.log4j with parameters of type LoggerFactory
+static LoggerLogManager.getLogger(String name, + LoggerFactory loggerFactory) + +
+          Returns a logger instance created by loggerFactory.
+static LoggerLogger.getLogger(String name, + LoggerFactory loggerFactory) + +
+           
+  +

+ + + + + +
+Uses of LoggerFactory in org.apache.log4j.spi
+  +

+ + + + + + + + + +
Methods in org.apache.log4j.spi with parameters of type LoggerFactory
+ LoggerLoggerRepository.getLogger(String name, + LoggerFactory factory) + +
+           
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/class-use/LoggerRepository.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/class-use/LoggerRepository.html new file mode 100644 index 0000000..f63d2e3 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/class-use/LoggerRepository.html @@ -0,0 +1,297 @@ + + + + + + + +Uses of Interface org.apache.log4j.spi.LoggerRepository (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Interface
org.apache.log4j.spi.LoggerRepository

+
+ + + + + + + + + + + + + + + + + +
+Packages that use LoggerRepository
org.apache.log4jAn rather minimal but sufficient implementation redirecting all + calls to a log4j logger to a logback logger. 
org.apache.log4j.spi  
org.apache.log4j.xml  
+  +

+ + + + + +
+Uses of LoggerRepository in org.apache.log4j
+  +

+ + + + + + + + + + + + + + + + + +
Methods in org.apache.log4j with parameters of type LoggerRepository
+ voidPropertyConfigurator.doConfigure(Properties properties, + LoggerRepository hierarchy) + +
+           
+ voidPropertyConfigurator.doConfigure(String configFileName, + LoggerRepository hierarchy) + +
+           
+ voidPropertyConfigurator.doConfigure(URL configURL, + LoggerRepository hierarchy) + +
+           
+  +

+ + + + + +
+Uses of LoggerRepository in org.apache.log4j.spi
+  +

+ + + + + + + + + +
Methods in org.apache.log4j.spi with parameters of type LoggerRepository
+ voidConfigurator.doConfigure(URL url, + LoggerRepository repository) + +
+          Interpret a resource pointed by a URL and set up log4j accordingly.
+  +

+ + + + + +
+Uses of LoggerRepository in org.apache.log4j.xml
+  +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
Methods in org.apache.log4j.xml with parameters of type LoggerRepository
+ voidDOMConfigurator.doConfigure(Element element, + LoggerRepository repository) + +
+           
+ voidDOMConfigurator.doConfigure(InputStream inputStream, + LoggerRepository repository) + +
+           
+ voidDOMConfigurator.doConfigure(Reader reader, + LoggerRepository repository) + +
+           
+ voidDOMConfigurator.doConfigure(String filename, + LoggerRepository repository) + +
+           
+ voidDOMConfigurator.doConfigure(URL url, + LoggerRepository repository) + +
+           
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/class-use/LoggingEvent.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/class-use/LoggingEvent.html new file mode 100644 index 0000000..1de23c5 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/class-use/LoggingEvent.html @@ -0,0 +1,182 @@ + + + + + + + +Uses of Class org.apache.log4j.spi.LoggingEvent (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.apache.log4j.spi.LoggingEvent

+
+ + + + + + + + + +
+Packages that use LoggingEvent
org.apache.log4jAn rather minimal but sufficient implementation redirecting all + calls to a log4j logger to a logback logger. 
+  +

+ + + + + +
+Uses of LoggingEvent in org.apache.log4j
+  +

+ + + + + + + + + +
Methods in org.apache.log4j with parameters of type LoggingEvent
+ voidAppender.doAppend(LoggingEvent event) + +
+          Log in Appender specific way.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/package-frame.html new file mode 100644 index 0000000..d194159 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/package-frame.html @@ -0,0 +1,56 @@ + + + + + + + +org.apache.log4j.spi (SLF4J 1.7.5 API) + + + + + + + + + + + +org.apache.log4j.spi + + + + +
+Interfaces  + +
+Configurator +
+HierarchyEventListener +
+LoggerFactory +
+LoggerRepository
+ + + + + + +
+Classes  + +
+ErrorHandler +
+Filter +
+Layout +
+LoggingEvent
+ + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/package-summary.html new file mode 100644 index 0000000..624d9d9 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/package-summary.html @@ -0,0 +1,198 @@ + + + + + + + +org.apache.log4j.spi (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+

+Package org.apache.log4j.spi +

+ + + + + + + + + + + + + + + + + + + + + +
+Interface Summary
ConfiguratorImplemented by classes capable of configuring log4j using a URL.
HierarchyEventListenerListen to events occuring within a Hierarchy.
LoggerFactoryImplement this interface to create new instances of Logger or + a sub-class of Logger.
LoggerRepositoryA LoggerRepository is used to create and retrieve + Loggers.
+  + +

+ + + + + + + + + + + + + + + + + + + + + +
+Class Summary
ErrorHandlerCreated by IntelliJ IDEA.
Filter 
Layout 
LoggingEvent 
+  + +

+

+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/package-tree.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/package-tree.html new file mode 100644 index 0000000..5a8809e --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/package-tree.html @@ -0,0 +1,159 @@ + + + + + + + +org.apache.log4j.spi Class Hierarchy (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For Package org.apache.log4j.spi +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+ +

+Interface Hierarchy +

+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/package-use.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/package-use.html new file mode 100644 index 0000000..3f75755 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/spi/package-use.html @@ -0,0 +1,269 @@ + + + + + + + +Uses of Package org.apache.log4j.spi (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Package
org.apache.log4j.spi

+
+ + + + + + + + + + + + + + + + + +
+Packages that use org.apache.log4j.spi
org.apache.log4jAn rather minimal but sufficient implementation redirecting all + calls to a log4j logger to a logback logger. 
org.apache.log4j.spi  
org.apache.log4j.xml  
+  +

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+Classes in org.apache.log4j.spi used by org.apache.log4j
Configurator + +
+          Implemented by classes capable of configuring log4j using a URL.
ErrorHandler + +
+          Created by IntelliJ IDEA.
Filter + +
+           
Layout + +
+           
LoggerFactory + +
+          Implement this interface to create new instances of Logger or + a sub-class of Logger.
LoggerRepository + +
+          A LoggerRepository is used to create and retrieve + Loggers.
LoggingEvent + +
+           
+  +

+ + + + + + + + + + + + + + +
+Classes in org.apache.log4j.spi used by org.apache.log4j.spi
HierarchyEventListener + +
+          Listen to events occuring within a Hierarchy.
LoggerFactory + +
+          Implement this interface to create new instances of Logger or + a sub-class of Logger.
LoggerRepository + +
+          A LoggerRepository is used to create and retrieve + Loggers.
+  +

+ + + + + + + + + + + +
+Classes in org.apache.log4j.spi used by org.apache.log4j.xml
Configurator + +
+          Implemented by classes capable of configuring log4j using a URL.
LoggerRepository + +
+          A LoggerRepository is used to create and retrieve + Loggers.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/xml/DOMConfigurator.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/xml/DOMConfigurator.html new file mode 100644 index 0000000..50a32df --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/xml/DOMConfigurator.html @@ -0,0 +1,529 @@ + + + + + + + +DOMConfigurator (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.apache.log4j.xml +
+Class DOMConfigurator

+
+java.lang.Object
+  extended by org.apache.log4j.xml.DOMConfigurator
+
+
+
All Implemented Interfaces:
Configurator
+
+
+
+
public class DOMConfigurator
extends Object
implements Configurator
+ + +

+


+ +

+ + + + + + + +
+Field Summary
+ + + + + + + +
Fields inherited from interface org.apache.log4j.spi.Configurator
INHERITED, NULL
+  + + + + + + + + + + +
+Constructor Summary
DOMConfigurator() + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+static voidconfigure(Element element) + +
+           
+static voidconfigure(String filename) + +
+           
+static voidconfigure(URL url) + +
+           
+static voidconfigureAndWatch(String configFilename) + +
+           
+static voidconfigureAndWatch(String configFilename, + long delay) + +
+           
+ voiddoConfigure(Element element, + LoggerRepository repository) + +
+           
+ voiddoConfigure(InputStream inputStream, + LoggerRepository repository) + +
+           
+ voiddoConfigure(Reader reader, + LoggerRepository repository) + +
+           
+ voiddoConfigure(String filename, + LoggerRepository repository) + +
+           
+ voiddoConfigure(URL url, + LoggerRepository repository) + +
+          Interpret a resource pointed by a URL and set up log4j accordingly.
+static Stringsubst(String value, + Properties props) + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+DOMConfigurator

+
+public DOMConfigurator()
+
+
+ + + + + + + + +
+Method Detail
+ +

+configure

+
+public static void configure(Element element)
+
+
+
+
+
+
+
+
+
+ +

+configure

+
+public static void configure(String filename)
+                      throws FactoryConfigurationError
+
+
+
+
+
+ +
Throws: +
FactoryConfigurationError
+
+
+
+ +

+configure

+
+public static void configure(URL url)
+                      throws FactoryConfigurationError
+
+
+
+
+
+ +
Throws: +
FactoryConfigurationError
+
+
+
+ +

+configureAndWatch

+
+public static void configureAndWatch(String configFilename)
+
+
+
+
+
+
+
+
+
+ +

+configureAndWatch

+
+public static void configureAndWatch(String configFilename,
+                                     long delay)
+
+
+
+
+
+
+
+
+
+ +

+doConfigure

+
+public void doConfigure(Element element,
+                        LoggerRepository repository)
+
+
+
+
+
+
+
+
+
+ +

+doConfigure

+
+public void doConfigure(InputStream inputStream,
+                        LoggerRepository repository)
+                 throws FactoryConfigurationError
+
+
+
+
+
+ +
Throws: +
FactoryConfigurationError
+
+
+
+ +

+doConfigure

+
+public void doConfigure(Reader reader,
+                        LoggerRepository repository)
+                 throws FactoryConfigurationError
+
+
+
+
+
+ +
Throws: +
FactoryConfigurationError
+
+
+
+ +

+doConfigure

+
+public void doConfigure(String filename,
+                        LoggerRepository repository)
+
+
+
+
+
+
+
+
+
+ +

+doConfigure

+
+public void doConfigure(URL url,
+                        LoggerRepository repository)
+
+
Description copied from interface: Configurator
+
Interpret a resource pointed by a URL and set up log4j accordingly. + + The configuration is done relative to the hierarchy + parameter. +

+

+
Specified by:
doConfigure in interface Configurator
+
+
+
Parameters:
url - The URL to parse
repository - The hierarchy to operation upon.
+
+
+
+ +

+subst

+
+public static String subst(String value,
+                           Properties props)
+
+
+
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/xml/class-use/DOMConfigurator.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/xml/class-use/DOMConfigurator.html new file mode 100644 index 0000000..6036eb7 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/xml/class-use/DOMConfigurator.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.apache.log4j.xml.DOMConfigurator (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.apache.log4j.xml.DOMConfigurator

+
+No usage of org.apache.log4j.xml.DOMConfigurator +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/xml/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/xml/package-frame.html new file mode 100644 index 0000000..1a92126 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/xml/package-frame.html @@ -0,0 +1,33 @@ + + + + + + + +org.apache.log4j.xml (SLF4J 1.7.5 API) + + + + + + + + + + + +org.apache.log4j.xml + + + + +
+Classes  + +
+DOMConfigurator
+ + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/xml/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/xml/package-summary.html new file mode 100644 index 0000000..316e148 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/xml/package-summary.html @@ -0,0 +1,158 @@ + + + + + + + +org.apache.log4j.xml (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+

+Package org.apache.log4j.xml +

+ + + + + + + + + +
+Class Summary
DOMConfigurator 
+  + +

+

+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/xml/package-tree.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/xml/package-tree.html new file mode 100644 index 0000000..38372ed --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/xml/package-tree.html @@ -0,0 +1,155 @@ + + + + + + + +org.apache.log4j.xml Class Hierarchy (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For Package org.apache.log4j.xml +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/xml/package-use.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/xml/package-use.html new file mode 100644 index 0000000..4ae9603 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/apache/log4j/xml/package-use.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Package org.apache.log4j.xml (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Package
org.apache.log4j.xml

+
+No usage of org.apache.log4j.xml +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ILoggerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ILoggerFactory.html new file mode 100644 index 0000000..db31719 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ILoggerFactory.html @@ -0,0 +1,238 @@ + + + + + + + +ILoggerFactory (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j +
+Interface ILoggerFactory

+
+
All Known Implementing Classes:
JCLLoggerFactory, JDK14LoggerFactory, Log4jLoggerFactory, NOPLoggerFactory, SimpleLoggerFactory, SubstituteLoggerFactory
+
+
+
+
public interface ILoggerFactory
+ + +

+ILoggerFactory instances manufacture Logger + instances by name. + +

Most users retrieve Logger instances through the static + LoggerFactory.getLogger(String) method. An instance of of this + interface is bound internally with LoggerFactory class at + compile time. +

+ +

+

+
Author:
+
Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + + +
+Method Summary
+ LoggergetLogger(String name) + +
+          Return an appropriate Logger instance as specified by the + name parameter.
+  +

+ + + + + + + + +
+Method Detail
+ +

+getLogger

+
+Logger getLogger(String name)
+
+
Return an appropriate Logger instance as specified by the + name parameter. + +

If the name parameter is equal to Logger.ROOT_LOGGER_NAME, that is + the string value "ROOT" (case insensitive), then the root logger of the + underlying logging system is returned. + +

Null-valued name arguments are considered invalid. + +

Certain extremely simple logging systems, e.g. NOP, may always + return the same logger instance regardless of the requested name. +

+

+
Parameters:
name - the name of the Logger to return +
Returns:
a Logger instance
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/IMarkerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/IMarkerFactory.html new file mode 100644 index 0000000..c72fb8f --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/IMarkerFactory.html @@ -0,0 +1,302 @@ + + + + + + + +IMarkerFactory (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j +
+Interface IMarkerFactory

+
+
All Known Implementing Classes:
BasicMarkerFactory
+
+
+
+
public interface IMarkerFactory
+ + +

+Implementaitons of this interface are used to manufacture Marker + instances. + +

See the section Implementing + the SLF4J API in the FAQ for details on how to make your logging + system conform to SLF4J. +

+ +

+

+
Author:
+
Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ booleandetachMarker(String name) + +
+          Detach an existing marker.
+ booleanexists(String name) + +
+          Checks if the marker with the name already exists.
+ MarkergetDetachedMarker(String name) + +
+          Create a marker which is detached (even at birth) from this IMarkerFactory.
+ MarkergetMarker(String name) + +
+          Manufacture a Marker instance by name.
+  +

+ + + + + + + + +
+Method Detail
+ +

+getMarker

+
+Marker getMarker(String name)
+
+
Manufacture a Marker instance by name. If the instance has been + created earlier, return the previously created instance. + +

Null name values are not allowed. +

+

+
Parameters:
name - the name of the marker to be created, null value is + not allowed. +
Returns:
a Marker instance
+
+
+
+ +

+exists

+
+boolean exists(String name)
+
+
Checks if the marker with the name already exists. If name is null, then false + is returned. +

+

+
Parameters:
name - logger name to check for +
Returns:
true id the marker exists, false otherwise.
+
+
+
+ +

+detachMarker

+
+boolean detachMarker(String name)
+
+
Detach an existing marker. +

+ Note that after a marker is detached, there might still be "dangling" references + to the detached marker. +

+

+
Parameters:
name - The name of the marker to detach +
Returns:
whether the marker could be detached or not
+
+
+
+ +

+getDetachedMarker

+
+Marker getDetachedMarker(String name)
+
+
Create a marker which is detached (even at birth) from this IMarkerFactory. +

+

+
Parameters:
name - marker name +
Returns:
a dangling marker
Since:
+
1.5.1
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/Logger.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/Logger.html new file mode 100644 index 0000000..64804ce --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/Logger.html @@ -0,0 +1,1914 @@ + + + + + + + +Logger (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j +
+Interface Logger

+
+
All Known Subinterfaces:
LocationAwareLogger
+
+
+
All Known Implementing Classes:
JCLLoggerAdapter, JDK14LoggerAdapter, LocLogger, Log4jLoggerAdapter, LoggerWrapper, MarkerIgnoringBase, NOPLogger, SimpleLogger, XLogger
+
+
+
+
public interface Logger
+ + +

+The org.slf4j.Logger interface is the main user entry point of SLF4J API. + It is expected that logging takes place through concrete implementations + of this interface. +

+

Typical usage pattern:

+
+ import org.slf4j.Logger;
+ import org.slf4j.LoggerFactory;
+
+ public class Wombat {
+
+   final static Logger logger = LoggerFactory.getLogger(Wombat.class);
+   Integer t;
+   Integer oldT;
+
+   public void setTemperature(Integer temperature) {
+     oldT = t;
+     t = temperature;
+     logger.debug("Temperature set to {}. Old temperature was {}.", t, oldT);
+     if(temperature.intValue() > 50) {
+       logger.info("Temperature has risen above 50 degrees.");
+     }
+   }
+ }
+ 
+ + Be sure to read the FAQ entry relating to parameterized + logging. Note that logging statements can be parameterized in + presence of an exception/throwable. + +

Once you are comfortable using loggers, i.e. instances of this interface, consider using + MDC as well as Markers.

+

+ +

+

+
Author:
+
Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + +
+Field Summary
+static StringROOT_LOGGER_NAME + +
+          Case insensitive String constant used to retrieve the name of the root logger.
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voiddebug(Marker marker, + String msg) + +
+          Log a message with the specific Marker at the DEBUG level.
+ voiddebug(Marker marker, + String format, + Object... arguments) + +
+          This method is similar to debug(String, Object...)
+ voiddebug(Marker marker, + String format, + Object arg) + +
+          This method is similar to debug(String, Object) method except that the + marker data is also taken into consideration.
+ voiddebug(Marker marker, + String format, + Object arg1, + Object arg2) + +
+          This method is similar to debug(String, Object, Object) + method except that the marker data is also taken into + consideration.
+ voiddebug(Marker marker, + String msg, + Throwable t) + +
+          This method is similar to debug(String, Throwable) method except that the + marker data is also taken into consideration.
+ voiddebug(String msg) + +
+          Log a message at the DEBUG level.
+ voiddebug(String format, + Object... arguments) + +
+          Log a message at the DEBUG level according to the specified format + and arguments.
+ voiddebug(String format, + Object arg) + +
+          Log a message at the DEBUG level according to the specified format + and argument.
+ voiddebug(String format, + Object arg1, + Object arg2) + +
+          Log a message at the DEBUG level according to the specified format + and arguments.
+ voiddebug(String msg, + Throwable t) + +
+          Log an exception (throwable) at the DEBUG level with an + accompanying message.
+ voiderror(Marker marker, + String msg) + +
+          Log a message with the specific Marker at the ERROR level.
+ voiderror(Marker marker, + String format, + Object... arguments) + +
+          This method is similar to error(String, Object...)
+ voiderror(Marker marker, + String format, + Object arg) + +
+          This method is similar to error(String, Object) method except that the + marker data is also taken into consideration.
+ voiderror(Marker marker, + String format, + Object arg1, + Object arg2) + +
+          This method is similar to error(String, Object, Object) + method except that the marker data is also taken into + consideration.
+ voiderror(Marker marker, + String msg, + Throwable t) + +
+          This method is similar to error(String, Throwable) + method except that the marker data is also taken into + consideration.
+ voiderror(String msg) + +
+          Log a message at the ERROR level.
+ voiderror(String format, + Object... arguments) + +
+          Log a message at the ERROR level according to the specified format + and arguments.
+ voiderror(String format, + Object arg) + +
+          Log a message at the ERROR level according to the specified format + and argument.
+ voiderror(String format, + Object arg1, + Object arg2) + +
+          Log a message at the ERROR level according to the specified format + and arguments.
+ voiderror(String msg, + Throwable t) + +
+          Log an exception (throwable) at the ERROR level with an + accompanying message.
+ StringgetName() + +
+          Return the name of this Logger instance.
+ voidinfo(Marker marker, + String msg) + +
+          Log a message with the specific Marker at the INFO level.
+ voidinfo(Marker marker, + String format, + Object... arguments) + +
+          This method is similar to info(String, Object...)
+ voidinfo(Marker marker, + String format, + Object arg) + +
+          This method is similar to info(String, Object) method except that the + marker data is also taken into consideration.
+ voidinfo(Marker marker, + String format, + Object arg1, + Object arg2) + +
+          This method is similar to info(String, Object, Object) + method except that the marker data is also taken into + consideration.
+ voidinfo(Marker marker, + String msg, + Throwable t) + +
+          This method is similar to info(String, Throwable) method + except that the marker data is also taken into consideration.
+ voidinfo(String msg) + +
+          Log a message at the INFO level.
+ voidinfo(String format, + Object... arguments) + +
+          Log a message at the INFO level according to the specified format + and arguments.
+ voidinfo(String format, + Object arg) + +
+          Log a message at the INFO level according to the specified format + and argument.
+ voidinfo(String format, + Object arg1, + Object arg2) + +
+          Log a message at the INFO level according to the specified format + and arguments.
+ voidinfo(String msg, + Throwable t) + +
+          Log an exception (throwable) at the INFO level with an + accompanying message.
+ booleanisDebugEnabled() + +
+          Is the logger instance enabled for the DEBUG level?
+ booleanisDebugEnabled(Marker marker) + +
+          Similar to isDebugEnabled() method except that the + marker data is also taken into account.
+ booleanisErrorEnabled() + +
+          Is the logger instance enabled for the ERROR level?
+ booleanisErrorEnabled(Marker marker) + +
+          Similar to isErrorEnabled() method except that the + marker data is also taken into consideration.
+ booleanisInfoEnabled() + +
+          Is the logger instance enabled for the INFO level?
+ booleanisInfoEnabled(Marker marker) + +
+          Similar to isInfoEnabled() method except that the marker + data is also taken into consideration.
+ booleanisTraceEnabled() + +
+          Is the logger instance enabled for the TRACE level?
+ booleanisTraceEnabled(Marker marker) + +
+          Similar to isTraceEnabled() method except that the + marker data is also taken into account.
+ booleanisWarnEnabled() + +
+          Is the logger instance enabled for the WARN level?
+ booleanisWarnEnabled(Marker marker) + +
+          Similar to isWarnEnabled() method except that the marker + data is also taken into consideration.
+ voidtrace(Marker marker, + String msg) + +
+          Log a message with the specific Marker at the TRACE level.
+ voidtrace(Marker marker, + String format, + Object... argArray) + +
+          This method is similar to trace(String, Object...)
+ voidtrace(Marker marker, + String format, + Object arg) + +
+          This method is similar to trace(String, Object) method except that the + marker data is also taken into consideration.
+ voidtrace(Marker marker, + String format, + Object arg1, + Object arg2) + +
+          This method is similar to trace(String, Object, Object) + method except that the marker data is also taken into + consideration.
+ voidtrace(Marker marker, + String msg, + Throwable t) + +
+          This method is similar to trace(String, Throwable) method except that the + marker data is also taken into consideration.
+ voidtrace(String msg) + +
+          Log a message at the TRACE level.
+ voidtrace(String format, + Object... arguments) + +
+          Log a message at the TRACE level according to the specified format + and arguments.
+ voidtrace(String format, + Object arg) + +
+          Log a message at the TRACE level according to the specified format + and argument.
+ voidtrace(String format, + Object arg1, + Object arg2) + +
+          Log a message at the TRACE level according to the specified format + and arguments.
+ voidtrace(String msg, + Throwable t) + +
+          Log an exception (throwable) at the TRACE level with an + accompanying message.
+ voidwarn(Marker marker, + String msg) + +
+          Log a message with the specific Marker at the WARN level.
+ voidwarn(Marker marker, + String format, + Object... arguments) + +
+          This method is similar to warn(String, Object...)
+ voidwarn(Marker marker, + String format, + Object arg) + +
+          This method is similar to warn(String, Object) method except that the + marker data is also taken into consideration.
+ voidwarn(Marker marker, + String format, + Object arg1, + Object arg2) + +
+          This method is similar to warn(String, Object, Object) + method except that the marker data is also taken into + consideration.
+ voidwarn(Marker marker, + String msg, + Throwable t) + +
+          This method is similar to warn(String, Throwable) method + except that the marker data is also taken into consideration.
+ voidwarn(String msg) + +
+          Log a message at the WARN level.
+ voidwarn(String format, + Object... arguments) + +
+          Log a message at the WARN level according to the specified format + and arguments.
+ voidwarn(String format, + Object arg) + +
+          Log a message at the WARN level according to the specified format + and argument.
+ voidwarn(String format, + Object arg1, + Object arg2) + +
+          Log a message at the WARN level according to the specified format + and arguments.
+ voidwarn(String msg, + Throwable t) + +
+          Log an exception (throwable) at the WARN level with an + accompanying message.
+  +

+ + + + + + + + +
+Field Detail
+ +

+ROOT_LOGGER_NAME

+
+static final String ROOT_LOGGER_NAME
+
+
Case insensitive String constant used to retrieve the name of the root logger. +

+

+
Since:
+
1.3
+
See Also:
Constant Field Values
+
+ + + + + + + + +
+Method Detail
+ +

+getName

+
+String getName()
+
+
Return the name of this Logger instance. +

+

+ +
Returns:
name of this logger instance
+
+
+
+ +

+isTraceEnabled

+
+boolean isTraceEnabled()
+
+
Is the logger instance enabled for the TRACE level? +

+

+ +
Returns:
True if this Logger is enabled for the TRACE level, + false otherwise.
Since:
+
1.4
+
+
+
+
+ +

+trace

+
+void trace(String msg)
+
+
Log a message at the TRACE level. +

+

+
Parameters:
msg - the message string to be logged
Since:
+
1.4
+
+
+
+
+ +

+trace

+
+void trace(String format,
+           Object arg)
+
+
Log a message at the TRACE level according to the specified format + and argument. +

+

This form avoids superfluous object creation when the logger + is disabled for the TRACE level.

+

+

+
Parameters:
format - the format string
arg - the argument
Since:
+
1.4
+
+
+
+
+ +

+trace

+
+void trace(String format,
+           Object arg1,
+           Object arg2)
+
+
Log a message at the TRACE level according to the specified format + and arguments. +

+

This form avoids superfluous object creation when the logger + is disabled for the TRACE level.

+

+

+
Parameters:
format - the format string
arg1 - the first argument
arg2 - the second argument
Since:
+
1.4
+
+
+
+
+ +

+trace

+
+void trace(String format,
+           Object... arguments)
+
+
Log a message at the TRACE level according to the specified format + and arguments. +

+

This form avoids superfluous string concatenation when the logger + is disabled for the TRACE level. However, this variant incurs the hidden + (and relatively small) cost of creating an Object[] before invoking the method, + even if this logger is disabled for TRACE. The variants taking one and + two arguments exist solely in order to avoid this hidden cost.

+

+

+
Parameters:
format - the format string
arguments - a list of 3 or more arguments
Since:
+
1.4
+
+
+
+
+ +

+trace

+
+void trace(String msg,
+           Throwable t)
+
+
Log an exception (throwable) at the TRACE level with an + accompanying message. +

+

+
Parameters:
msg - the message accompanying the exception
t - the exception (throwable) to log
Since:
+
1.4
+
+
+
+
+ +

+isTraceEnabled

+
+boolean isTraceEnabled(Marker marker)
+
+
Similar to isTraceEnabled() method except that the + marker data is also taken into account. +

+

+
Parameters:
marker - The marker data to take into consideration +
Returns:
True if this Logger is enabled for the TRACE level, + false otherwise.
Since:
+
1.4
+
+
+
+
+ +

+trace

+
+void trace(Marker marker,
+           String msg)
+
+
Log a message with the specific Marker at the TRACE level. +

+

+
Parameters:
marker - the marker data specific to this log statement
msg - the message string to be logged
Since:
+
1.4
+
+
+
+
+ +

+trace

+
+void trace(Marker marker,
+           String format,
+           Object arg)
+
+
This method is similar to trace(String, Object) method except that the + marker data is also taken into consideration. +

+

+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arg - the argument
Since:
+
1.4
+
+
+
+
+ +

+trace

+
+void trace(Marker marker,
+           String format,
+           Object arg1,
+           Object arg2)
+
+
This method is similar to trace(String, Object, Object) + method except that the marker data is also taken into + consideration. +

+

+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arg1 - the first argument
arg2 - the second argument
Since:
+
1.4
+
+
+
+
+ +

+trace

+
+void trace(Marker marker,
+           String format,
+           Object... argArray)
+
+
This method is similar to trace(String, Object...) + method except that the marker data is also taken into + consideration. +

+

+
Parameters:
marker - the marker data specific to this log statement
format - the format string
argArray - an array of arguments
Since:
+
1.4
+
+
+
+
+ +

+trace

+
+void trace(Marker marker,
+           String msg,
+           Throwable t)
+
+
This method is similar to trace(String, Throwable) method except that the + marker data is also taken into consideration. +

+

+
Parameters:
marker - the marker data specific to this log statement
msg - the message accompanying the exception
t - the exception (throwable) to log
Since:
+
1.4
+
+
+
+
+ +

+isDebugEnabled

+
+boolean isDebugEnabled()
+
+
Is the logger instance enabled for the DEBUG level? +

+

+ +
Returns:
True if this Logger is enabled for the DEBUG level, + false otherwise.
+
+
+
+ +

+debug

+
+void debug(String msg)
+
+
Log a message at the DEBUG level. +

+

+
Parameters:
msg - the message string to be logged
+
+
+
+ +

+debug

+
+void debug(String format,
+           Object arg)
+
+
Log a message at the DEBUG level according to the specified format + and argument. +

+

This form avoids superfluous object creation when the logger + is disabled for the DEBUG level.

+

+

+
Parameters:
format - the format string
arg - the argument
+
+
+
+ +

+debug

+
+void debug(String format,
+           Object arg1,
+           Object arg2)
+
+
Log a message at the DEBUG level according to the specified format + and arguments. +

+

This form avoids superfluous object creation when the logger + is disabled for the DEBUG level.

+

+

+
Parameters:
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+debug

+
+void debug(String format,
+           Object... arguments)
+
+
Log a message at the DEBUG level according to the specified format + and arguments. +

+

This form avoids superfluous string concatenation when the logger + is disabled for the DEBUG level. However, this variant incurs the hidden + (and relatively small) cost of creating an Object[] before invoking the method, + even if this logger is disabled for DEBUG. The variants taking + one and two + arguments exist solely in order to avoid this hidden cost.

+

+

+
Parameters:
format - the format string
arguments - a list of 3 or more arguments
+
+
+
+ +

+debug

+
+void debug(String msg,
+           Throwable t)
+
+
Log an exception (throwable) at the DEBUG level with an + accompanying message. +

+

+
Parameters:
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+isDebugEnabled

+
+boolean isDebugEnabled(Marker marker)
+
+
Similar to isDebugEnabled() method except that the + marker data is also taken into account. +

+

+
Parameters:
marker - The marker data to take into consideration +
Returns:
True if this Logger is enabled for the DEBUG level, + false otherwise.
+
+
+
+ +

+debug

+
+void debug(Marker marker,
+           String msg)
+
+
Log a message with the specific Marker at the DEBUG level. +

+

+
Parameters:
marker - the marker data specific to this log statement
msg - the message string to be logged
+
+
+
+ +

+debug

+
+void debug(Marker marker,
+           String format,
+           Object arg)
+
+
This method is similar to debug(String, Object) method except that the + marker data is also taken into consideration. +

+

+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arg - the argument
+
+
+
+ +

+debug

+
+void debug(Marker marker,
+           String format,
+           Object arg1,
+           Object arg2)
+
+
This method is similar to debug(String, Object, Object) + method except that the marker data is also taken into + consideration. +

+

+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+debug

+
+void debug(Marker marker,
+           String format,
+           Object... arguments)
+
+
This method is similar to debug(String, Object...) + method except that the marker data is also taken into + consideration. +

+

+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arguments - a list of 3 or more arguments
+
+
+
+ +

+debug

+
+void debug(Marker marker,
+           String msg,
+           Throwable t)
+
+
This method is similar to debug(String, Throwable) method except that the + marker data is also taken into consideration. +

+

+
Parameters:
marker - the marker data specific to this log statement
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+isInfoEnabled

+
+boolean isInfoEnabled()
+
+
Is the logger instance enabled for the INFO level? +

+

+ +
Returns:
True if this Logger is enabled for the INFO level, + false otherwise.
+
+
+
+ +

+info

+
+void info(String msg)
+
+
Log a message at the INFO level. +

+

+
Parameters:
msg - the message string to be logged
+
+
+
+ +

+info

+
+void info(String format,
+          Object arg)
+
+
Log a message at the INFO level according to the specified format + and argument. +

+

This form avoids superfluous object creation when the logger + is disabled for the INFO level.

+

+

+
Parameters:
format - the format string
arg - the argument
+
+
+
+ +

+info

+
+void info(String format,
+          Object arg1,
+          Object arg2)
+
+
Log a message at the INFO level according to the specified format + and arguments. +

+

This form avoids superfluous object creation when the logger + is disabled for the INFO level.

+

+

+
Parameters:
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+info

+
+void info(String format,
+          Object... arguments)
+
+
Log a message at the INFO level according to the specified format + and arguments. +

+

This form avoids superfluous string concatenation when the logger + is disabled for the INFO level. However, this variant incurs the hidden + (and relatively small) cost of creating an Object[] before invoking the method, + even if this logger is disabled for INFO. The variants taking + one and two + arguments exist solely in order to avoid this hidden cost.

+

+

+
Parameters:
format - the format string
arguments - a list of 3 or more arguments
+
+
+
+ +

+info

+
+void info(String msg,
+          Throwable t)
+
+
Log an exception (throwable) at the INFO level with an + accompanying message. +

+

+
Parameters:
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+isInfoEnabled

+
+boolean isInfoEnabled(Marker marker)
+
+
Similar to isInfoEnabled() method except that the marker + data is also taken into consideration. +

+

+
Parameters:
marker - The marker data to take into consideration +
Returns:
true if this logger is warn enabled, false otherwise
+
+
+
+ +

+info

+
+void info(Marker marker,
+          String msg)
+
+
Log a message with the specific Marker at the INFO level. +

+

+
Parameters:
marker - The marker specific to this log statement
msg - the message string to be logged
+
+
+
+ +

+info

+
+void info(Marker marker,
+          String format,
+          Object arg)
+
+
This method is similar to info(String, Object) method except that the + marker data is also taken into consideration. +

+

+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arg - the argument
+
+
+
+ +

+info

+
+void info(Marker marker,
+          String format,
+          Object arg1,
+          Object arg2)
+
+
This method is similar to info(String, Object, Object) + method except that the marker data is also taken into + consideration. +

+

+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+info

+
+void info(Marker marker,
+          String format,
+          Object... arguments)
+
+
This method is similar to info(String, Object...) + method except that the marker data is also taken into + consideration. +

+

+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arguments - a list of 3 or more arguments
+
+
+
+ +

+info

+
+void info(Marker marker,
+          String msg,
+          Throwable t)
+
+
This method is similar to info(String, Throwable) method + except that the marker data is also taken into consideration. +

+

+
Parameters:
marker - the marker data for this log statement
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+isWarnEnabled

+
+boolean isWarnEnabled()
+
+
Is the logger instance enabled for the WARN level? +

+

+ +
Returns:
True if this Logger is enabled for the WARN level, + false otherwise.
+
+
+
+ +

+warn

+
+void warn(String msg)
+
+
Log a message at the WARN level. +

+

+
Parameters:
msg - the message string to be logged
+
+
+
+ +

+warn

+
+void warn(String format,
+          Object arg)
+
+
Log a message at the WARN level according to the specified format + and argument. +

+

This form avoids superfluous object creation when the logger + is disabled for the WARN level.

+

+

+
Parameters:
format - the format string
arg - the argument
+
+
+
+ +

+warn

+
+void warn(String format,
+          Object... arguments)
+
+
Log a message at the WARN level according to the specified format + and arguments. +

+

This form avoids superfluous string concatenation when the logger + is disabled for the WARN level. However, this variant incurs the hidden + (and relatively small) cost of creating an Object[] before invoking the method, + even if this logger is disabled for WARN. The variants taking + one and two + arguments exist solely in order to avoid this hidden cost.

+

+

+
Parameters:
format - the format string
arguments - a list of 3 or more arguments
+
+
+
+ +

+warn

+
+void warn(String format,
+          Object arg1,
+          Object arg2)
+
+
Log a message at the WARN level according to the specified format + and arguments. +

+

This form avoids superfluous object creation when the logger + is disabled for the WARN level.

+

+

+
Parameters:
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+warn

+
+void warn(String msg,
+          Throwable t)
+
+
Log an exception (throwable) at the WARN level with an + accompanying message. +

+

+
Parameters:
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+isWarnEnabled

+
+boolean isWarnEnabled(Marker marker)
+
+
Similar to isWarnEnabled() method except that the marker + data is also taken into consideration. +

+

+
Parameters:
marker - The marker data to take into consideration +
Returns:
True if this Logger is enabled for the WARN level, + false otherwise.
+
+
+
+ +

+warn

+
+void warn(Marker marker,
+          String msg)
+
+
Log a message with the specific Marker at the WARN level. +

+

+
Parameters:
marker - The marker specific to this log statement
msg - the message string to be logged
+
+
+
+ +

+warn

+
+void warn(Marker marker,
+          String format,
+          Object arg)
+
+
This method is similar to warn(String, Object) method except that the + marker data is also taken into consideration. +

+

+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arg - the argument
+
+
+
+ +

+warn

+
+void warn(Marker marker,
+          String format,
+          Object arg1,
+          Object arg2)
+
+
This method is similar to warn(String, Object, Object) + method except that the marker data is also taken into + consideration. +

+

+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+warn

+
+void warn(Marker marker,
+          String format,
+          Object... arguments)
+
+
This method is similar to warn(String, Object...) + method except that the marker data is also taken into + consideration. +

+

+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arguments - a list of 3 or more arguments
+
+
+
+ +

+warn

+
+void warn(Marker marker,
+          String msg,
+          Throwable t)
+
+
This method is similar to warn(String, Throwable) method + except that the marker data is also taken into consideration. +

+

+
Parameters:
marker - the marker data for this log statement
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+isErrorEnabled

+
+boolean isErrorEnabled()
+
+
Is the logger instance enabled for the ERROR level? +

+

+ +
Returns:
True if this Logger is enabled for the ERROR level, + false otherwise.
+
+
+
+ +

+error

+
+void error(String msg)
+
+
Log a message at the ERROR level. +

+

+
Parameters:
msg - the message string to be logged
+
+
+
+ +

+error

+
+void error(String format,
+           Object arg)
+
+
Log a message at the ERROR level according to the specified format + and argument. +

+

This form avoids superfluous object creation when the logger + is disabled for the ERROR level.

+

+

+
Parameters:
format - the format string
arg - the argument
+
+
+
+ +

+error

+
+void error(String format,
+           Object arg1,
+           Object arg2)
+
+
Log a message at the ERROR level according to the specified format + and arguments. +

+

This form avoids superfluous object creation when the logger + is disabled for the ERROR level.

+

+

+
Parameters:
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+error

+
+void error(String format,
+           Object... arguments)
+
+
Log a message at the ERROR level according to the specified format + and arguments. +

+

This form avoids superfluous string concatenation when the logger + is disabled for the ERROR level. However, this variant incurs the hidden + (and relatively small) cost of creating an Object[] before invoking the method, + even if this logger is disabled for ERROR. The variants taking + one and two + arguments exist solely in order to avoid this hidden cost.

+

+

+
Parameters:
format - the format string
arguments - a list of 3 or more arguments
+
+
+
+ +

+error

+
+void error(String msg,
+           Throwable t)
+
+
Log an exception (throwable) at the ERROR level with an + accompanying message. +

+

+
Parameters:
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+isErrorEnabled

+
+boolean isErrorEnabled(Marker marker)
+
+
Similar to isErrorEnabled() method except that the + marker data is also taken into consideration. +

+

+
Parameters:
marker - The marker data to take into consideration +
Returns:
True if this Logger is enabled for the ERROR level, + false otherwise.
+
+
+
+ +

+error

+
+void error(Marker marker,
+           String msg)
+
+
Log a message with the specific Marker at the ERROR level. +

+

+
Parameters:
marker - The marker specific to this log statement
msg - the message string to be logged
+
+
+
+ +

+error

+
+void error(Marker marker,
+           String format,
+           Object arg)
+
+
This method is similar to error(String, Object) method except that the + marker data is also taken into consideration. +

+

+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arg - the argument
+
+
+
+ +

+error

+
+void error(Marker marker,
+           String format,
+           Object arg1,
+           Object arg2)
+
+
This method is similar to error(String, Object, Object) + method except that the marker data is also taken into + consideration. +

+

+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+error

+
+void error(Marker marker,
+           String format,
+           Object... arguments)
+
+
This method is similar to error(String, Object...) + method except that the marker data is also taken into + consideration. +

+

+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arguments - a list of 3 or more arguments
+
+
+
+ +

+error

+
+void error(Marker marker,
+           String msg,
+           Throwable t)
+
+
This method is similar to error(String, Throwable) + method except that the marker data is also taken into + consideration. +

+

+
Parameters:
marker - the marker data specific to this log statement
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/LoggerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/LoggerFactory.html new file mode 100644 index 0000000..3fbdf66 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/LoggerFactory.html @@ -0,0 +1,293 @@ + + + + + + + +LoggerFactory (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j +
+Class LoggerFactory

+
+java.lang.Object
+  extended by org.slf4j.LoggerFactory
+
+
+
+
public final class LoggerFactory
extends Object
+ + +

+The LoggerFactory is a utility class producing Loggers for + various logging APIs, most notably for log4j, logback and JDK 1.4 logging. + Other implementations such as NOPLogger and + SimpleLogger are also supported. +

+

+ LoggerFactory is essentially a wrapper around an + ILoggerFactory instance bound with LoggerFactory at + compile time. +

+

+ Please note that all methods in LoggerFactory are static. +

+ +

+

+
Author:
+
Ceki Gülcü, Robert Elliot
+
+
+ +

+ + + + + + + + + + + + + + + + + + + + +
+Method Summary
+static ILoggerFactorygetILoggerFactory() + +
+          Return the ILoggerFactory instance in use.
+static LoggergetLogger(Class clazz) + +
+          Return a logger named corresponding to the class passed as parameter, using + the statically bound ILoggerFactory instance.
+static LoggergetLogger(String name) + +
+          Return a logger named according to the name parameter using the statically + bound ILoggerFactory instance.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Method Detail
+ +

+getLogger

+
+public static Logger getLogger(String name)
+
+
Return a logger named according to the name parameter using the statically + bound ILoggerFactory instance. +

+

+
Parameters:
name - The name of the logger. +
Returns:
logger
+
+
+
+ +

+getLogger

+
+public static Logger getLogger(Class clazz)
+
+
Return a logger named corresponding to the class passed as parameter, using + the statically bound ILoggerFactory instance. +

+

+
Parameters:
clazz - the returned logger will be named after clazz +
Returns:
logger
+
+
+
+ +

+getILoggerFactory

+
+public static ILoggerFactory getILoggerFactory()
+
+
Return the ILoggerFactory instance in use. +

+

+ ILoggerFactory instance is bound with this class at compile time. +

+

+ +
Returns:
the ILoggerFactory instance in use
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/MDC.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/MDC.html new file mode 100644 index 0000000..7f676a6 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/MDC.html @@ -0,0 +1,420 @@ + + + + + + + +MDC (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j +
+Class MDC

+
+java.lang.Object
+  extended by org.slf4j.MDC
+
+
+
+
public class MDC
extends Object
+ + +

+This class hides and serves as a substitute for the underlying logging + system's MDC implementation. + +

+ If the underlying logging system offers MDC functionality, then SLF4J's MDC, + i.e. this class, will delegate to the underlying system's MDC. Note that at + this time, only two logging systems, namely log4j and logback, offer MDC + functionality. For java.util.logging which does not support MDC, + BasicMDCAdapter will be used. For other systems, i.e slf4j-simple + and slf4j-nop, NOPMDCAdapter will be used. + +

+ Thus, as a SLF4J user, you can take advantage of MDC in the presence of log4j, + logback, or java.util.logging, but without forcing these systems as + dependencies upon your users. + +

+ For more information on MDC please see the chapter on MDC in the + logback manual. + +

+ Please note that all methods in this class are static. +

+ +

+

+
Since:
+
1.4.1
+
Author:
+
Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+static voidclear() + +
+          Clear all entries in the MDC of the underlying implementation.
+static Stringget(String key) + +
+          Get the diagnostic context identified by the key parameter.
+static MapgetCopyOfContextMap() + +
+          Return a copy of the current thread's context map, with keys and values of + type String.
+static MDCAdaptergetMDCAdapter() + +
+          Returns the MDCAdapter instance currently in use.
+static voidput(String key, + String val) + +
+          Put a diagnostic context value (the val parameter) as identified with the + key parameter into the current thread's diagnostic context map.
+static voidremove(String key) + +
+          Remove the diagnostic context identified by the key parameter using + the underlying system's MDC implementation.
+static voidsetContextMap(Map contextMap) + +
+          Set the current thread's context map by first clearing any existing map and + then copying the map passed as parameter.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Method Detail
+ +

+put

+
+public static void put(String key,
+                       String val)
+                throws IllegalArgumentException
+
+
Put a diagnostic context value (the val parameter) as identified with the + key parameter into the current thread's diagnostic context map. The + key parameter cannot be null. The val parameter + can be null only if the underlying implementation supports it. + +

+ This method delegates all work to the MDC of the underlying logging system. +

+

+
Parameters:
key - non-null key
val - value to put in the map +
Throws: +
IllegalArgumentException - in case the "key" parameter is null
+
+
+
+ +

+get

+
+public static String get(String key)
+                  throws IllegalArgumentException
+
+
Get the diagnostic context identified by the key parameter. The + key parameter cannot be null. + +

+ This method delegates all work to the MDC of the underlying logging system. +

+

+
Parameters:
key - +
Returns:
the string value identified by the key parameter. +
Throws: +
IllegalArgumentException - in case the "key" parameter is null
+
+
+
+ +

+remove

+
+public static void remove(String key)
+                   throws IllegalArgumentException
+
+
Remove the diagnostic context identified by the key parameter using + the underlying system's MDC implementation. The key parameter + cannot be null. This method does nothing if there is no previous value + associated with key. +

+

+
Parameters:
key - +
Throws: +
IllegalArgumentException - in case the "key" parameter is null
+
+
+
+ +

+clear

+
+public static void clear()
+
+
Clear all entries in the MDC of the underlying implementation. +

+

+
+
+
+
+ +

+getCopyOfContextMap

+
+public static Map getCopyOfContextMap()
+
+
Return a copy of the current thread's context map, with keys and values of + type String. Returned value may be null. +

+

+ +
Returns:
A copy of the current thread's context map. May be null.
Since:
+
1.5.1
+
+
+
+
+ +

+setContextMap

+
+public static void setContextMap(Map contextMap)
+
+
Set the current thread's context map by first clearing any existing map and + then copying the map passed as parameter. The context map passed as + parameter must only contain keys and values of type String. +

+

+
Parameters:
contextMap - must contain only keys and values of type String
Since:
+
1.5.1
+
+
+
+
+ +

+getMDCAdapter

+
+public static MDCAdapter getMDCAdapter()
+
+
Returns the MDCAdapter instance currently in use. +

+

+ +
Returns:
the MDcAdapter instance currently in use.
Since:
+
1.4.2
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/Marker.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/Marker.html new file mode 100644 index 0000000..39e6863 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/Marker.html @@ -0,0 +1,530 @@ + + + + + + + +Marker (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j +
+Interface Marker

+
+
All Superinterfaces:
Serializable
+
+
+
All Known Implementing Classes:
BasicMarker
+
+
+
+
public interface Marker
extends Serializable
+ + +

+Markers are named objects used to enrich log statements. Conforming logging + system Implementations of SLF4J determine how information conveyed by markers + are used, if at all. In particular, many conforming logging systems ignore + marker data. + +

+ Markers can contain references to other markers, which in turn may contain + references of their own. +

+ +

+

+
Author:
+
Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + + + + + +
+Field Summary
+static StringANY_MARKER + +
+          This constant represents any marker, including a null marker.
+static StringANY_NON_NULL_MARKER + +
+          This constant represents any non-null marker.
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidadd(Marker reference) + +
+          Add a reference to another Marker.
+ booleancontains(Marker other) + +
+          Does this marker contain a reference to the 'other' marker?
+ booleancontains(String name) + +
+          Does this marker contain the marker named 'name'?
+ booleanequals(Object o) + +
+          Markers are considered equal if they have the same name.
+ StringgetName() + +
+          Get the name of this Marker.
+ booleanhasChildren() + +
+          Deprecated. Replaced by hasReferences().
+ inthashCode() + +
+          Compute the hash code based on the name of this marker.
+ booleanhasReferences() + +
+          Does this marker have any references?
+ Iteratoriterator() + +
+          Returns an Iterator which can be used to iterate over the references of this + marker.
+ booleanremove(Marker reference) + +
+          Remove a marker reference.
+  +

+ + + + + + + + +
+Field Detail
+ +

+ANY_MARKER

+
+static final String ANY_MARKER
+
+
This constant represents any marker, including a null marker. +

+

+
See Also:
Constant Field Values
+
+
+ +

+ANY_NON_NULL_MARKER

+
+static final String ANY_NON_NULL_MARKER
+
+
This constant represents any non-null marker. +

+

+
See Also:
Constant Field Values
+
+ + + + + + + + +
+Method Detail
+ +

+getName

+
+String getName()
+
+
Get the name of this Marker. +

+

+
+
+
+ +
Returns:
name of marker
+
+
+
+ +

+add

+
+void add(Marker reference)
+
+
Add a reference to another Marker. +

+

+
+
+
+
Parameters:
reference - a reference to another marker +
Throws: +
IllegalArgumentException - if 'reference' is null
+
+
+
+ +

+remove

+
+boolean remove(Marker reference)
+
+
Remove a marker reference. +

+

+
+
+
+
Parameters:
reference - the marker reference to remove +
Returns:
true if reference could be found and removed, false otherwise.
+
+
+
+ +

+hasChildren

+
+boolean hasChildren()
+
+
Deprecated. Replaced by hasReferences(). +

+

+
+
+
+
+
+
+
+ +

+hasReferences

+
+boolean hasReferences()
+
+
Does this marker have any references? +

+

+
+
+
+ +
Returns:
true if this marker has one or more references, false otherwise.
+
+
+
+ +

+iterator

+
+Iterator iterator()
+
+
Returns an Iterator which can be used to iterate over the references of this + marker. An empty iterator is returned when this marker has no references. +

+

+
+
+
+ +
Returns:
Iterator over the references of this marker
+
+
+
+ +

+contains

+
+boolean contains(Marker other)
+
+
Does this marker contain a reference to the 'other' marker? Marker A is defined + to contain marker B, if A == B or if B is referenced by A, or if B is referenced + by any one of A's references (recursively). +

+

+
+
+
+
Parameters:
other - The marker to test for inclusion. +
Returns:
Whether this marker contains the other marker. +
Throws: +
IllegalArgumentException - if 'other' is null
+
+
+
+ +

+contains

+
+boolean contains(String name)
+
+
Does this marker contain the marker named 'name'? + + If 'name' is null the returned value is always false. +

+

+
+
+
+
Parameters:
name - The marker name to test for inclusion. +
Returns:
Whether this marker contains the other marker.
+
+
+
+ +

+equals

+
+boolean equals(Object o)
+
+
Markers are considered equal if they have the same name. +

+

+
Overrides:
equals in class Object
+
+
+
Parameters:
o - +
Returns:
true, if this.name equals o.name
Since:
+
1.5.1
+
+
+
+
+ +

+hashCode

+
+int hashCode()
+
+
Compute the hash code based on the name of this marker. + Note that markers are considered equal if they have the same name. +

+

+
Overrides:
hashCode in class Object
+
+
+ +
Returns:
the computed hashCode
Since:
+
1.5.1
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/MarkerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/MarkerFactory.html new file mode 100644 index 0000000..0091e7d --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/MarkerFactory.html @@ -0,0 +1,290 @@ + + + + + + + +MarkerFactory (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j +
+Class MarkerFactory

+
+java.lang.Object
+  extended by org.slf4j.MarkerFactory
+
+
+
+
public class MarkerFactory
extends Object
+ + +

+MarkerFactory is a utility class producing Marker instances as + appropriate for the logging system currently in use. + +

+ This class is essentially implemented as a wrapper around an + IMarkerFactory instance bound at compile time. + +

+ Please note that all methods in this class are static. +

+ +

+

+
Author:
+
Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + + + + + + + + + + +
+Method Summary
+static MarkergetDetachedMarker(String name) + +
+          Create a marker which is detached (even at birth) from the MarkerFactory.
+static IMarkerFactorygetIMarkerFactory() + +
+          Return the IMarkerFactoryinstance in use.
+static MarkergetMarker(String name) + +
+          Return a Marker instance as specified by the name parameter using the + previously bound IMarkerFactoryinstance.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Method Detail
+ +

+getMarker

+
+public static Marker getMarker(String name)
+
+
Return a Marker instance as specified by the name parameter using the + previously bound IMarkerFactoryinstance. +

+

+
Parameters:
name - The name of the Marker object to return. +
Returns:
marker
+
+
+
+ +

+getDetachedMarker

+
+public static Marker getDetachedMarker(String name)
+
+
Create a marker which is detached (even at birth) from the MarkerFactory. +

+

+
Parameters:
name - the name of the marker +
Returns:
a dangling marker
Since:
+
1.5.1
+
+
+
+
+ +

+getIMarkerFactory

+
+public static IMarkerFactory getIMarkerFactory()
+
+
Return the IMarkerFactoryinstance in use. + +

The IMarkerFactory instance is usually bound with this class at + compile time. +

+

+ +
Returns:
the IMarkerFactory instance in use
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/NDC.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/NDC.html new file mode 100644 index 0000000..b641a0f --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/NDC.html @@ -0,0 +1,308 @@ + + + + + + + +NDC (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j +
+Class NDC

+
+java.lang.Object
+  extended by org.slf4j.NDC
+
+
+
+
public class NDC
extends Object
+ + +

+


+ +

+ + + + + + + + + + + +
+Field Summary
+static StringPREFIX + +
+           
+  + + + + + + + + + + +
+Constructor Summary
NDC() + +
+           
+  + + + + + + + + + + + + + + + +
+Method Summary
+static Stringpop() + +
+           
+static voidpush(String val) + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Field Detail
+ +

+PREFIX

+
+public static final String PREFIX
+
+
+
See Also:
Constant Field Values
+
+ + + + + + + + +
+Constructor Detail
+ +

+NDC

+
+public NDC()
+
+
+ + + + + + + + +
+Method Detail
+ +

+push

+
+public static void push(String val)
+
+
+
+
+
+
+ +

+pop

+
+public static String pop()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/agent/AgentOptions.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/agent/AgentOptions.html new file mode 100644 index 0000000..f211cf0 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/agent/AgentOptions.html @@ -0,0 +1,342 @@ + + + + + + + +AgentOptions (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.agent +
+Class AgentOptions

+
+java.lang.Object
+  extended by org.slf4j.agent.AgentOptions
+
+
+
+
public class AgentOptions
extends Object
+ + +

+

+ All recognized options in the string passed to the java agent. For + "java -javaagent:foo.jar=OPTIONS HelloWorld" this would be "OPTIONS". +

+

+ It is considered to be a list of options separated by (currently) ";", on the + form "option=value". The interpretation of "value" is specific to each + option. +

+

+ +

+


+ +

+ + + + + + + + + + + + + + + + + + + + + + + +
+Field Summary
+static StringIGNORE + +
+          List of class prefixes to ignore when instrumenting.
+static StringLEVEL + +
+          Indicate the SLF4J level that should be used by the logging statements + added by the agent.
+static StringTIME + +
+          Indicate that the agent should print out "new java.util.Date()" at the time + the option was processed and at shutdown time (using the shutdown hook).
+static StringVERBOSE + +
+          Indicate that the agent should log actions to System.err, like adding + logging to methods, etc.
+  + + + + + + + + + + +
+Constructor Summary
AgentOptions() + +
+           
+  + + + + + + + +
+Method Summary
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Field Detail
+ +

+IGNORE

+
+public static final String IGNORE
+
+
List of class prefixes to ignore when instrumenting. Note: Classes loaded + before the agent cannot be instrumented. +

+

+
See Also:
Constant Field Values
+
+
+ +

+LEVEL

+
+public static final String LEVEL
+
+
Indicate the SLF4J level that should be used by the logging statements + added by the agent. Default is "info". +

+

+
See Also:
Constant Field Values
+
+
+ +

+TIME

+
+public static final String TIME
+
+
Indicate that the agent should print out "new java.util.Date()" at the time + the option was processed and at shutdown time (using the shutdown hook). +

+

+
See Also:
Constant Field Values
+
+
+ +

+VERBOSE

+
+public static final String VERBOSE
+
+
Indicate that the agent should log actions to System.err, like adding + logging to methods, etc. +

+

+
See Also:
Constant Field Values
+
+ + + + + + + + +
+Constructor Detail
+ +

+AgentOptions

+
+public AgentOptions()
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/agent/AgentPremain.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/agent/AgentPremain.html new file mode 100644 index 0000000..d301dbe --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/agent/AgentPremain.html @@ -0,0 +1,263 @@ + + + + + + + +AgentPremain (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.agent +
+Class AgentPremain

+
+java.lang.Object
+  extended by org.slf4j.agent.AgentPremain
+
+
+
+
public class AgentPremain
extends Object
+ + +

+Entry point for slf4j-ext when used as a Java agent. +

+ +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
AgentPremain() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+static voidpremain(String agentArgument, + Instrumentation instrumentation) + +
+          JavaAgent premain entry point as specified in the MANIFEST.MF file.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+AgentPremain

+
+public AgentPremain()
+
+
+ + + + + + + + +
+Method Detail
+ +

+premain

+
+public static void premain(String agentArgument,
+                           Instrumentation instrumentation)
+
+
JavaAgent premain entry point as specified in the MANIFEST.MF file. See + ://java.sun.com/javase/6/docs/api/java/lang/instrument/package- + summary.html for details. +

+

+
Parameters:
agentArgument - string provided after "=" up to first space
instrumentation - instrumentation environment provided by the JVM
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/agent/class-use/AgentOptions.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/agent/class-use/AgentOptions.html new file mode 100644 index 0000000..e5e03d7 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/agent/class-use/AgentOptions.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.agent.AgentOptions (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.agent.AgentOptions

+
+No usage of org.slf4j.agent.AgentOptions +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/agent/class-use/AgentPremain.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/agent/class-use/AgentPremain.html new file mode 100644 index 0000000..c8196ce --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/agent/class-use/AgentPremain.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.agent.AgentPremain (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.agent.AgentPremain

+
+No usage of org.slf4j.agent.AgentPremain +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/agent/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/agent/package-frame.html new file mode 100644 index 0000000..a969dd5 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/agent/package-frame.html @@ -0,0 +1,35 @@ + + + + + + + +org.slf4j.agent (SLF4J 1.7.5 API) + + + + + + + + + + + +org.slf4j.agent + + + + +
+Classes  + +
+AgentOptions +
+AgentPremain
+ + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/agent/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/agent/package-summary.html new file mode 100644 index 0000000..5e76ade --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/agent/package-summary.html @@ -0,0 +1,196 @@ + + + + + + + +org.slf4j.agent (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+

+Package org.slf4j.agent +

+"-javaagent" routines for SLF4J. +

+See: +
+          Description +

+ + + + + + + + + + + + + +
+Class Summary
AgentOptions + All recognized options in the string passed to the java agent.
AgentPremainEntry point for slf4j-ext when used as a Java agent.
+  + +

+

+Package org.slf4j.agent Description +

+ +

+

"-javaagent" routines for SLF4J.

+

The "-javaagent" flag provided in Java 5+ allows for writing +agents in Java, which previously was possible in native code only. The +full details are available at http://java.sun.com/javase/6/docs/api/java/lang/instrument/package-summary.html. + + +Please notice that code made available to the java agent is also +available to the actual program executed.

+

The slf4j-ext-X.Y.Z.jar file provides such a java agent, which is +implemented in AgentPremain.java. It is used by adding a -javaagent flag to the Java command line: + +E.g. +

java HelloWorld
+is changed to +
java -javaagent:/path/to/slf4j-ext-X.Y.Z.jar=OPTIONS HelloWorld
+ +What is actually done, depends on the OPTIONS passed to the agent. These are listed in AgentOptions.java. +

+

+ +

+

+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/agent/package-tree.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/agent/package-tree.html new file mode 100644 index 0000000..1f724f2 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/agent/package-tree.html @@ -0,0 +1,154 @@ + + + + + + + +org.slf4j.agent Class Hierarchy (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For Package org.slf4j.agent +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/agent/package-use.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/agent/package-use.html new file mode 100644 index 0000000..ba0bbd5 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/agent/package-use.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Package org.slf4j.agent (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Package
org.slf4j.agent

+
+No usage of org.slf4j.agent +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/bridge/SLF4JBridgeHandler.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/bridge/SLF4JBridgeHandler.html new file mode 100644 index 0000000..d14a3bf --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/bridge/SLF4JBridgeHandler.html @@ -0,0 +1,549 @@ + + + + + + + +SLF4JBridgeHandler (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.bridge +
+Class SLF4JBridgeHandler

+
+java.lang.Object
+  extended by java.util.logging.Handler
+      extended by org.slf4j.bridge.SLF4JBridgeHandler
+
+
+
+
public class SLF4JBridgeHandler
extends Handler
+ + +

+

Bridge/route all JUL log records to the SLF4J API.

+

Essentially, the idea is to install on the root logger an instance of + SLF4JBridgeHandler as the sole JUL handler in the system. Subsequently, the + SLF4JBridgeHandler instance will redirect all JUL log records are redirected + to the SLF4J API based on the following mapping of levels: +

+
+ FINEST  -> TRACE
+ FINER   -> DEBUG
+ FINE    -> DEBUG
+ INFO    -> INFO
+ WARNING -> WARN
+ SEVERE  -> ERROR
+

Programmatic installation:

+
+ // Optionally remove existing handlers attached to j.u.l root logger
+ SLF4JBridgeHandler.removeHandlersForRootLogger();  // (since SLF4J 1.6.5)
+
+ // add SLF4JBridgeHandler to j.u.l's root logger, should be done once during
+ // the initialization phase of your application
+ SLF4JBridgeHandler.install();
+

Installation via logging.properties configuration file:

+
+ // register SLF4JBridgeHandler as handler for the j.u.l. root logger
+ handlers = org.slf4j.bridge.SLF4JBridgeHandler
+

Once SLF4JBridgeHandler is installed, logging by j.u.l. loggers will be directed to + SLF4J. Example:

+
+ import  java.util.logging.Logger;
+ ...
+ // usual pattern: get a Logger and then log a message
+ Logger julLogger = Logger.getLogger("org.wombat");
+ julLogger.fine("hello world"); // this will get redirected to SLF4J
+ +

Please note that translating a java.util.logging event into SLF4J incurs the + cost of constructing LogRecord instance regardless of whether the + SLF4J logger is disabled for the given level. Consequently, j.u.l. to + SLF4J translation can seriously increase the cost of disabled logging + statements (60 fold or 6000% increase) and measurably impact the performance of enabled log + statements (20% overall increase). Please note that as of logback-version 0.9.25, + it is possible to completely eliminate the 60 fold translation overhead for disabled + log statements with the help of LevelChangePropagator. +

+ +

If you are concerned about application performance, then use of SLF4JBridgeHandler + is appropriate only if any one the following two conditions is true:

+
    +
  1. few j.u.l. logging statements are in play
  2. +
  3. LevelChangePropagator has been installed
  4. +
+

+ +

+

+
Since:
+
1.5.1
+
Author:
+
Christian Stein, Joern Huxhorn, Ceki Gülcü, Darryl Smith
+
+
+ +

+ + + + + + + + + + + +
+Constructor Summary
SLF4JBridgeHandler() + +
+          Initialize this handler.
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+protected  voidcallLocationAwareLogger(LocationAwareLogger lal, + LogRecord record) + +
+           
+protected  voidcallPlainSLF4JLogger(Logger slf4jLogger, + LogRecord record) + +
+           
+ voidclose() + +
+          No-op implementation.
+ voidflush() + +
+          No-op implementation.
+protected  LoggergetSLF4JLogger(LogRecord record) + +
+          Return the Logger instance that will be used for logging.
+static voidinstall() + +
+          Adds a SLF4JBridgeHandler instance to jul's root logger.
+static booleanisInstalled() + +
+          Returns true if SLF4JBridgeHandler has been previously installed, returns false otherwise.
+ voidpublish(LogRecord record) + +
+          Publish a LogRecord.
+static voidremoveHandlersForRootLogger() + +
+          Invoking this method removes/unregisters/detaches all handlers currently attached to the root logger
+static voiduninstall() + +
+          Removes previously installed SLF4JBridgeHandler instances.
+ + + + + + + +
Methods inherited from class java.util.logging.Handler
getEncoding, getErrorManager, getFilter, getFormatter, getLevel, isLoggable, reportError, setEncoding, setErrorManager, setFilter, setFormatter, setLevel
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+SLF4JBridgeHandler

+
+public SLF4JBridgeHandler()
+
+
Initialize this handler. +

+

+ + + + + + + + +
+Method Detail
+ +

+install

+
+public static void install()
+
+
Adds a SLF4JBridgeHandler instance to jul's root logger. +

+

+ This handler will redirect j.u.l. logging to SLF4J. However, only logs enabled + in j.u.l. will be redirected. For example, if a log statement invoking a + j.u.l. logger is disabled, then the corresponding non-event will not + reach SLF4JBridgeHandler and cannot be redirected. +

+

+
+
+
+
+ +

+uninstall

+
+public static void uninstall()
+                      throws SecurityException
+
+
Removes previously installed SLF4JBridgeHandler instances. See also + install(). +

+

+ +
Throws: +
SecurityException - A SecurityException is thrown, if a security manager + exists and if the caller does not have + LoggingPermission("control").
+
+
+
+ +

+isInstalled

+
+public static boolean isInstalled()
+                           throws SecurityException
+
+
Returns true if SLF4JBridgeHandler has been previously installed, returns false otherwise. +

+

+ +
Returns:
true if SLF4JBridgeHandler is already installed, false other wise +
Throws: +
SecurityException
+
+
+
+ +

+removeHandlersForRootLogger

+
+public static void removeHandlersForRootLogger()
+
+
Invoking this method removes/unregisters/detaches all handlers currently attached to the root logger +

+

+
Since:
+
1.6.5
+
+
+
+
+ +

+close

+
+public void close()
+
+
No-op implementation. +

+

+
Specified by:
close in class Handler
+
+
+
+
+
+
+ +

+flush

+
+public void flush()
+
+
No-op implementation. +

+

+
Specified by:
flush in class Handler
+
+
+
+
+
+
+ +

+getSLF4JLogger

+
+protected Logger getSLF4JLogger(LogRecord record)
+
+
Return the Logger instance that will be used for logging. +

+

+
+
+
+
+ +

+callLocationAwareLogger

+
+protected void callLocationAwareLogger(LocationAwareLogger lal,
+                                       LogRecord record)
+
+
+
+
+
+
+ +

+callPlainSLF4JLogger

+
+protected void callPlainSLF4JLogger(Logger slf4jLogger,
+                                    LogRecord record)
+
+
+
+
+
+
+ +

+publish

+
+public void publish(LogRecord record)
+
+
Publish a LogRecord. +

+ The logging request was made initially to a Logger object, which + initialized the LogRecord and forwarded it here. +

+ This handler ignores the Level attached to the LogRecord, as SLF4J cares + about discarding log statements. +

+

+
Specified by:
publish in class Handler
+
+
+
Parameters:
record - Description of the log event. A null record is silently ignored + and is not published.
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/bridge/class-use/SLF4JBridgeHandler.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/bridge/class-use/SLF4JBridgeHandler.html new file mode 100644 index 0000000..007b914 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/bridge/class-use/SLF4JBridgeHandler.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.bridge.SLF4JBridgeHandler (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.bridge.SLF4JBridgeHandler

+
+No usage of org.slf4j.bridge.SLF4JBridgeHandler +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/bridge/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/bridge/package-frame.html new file mode 100644 index 0000000..d528853 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/bridge/package-frame.html @@ -0,0 +1,33 @@ + + + + + + + +org.slf4j.bridge (SLF4J 1.7.5 API) + + + + + + + + + + + +org.slf4j.bridge + + + + +
+Classes  + +
+SLF4JBridgeHandler
+ + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/bridge/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/bridge/package-summary.html new file mode 100644 index 0000000..9fe14aa --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/bridge/package-summary.html @@ -0,0 +1,175 @@ + + + + + + + +org.slf4j.bridge (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+

+Package org.slf4j.bridge +

+Bridge/route all JUL log records to the SLF4J API. +

+See: +
+          Description +

+ + + + + + + + + +
+Class Summary
SLF4JBridgeHandlerBridge/route all JUL log records to the SLF4J API.
+  + +

+

+Package org.slf4j.bridge Description +

+ +

+

Bridge/route all JUL log records to the SLF4J API.

+ +
+

+ +

+

+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/bridge/package-tree.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/bridge/package-tree.html new file mode 100644 index 0000000..2a5c100 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/bridge/package-tree.html @@ -0,0 +1,156 @@ + + + + + + + +org.slf4j.bridge Class Hierarchy (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For Package org.slf4j.bridge +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/bridge/package-use.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/bridge/package-use.html new file mode 100644 index 0000000..5b763ab --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/bridge/package-use.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Package org.slf4j.bridge (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Package
org.slf4j.bridge

+
+No usage of org.slf4j.bridge +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/cal10n/LocLogger.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/cal10n/LocLogger.html new file mode 100644 index 0000000..7bc011d --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/cal10n/LocLogger.html @@ -0,0 +1,424 @@ + + + + + + + +LocLogger (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.cal10n +
+Class LocLogger

+
+java.lang.Object
+  extended by org.slf4j.ext.LoggerWrapper
+      extended by org.slf4j.cal10n.LocLogger
+
+
+
All Implemented Interfaces:
Logger
+
+
+
+
public class LocLogger
extends LoggerWrapper
implements Logger
+ + +

+A logger specialized in localized logging. Localization is based in the CAL10N project

. +

+ +

+

+
Author:
+
Ceki Gülcü
+
+
+ +

+ + + + + + + +
+Field Summary
+ + + + + + + +
Fields inherited from class org.slf4j.ext.LoggerWrapper
instanceofLAL, logger
+ + + + + + + +
Fields inherited from interface org.slf4j.Logger
ROOT_LOGGER_NAME
+  + + + + + + + + + + +
+Constructor Summary
LocLogger(Logger logger, + ch.qos.cal10n.IMessageConveyor imc) + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voiddebug(Enum<?> key, + Object... args) + +
+          Log a localized message at the DEBUG level.
+ voiderror(Enum<?> key, + Object... args) + +
+          Log a localized message at the ERROR level.
+ voidinfo(Enum<?> key, + Object... args) + +
+          Log a localized message at the INFO level.
+ voidtrace(Enum<?> key, + Object... args) + +
+          Log a localized message at the TRACE level.
+ voidwarn(Enum<?> key, + Object... args) + +
+          Log a localized message at the WARN level.
+ + + + + + + +
Methods inherited from class org.slf4j.ext.LoggerWrapper
debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, error, error, error, error, error, error, error, error, error, error, getName, info, info, info, info, info, info, info, info, info, info, isDebugEnabled, isDebugEnabled, isErrorEnabled, isErrorEnabled, isInfoEnabled, isInfoEnabled, isTraceEnabled, isTraceEnabled, isWarnEnabled, isWarnEnabled, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+ + + + + + + +
Methods inherited from interface org.slf4j.Logger
debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, error, error, error, error, error, error, error, error, error, error, getName, info, info, info, info, info, info, info, info, info, info, isDebugEnabled, isDebugEnabled, isErrorEnabled, isErrorEnabled, isInfoEnabled, isInfoEnabled, isTraceEnabled, isTraceEnabled, isWarnEnabled, isWarnEnabled, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+LocLogger

+
+public LocLogger(Logger logger,
+                 ch.qos.cal10n.IMessageConveyor imc)
+
+
+ + + + + + + + +
+Method Detail
+ +

+trace

+
+public void trace(Enum<?> key,
+                  Object... args)
+
+
Log a localized message at the TRACE level. +

+

+
+
+
+
Parameters:
key - the key used for localization
args - optional arguments
+
+
+
+ +

+debug

+
+public void debug(Enum<?> key,
+                  Object... args)
+
+
Log a localized message at the DEBUG level. +

+

+
+
+
+
Parameters:
key - the key used for localization
args - optional arguments
+
+
+
+ +

+info

+
+public void info(Enum<?> key,
+                 Object... args)
+
+
Log a localized message at the INFO level. +

+

+
+
+
+
Parameters:
key - the key used for localization
args - optional arguments
+
+
+
+ +

+warn

+
+public void warn(Enum<?> key,
+                 Object... args)
+
+
Log a localized message at the WARN level. +

+

+
+
+
+
Parameters:
key - the key used for localization
args - optional arguments
+
+
+
+ +

+error

+
+public void error(Enum<?> key,
+                  Object... args)
+
+
Log a localized message at the ERROR level. +

+

+
+
+
+
Parameters:
key - the key used for localization
args - optional arguments
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/cal10n/LocLoggerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/cal10n/LocLoggerFactory.html new file mode 100644 index 0000000..42950cc --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/cal10n/LocLoggerFactory.html @@ -0,0 +1,295 @@ + + + + + + + +LocLoggerFactory (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.cal10n +
+Class LocLoggerFactory

+
+java.lang.Object
+  extended by org.slf4j.cal10n.LocLoggerFactory
+
+
+
+
public class LocLoggerFactory
extends Object
+ + +

+This class is essentially a wrapper around an LoggerFactory producing + LocLogger instances. + +

+ Contrary to LoggerFactory.getLogger(String) method of + LoggerFactory, each call to getLocLogger produces a new + instance of LocLogger. This should not matter because a LocLogger + instance does have any state beyond that of the Logger in stance it + wraps and its message conveyor. +

+ +

+

+
Author:
+
Ceki Gücü
+
+
+ +

+ + + + + + + + + + + +
+Constructor Summary
LocLoggerFactory(ch.qos.cal10n.IMessageConveyor imc) + +
+           
+  + + + + + + + + + + + + + + + +
+Method Summary
+ LocLoggergetLocLogger(Class clazz) + +
+          Get a new LocLogger instance by class.
+ LocLoggergetLocLogger(String name) + +
+          Get an LocLogger instance by name.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+LocLoggerFactory

+
+public LocLoggerFactory(ch.qos.cal10n.IMessageConveyor imc)
+
+
+ + + + + + + + +
+Method Detail
+ +

+getLocLogger

+
+public LocLogger getLocLogger(String name)
+
+
Get an LocLogger instance by name. +

+

+
Parameters:
name - +
Returns:
LocLogger instance by name.
+
+
+
+ +

+getLocLogger

+
+public LocLogger getLocLogger(Class clazz)
+
+
Get a new LocLogger instance by class. The returned LocLogger will be named + after the class. +

+

+
Parameters:
clazz - +
Returns:
LocLogger instance by class
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/cal10n/class-use/LocLogger.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/cal10n/class-use/LocLogger.html new file mode 100644 index 0000000..340a62f --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/cal10n/class-use/LocLogger.html @@ -0,0 +1,189 @@ + + + + + + + +Uses of Class org.slf4j.cal10n.LocLogger (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.cal10n.LocLogger

+
+ + + + + + + + + +
+Packages that use LocLogger
org.slf4j.cal10nSLF4J API extensions 
+  +

+ + + + + +
+Uses of LocLogger in org.slf4j.cal10n
+  +

+ + + + + + + + + + + + + +
Methods in org.slf4j.cal10n that return LocLogger
+ LocLoggerLocLoggerFactory.getLocLogger(Class clazz) + +
+          Get a new LocLogger instance by class.
+ LocLoggerLocLoggerFactory.getLocLogger(String name) + +
+          Get an LocLogger instance by name.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/cal10n/class-use/LocLoggerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/cal10n/class-use/LocLoggerFactory.html new file mode 100644 index 0000000..3b28e2c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/cal10n/class-use/LocLoggerFactory.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.cal10n.LocLoggerFactory (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.cal10n.LocLoggerFactory

+
+No usage of org.slf4j.cal10n.LocLoggerFactory +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/cal10n/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/cal10n/package-frame.html new file mode 100644 index 0000000..1cf7727 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/cal10n/package-frame.html @@ -0,0 +1,35 @@ + + + + + + + +org.slf4j.cal10n (SLF4J 1.7.5 API) + + + + + + + + + + + +org.slf4j.cal10n + + + + +
+Classes  + +
+LocLogger +
+LocLoggerFactory
+ + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/cal10n/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/cal10n/package-summary.html new file mode 100644 index 0000000..7527bac --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/cal10n/package-summary.html @@ -0,0 +1,178 @@ + + + + + + + +org.slf4j.cal10n (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+

+Package org.slf4j.cal10n +

+SLF4J API extensions +

+See: +
+          Description +

+ + + + + + + + + + + + + +
+Class Summary
LocLoggerA logger specialized in localized logging.
LocLoggerFactoryThis class is essentially a wrapper around an LoggerFactory producing + LocLogger instances.
+  + +

+

+Package org.slf4j.cal10n Description +

+ +

+

SLF4J API extensions

+

+ +

+

+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/cal10n/package-tree.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/cal10n/package-tree.html new file mode 100644 index 0000000..2b4ff43 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/cal10n/package-tree.html @@ -0,0 +1,158 @@ + + + + + + + +org.slf4j.cal10n Class Hierarchy (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For Package org.slf4j.cal10n +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/cal10n/package-use.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/cal10n/package-use.html new file mode 100644 index 0000000..4640631 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/cal10n/package-use.html @@ -0,0 +1,171 @@ + + + + + + + +Uses of Package org.slf4j.cal10n (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Package
org.slf4j.cal10n

+
+ + + + + + + + + +
+Packages that use org.slf4j.cal10n
org.slf4j.cal10nSLF4J API extensions 
+  +

+ + + + + + + + +
+Classes in org.slf4j.cal10n used by org.slf4j.cal10n
LocLogger + +
+          A logger specialized in localized logging.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/class-use/ILoggerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/class-use/ILoggerFactory.html new file mode 100644 index 0000000..f81c64b --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/class-use/ILoggerFactory.html @@ -0,0 +1,323 @@ + + + + + + + +Uses of Interface org.slf4j.ILoggerFactory (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Interface
org.slf4j.ILoggerFactory

+
+ + + + + + + + + + + + + + + + + + + + + +
+Packages that use ILoggerFactory
org.slf4jCore logging interfaces. 
org.slf4j.helpersHelper classes. 
org.slf4j.implImplementations of core logging interfaces defined in the org.slf4j package. 
org.slf4j.spiClasses and interfaces which are internal to SLF4J. 
+  +

+ + + + + +
+Uses of ILoggerFactory in org.slf4j
+  +

+ + + + + + + + + +
Methods in org.slf4j that return ILoggerFactory
+static ILoggerFactoryLoggerFactory.getILoggerFactory() + +
+          Return the ILoggerFactory instance in use.
+  +

+ + + + + +
+Uses of ILoggerFactory in org.slf4j.helpers
+  +

+ + + + + + + + + + + + + +
Classes in org.slf4j.helpers that implement ILoggerFactory
+ classNOPLoggerFactory + +
+          NOPLoggerFactory is an trivial implementation of ILoggerFactory which always returns the unique instance of + NOPLogger.
+ classSubstituteLoggerFactory + +
+          SubstituteLoggerFactory is an trivial implementation of + ILoggerFactory which always returns the unique instance of NOPLogger.
+  +

+ + + + + +
+Uses of ILoggerFactory in org.slf4j.impl
+  +

+ + + + + + + + + + + + + + + + + + + + + +
Classes in org.slf4j.impl that implement ILoggerFactory
+ classJCLLoggerFactory + +
+          JCLLoggerFactory is an implementation of ILoggerFactory returning the + appropriately named JCLLoggerAdapter instance.
+ classJDK14LoggerFactory + +
+          JDK14LoggerFactory is an implementation of ILoggerFactory returning + the appropriately named JDK14LoggerAdapter instance.
+ classLog4jLoggerFactory + +
+          Log4jLoggerFactory is an implementation of ILoggerFactory returning + the appropriate named Log4jLoggerAdapter instance.
+ classSimpleLoggerFactory + +
+          An implementation of ILoggerFactory which always returns + SimpleLogger instances.
+  +

+ + + + + + + + + +
Methods in org.slf4j.impl that return ILoggerFactory
+ ILoggerFactoryStaticLoggerBinder.getLoggerFactory() + +
+           
+  +

+ + + + + +
+Uses of ILoggerFactory in org.slf4j.spi
+  +

+ + + + + + + + + +
Methods in org.slf4j.spi that return ILoggerFactory
+ ILoggerFactoryLoggerFactoryBinder.getLoggerFactory() + +
+          Return the instance of ILoggerFactory that + LoggerFactory class should bind to.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/class-use/IMarkerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/class-use/IMarkerFactory.html new file mode 100644 index 0000000..f8a8f29 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/class-use/IMarkerFactory.html @@ -0,0 +1,271 @@ + + + + + + + +Uses of Interface org.slf4j.IMarkerFactory (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Interface
org.slf4j.IMarkerFactory

+
+ + + + + + + + + + + + + + + + + + + + + +
+Packages that use IMarkerFactory
org.slf4jCore logging interfaces. 
org.slf4j.helpersHelper classes. 
org.slf4j.implImplementations of core logging interfaces defined in the org.slf4j package. 
org.slf4j.spiClasses and interfaces which are internal to SLF4J. 
+  +

+ + + + + +
+Uses of IMarkerFactory in org.slf4j
+  +

+ + + + + + + + + +
Methods in org.slf4j that return IMarkerFactory
+static IMarkerFactoryMarkerFactory.getIMarkerFactory() + +
+          Return the IMarkerFactoryinstance in use.
+  +

+ + + + + +
+Uses of IMarkerFactory in org.slf4j.helpers
+  +

+ + + + + + + + + +
Classes in org.slf4j.helpers that implement IMarkerFactory
+ classBasicMarkerFactory + +
+          An almost trivial implementation of the IMarkerFactory + interface which creates BasicMarker instances.
+  +

+ + + + + +
+Uses of IMarkerFactory in org.slf4j.impl
+  +

+ + + + + + + + + +
Methods in org.slf4j.impl that return IMarkerFactory
+ IMarkerFactoryStaticMarkerBinder.getMarkerFactory() + +
+          Currently this method always returns an instance of + BasicMarkerFactory.
+  +

+ + + + + +
+Uses of IMarkerFactory in org.slf4j.spi
+  +

+ + + + + + + + + +
Methods in org.slf4j.spi that return IMarkerFactory
+ IMarkerFactoryMarkerFactoryBinder.getMarkerFactory() + +
+          Return the instance of IMarkerFactory that + MarkerFactory class should bind to.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/class-use/Logger.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/class-use/Logger.html new file mode 100644 index 0000000..b544325 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/class-use/Logger.html @@ -0,0 +1,630 @@ + + + + + + + +Uses of Interface org.slf4j.Logger (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Interface
org.slf4j.Logger

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Packages that use Logger
org.apache.log4jAn rather minimal but sufficient implementation redirecting all + calls to a log4j logger to a logback logger. 
org.slf4jCore logging interfaces. 
org.slf4j.bridgeBridge/route all JUL log records to the SLF4J API. 
org.slf4j.cal10nSLF4J API extensions 
org.slf4j.extLocalized logging using the CAL10N API. 
org.slf4j.helpersHelper classes. 
org.slf4j.implImplementations of core logging interfaces defined in the org.slf4j package. 
org.slf4j.profilerPoor man's profiler API 
org.slf4j.spiClasses and interfaces which are internal to SLF4J. 
+  +

+ + + + + +
+Uses of Logger in org.apache.log4j
+  +

+ + + + + + + + + +
Fields in org.apache.log4j declared as Logger
+protected  LoggerCategory.slf4jLogger + +
+           
+  +

+ + + + + +
+Uses of Logger in org.slf4j
+  +

+ + + + + + + + + + + + + + + + + +
Methods in org.slf4j that return Logger
+static LoggerLoggerFactory.getLogger(Class clazz) + +
+          Return a logger named corresponding to the class passed as parameter, using + the statically bound ILoggerFactory instance.
+static LoggerLoggerFactory.getLogger(String name) + +
+          Return a logger named according to the name parameter using the statically + bound ILoggerFactory instance.
+ LoggerILoggerFactory.getLogger(String name) + +
+          Return an appropriate Logger instance as specified by the + name parameter.
+  +

+ + + + + +
+Uses of Logger in org.slf4j.bridge
+  +

+ + + + + + + + + +
Methods in org.slf4j.bridge that return Logger
+protected  LoggerSLF4JBridgeHandler.getSLF4JLogger(LogRecord record) + +
+          Return the Logger instance that will be used for logging.
+  +

+ + + + + + + + + +
Methods in org.slf4j.bridge with parameters of type Logger
+protected  voidSLF4JBridgeHandler.callPlainSLF4JLogger(Logger slf4jLogger, + LogRecord record) + +
+           
+  +

+ + + + + +
+Uses of Logger in org.slf4j.cal10n
+  +

+ + + + + + + + + +
Classes in org.slf4j.cal10n that implement Logger
+ classLocLogger + +
+          A logger specialized in localized logging.
+  +

+ + + + + + + + +
Constructors in org.slf4j.cal10n with parameters of type Logger
LocLogger(Logger logger, + ch.qos.cal10n.IMessageConveyor imc) + +
+           
+  +

+ + + + + +
+Uses of Logger in org.slf4j.ext
+  +

+ + + + + + + + + + + + + +
Classes in org.slf4j.ext that implement Logger
+ classLoggerWrapper + +
+          A helper class wrapping an Logger instance preserving + location information if the wrapped instance supports it.
+ classXLogger + +
+          A utility that provides standard mechanisms for logging certain kinds of + activities.
+  +

+ + + + + + + + + +
Fields in org.slf4j.ext declared as Logger
+protected  LoggerLoggerWrapper.logger + +
+           
+  +

+ + + + + + + + + + + +
Constructors in org.slf4j.ext with parameters of type Logger
LoggerWrapper(Logger logger, + String fqcn) + +
+           
XLogger(Logger logger) + +
+          Given an underlying logger, construct an XLogger
+  +

+ + + + + +
+Uses of Logger in org.slf4j.helpers
+  +

+ + + + + + + + + + + + + +
Classes in org.slf4j.helpers that implement Logger
+ classMarkerIgnoringBase + +
+          This class serves as base for adapters or native implementations of logging systems + lacking Marker support.
+ classNOPLogger + +
+          A direct NOP (no operation) implementation of Logger.
+  +

+ + + + + + + + + + + + + +
Methods in org.slf4j.helpers that return Logger
+ LoggerSubstituteLoggerFactory.getLogger(String name) + +
+           
+ LoggerNOPLoggerFactory.getLogger(String name) + +
+           
+  +

+ + + + + +
+Uses of Logger in org.slf4j.impl
+  +

+ + + + + + + + + + + + + + + + + + + + + +
Classes in org.slf4j.impl that implement Logger
+ classJCLLoggerAdapter + +
+          A wrapper over org.apache.commons.logging.Log in conformance with the Logger + interface.
+ classJDK14LoggerAdapter + +
+          A wrapper over java.util.logging.Logger in + conformity with the Logger interface.
+ classLog4jLoggerAdapter + +
+          A wrapper over org.apache.log4j.Logger in + conforming to the Logger interface.
+ classSimpleLogger + +
+          Simple implementation of Logger that sends all enabled log messages, + for all defined loggers, to the console (System.err).
+  +

+ + + + + + + + + + + + + + + + + + + + + +
Methods in org.slf4j.impl that return Logger
+ LoggerJCLLoggerFactory.getLogger(String name) + +
+           
+ LoggerLog4jLoggerFactory.getLogger(String name) + +
+           
+ LoggerJDK14LoggerFactory.getLogger(String name) + +
+           
+ LoggerSimpleLoggerFactory.getLogger(String name) + +
+          Return an appropriate SimpleLogger instance by name.
+  +

+ + + + + +
+Uses of Logger in org.slf4j.profiler
+  +

+ + + + + + + + + +
Methods in org.slf4j.profiler that return Logger
+ LoggerProfiler.getLogger() + +
+           
+  +

+ + + + + + + + + +
Methods in org.slf4j.profiler with parameters of type Logger
+ voidProfiler.setLogger(Logger logger) + +
+           
+  +

+ + + + + +
+Uses of Logger in org.slf4j.spi
+  +

+ + + + + + + + + +
Subinterfaces of Logger in org.slf4j.spi
+ interfaceLocationAwareLogger + +
+          An optional interface helping integration with logging systems capable of + extracting location information.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/class-use/LoggerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/class-use/LoggerFactory.html new file mode 100644 index 0000000..61194b2 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/class-use/LoggerFactory.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.LoggerFactory (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.LoggerFactory

+
+No usage of org.slf4j.LoggerFactory +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/class-use/MDC.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/class-use/MDC.html new file mode 100644 index 0000000..909eacd --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/class-use/MDC.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.MDC (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.MDC

+
+No usage of org.slf4j.MDC +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/class-use/Marker.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/class-use/Marker.html new file mode 100644 index 0000000..b0f3c11 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/class-use/Marker.html @@ -0,0 +1,1321 @@ + + + + + + + +Uses of Interface org.slf4j.Marker (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Interface
org.slf4j.Marker

+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+Packages that use Marker
org.slf4jCore logging interfaces. 
org.slf4j.extLocalized logging using the CAL10N API. 
org.slf4j.helpersHelper classes. 
org.slf4j.implImplementations of core logging interfaces defined in the org.slf4j package. 
org.slf4j.spiClasses and interfaces which are internal to SLF4J. 
+  +

+ + + + + +
+Uses of Marker in org.slf4j
+  +

+ + + + + + + + + + + + + + + + + + + + + +
Methods in org.slf4j that return Marker
+static MarkerMarkerFactory.getDetachedMarker(String name) + +
+          Create a marker which is detached (even at birth) from the MarkerFactory.
+ MarkerIMarkerFactory.getDetachedMarker(String name) + +
+          Create a marker which is detached (even at birth) from this IMarkerFactory.
+static MarkerMarkerFactory.getMarker(String name) + +
+          Return a Marker instance as specified by the name parameter using the + previously bound IMarkerFactoryinstance.
+ MarkerIMarkerFactory.getMarker(String name) + +
+          Manufacture a Marker instance by name.
+  +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Methods in org.slf4j with parameters of type Marker
+ voidMarker.add(Marker reference) + +
+          Add a reference to another Marker.
+ booleanMarker.contains(Marker other) + +
+          Does this marker contain a reference to the 'other' marker?
+ voidLogger.debug(Marker marker, + String msg) + +
+          Log a message with the specific Marker at the DEBUG level.
+ voidLogger.debug(Marker marker, + String format, + Object... arguments) + +
+          This method is similar to Logger.debug(String, Object...)
+ voidLogger.debug(Marker marker, + String format, + Object arg) + +
+          This method is similar to Logger.debug(String, Object) method except that the + marker data is also taken into consideration.
+ voidLogger.debug(Marker marker, + String format, + Object arg1, + Object arg2) + +
+          This method is similar to Logger.debug(String, Object, Object) + method except that the marker data is also taken into + consideration.
+ voidLogger.debug(Marker marker, + String msg, + Throwable t) + +
+          This method is similar to Logger.debug(String, Throwable) method except that the + marker data is also taken into consideration.
+ voidLogger.error(Marker marker, + String msg) + +
+          Log a message with the specific Marker at the ERROR level.
+ voidLogger.error(Marker marker, + String format, + Object... arguments) + +
+          This method is similar to Logger.error(String, Object...)
+ voidLogger.error(Marker marker, + String format, + Object arg) + +
+          This method is similar to Logger.error(String, Object) method except that the + marker data is also taken into consideration.
+ voidLogger.error(Marker marker, + String format, + Object arg1, + Object arg2) + +
+          This method is similar to Logger.error(String, Object, Object) + method except that the marker data is also taken into + consideration.
+ voidLogger.error(Marker marker, + String msg, + Throwable t) + +
+          This method is similar to Logger.error(String, Throwable) + method except that the marker data is also taken into + consideration.
+ voidLogger.info(Marker marker, + String msg) + +
+          Log a message with the specific Marker at the INFO level.
+ voidLogger.info(Marker marker, + String format, + Object... arguments) + +
+          This method is similar to Logger.info(String, Object...)
+ voidLogger.info(Marker marker, + String format, + Object arg) + +
+          This method is similar to Logger.info(String, Object) method except that the + marker data is also taken into consideration.
+ voidLogger.info(Marker marker, + String format, + Object arg1, + Object arg2) + +
+          This method is similar to Logger.info(String, Object, Object) + method except that the marker data is also taken into + consideration.
+ voidLogger.info(Marker marker, + String msg, + Throwable t) + +
+          This method is similar to Logger.info(String, Throwable) method + except that the marker data is also taken into consideration.
+ booleanLogger.isDebugEnabled(Marker marker) + +
+          Similar to Logger.isDebugEnabled() method except that the + marker data is also taken into account.
+ booleanLogger.isErrorEnabled(Marker marker) + +
+          Similar to Logger.isErrorEnabled() method except that the + marker data is also taken into consideration.
+ booleanLogger.isInfoEnabled(Marker marker) + +
+          Similar to Logger.isInfoEnabled() method except that the marker + data is also taken into consideration.
+ booleanLogger.isTraceEnabled(Marker marker) + +
+          Similar to Logger.isTraceEnabled() method except that the + marker data is also taken into account.
+ booleanLogger.isWarnEnabled(Marker marker) + +
+          Similar to Logger.isWarnEnabled() method except that the marker + data is also taken into consideration.
+ booleanMarker.remove(Marker reference) + +
+          Remove a marker reference.
+ voidLogger.trace(Marker marker, + String msg) + +
+          Log a message with the specific Marker at the TRACE level.
+ voidLogger.trace(Marker marker, + String format, + Object... argArray) + +
+          This method is similar to Logger.trace(String, Object...)
+ voidLogger.trace(Marker marker, + String format, + Object arg) + +
+          This method is similar to Logger.trace(String, Object) method except that the + marker data is also taken into consideration.
+ voidLogger.trace(Marker marker, + String format, + Object arg1, + Object arg2) + +
+          This method is similar to Logger.trace(String, Object, Object) + method except that the marker data is also taken into + consideration.
+ voidLogger.trace(Marker marker, + String msg, + Throwable t) + +
+          This method is similar to Logger.trace(String, Throwable) method except that the + marker data is also taken into consideration.
+ voidLogger.warn(Marker marker, + String msg) + +
+          Log a message with the specific Marker at the WARN level.
+ voidLogger.warn(Marker marker, + String format, + Object... arguments) + +
+          This method is similar to Logger.warn(String, Object...)
+ voidLogger.warn(Marker marker, + String format, + Object arg) + +
+          This method is similar to Logger.warn(String, Object) method except that the + marker data is also taken into consideration.
+ voidLogger.warn(Marker marker, + String format, + Object arg1, + Object arg2) + +
+          This method is similar to Logger.warn(String, Object, Object) + method except that the marker data is also taken into + consideration.
+ voidLogger.warn(Marker marker, + String msg, + Throwable t) + +
+          This method is similar to Logger.warn(String, Throwable) method + except that the marker data is also taken into consideration.
+  +

+ + + + + +
+Uses of Marker in org.slf4j.ext
+  +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Methods in org.slf4j.ext with parameters of type Marker
+ voidLoggerWrapper.debug(Marker marker, + String msg) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidLoggerWrapper.debug(Marker marker, + String format, + Object... argArray) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidLoggerWrapper.debug(Marker marker, + String format, + Object arg) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidLoggerWrapper.debug(Marker marker, + String format, + Object arg1, + Object arg2) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidLoggerWrapper.debug(Marker marker, + String msg, + Throwable t) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidLoggerWrapper.error(Marker marker, + String msg) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidLoggerWrapper.error(Marker marker, + String format, + Object... args) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidLoggerWrapper.error(Marker marker, + String format, + Object arg) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidLoggerWrapper.error(Marker marker, + String format, + Object arg1, + Object arg2) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidLoggerWrapper.error(Marker marker, + String msg, + Throwable t) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidLoggerWrapper.info(Marker marker, + String msg) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidLoggerWrapper.info(Marker marker, + String format, + Object... args) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidLoggerWrapper.info(Marker marker, + String format, + Object arg) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidLoggerWrapper.info(Marker marker, + String format, + Object arg1, + Object arg2) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidLoggerWrapper.info(Marker marker, + String msg, + Throwable t) + +
+          Delegate to the appropriate method of the underlying logger.
+ booleanLoggerWrapper.isDebugEnabled(Marker marker) + +
+          Delegate to the appropriate method of the underlying logger.
+ booleanLoggerWrapper.isErrorEnabled(Marker marker) + +
+          Delegate to the appropriate method of the underlying logger.
+ booleanLoggerWrapper.isInfoEnabled(Marker marker) + +
+          Delegate to the appropriate method of the underlying logger.
+ booleanLoggerWrapper.isTraceEnabled(Marker marker) + +
+          Delegate to the appropriate method of the underlying logger.
+ booleanLoggerWrapper.isWarnEnabled(Marker marker) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidLoggerWrapper.trace(Marker marker, + String msg) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidLoggerWrapper.trace(Marker marker, + String format, + Object... args) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidLoggerWrapper.trace(Marker marker, + String format, + Object arg) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidLoggerWrapper.trace(Marker marker, + String format, + Object arg1, + Object arg2) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidLoggerWrapper.trace(Marker marker, + String msg, + Throwable t) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidLoggerWrapper.warn(Marker marker, + String msg) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidLoggerWrapper.warn(Marker marker, + String format, + Object... args) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidLoggerWrapper.warn(Marker marker, + String format, + Object arg) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidLoggerWrapper.warn(Marker marker, + String format, + Object arg1, + Object arg2) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidLoggerWrapper.warn(Marker marker, + String msg, + Throwable t) + +
+          Delegate to the appropriate method of the underlying logger.
+  +

+ + + + + +
+Uses of Marker in org.slf4j.helpers
+  +

+ + + + + + + + + +
Classes in org.slf4j.helpers that implement Marker
+ classBasicMarker + +
+          A simple implementation of the Marker interface.
+  +

+ + + + + + + + + + + + + +
Methods in org.slf4j.helpers that return Marker
+ MarkerBasicMarkerFactory.getDetachedMarker(String name) + +
+           
+ MarkerBasicMarkerFactory.getMarker(String name) + +
+          Manufacture a BasicMarker instance by name.
+  +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Methods in org.slf4j.helpers with parameters of type Marker
+ voidBasicMarker.add(Marker reference) + +
+           
+ booleanBasicMarker.contains(Marker other) + +
+           
+ voidMarkerIgnoringBase.debug(Marker marker, + String msg) + +
+           
+ voidMarkerIgnoringBase.debug(Marker marker, + String format, + Object... arguments) + +
+           
+ voidMarkerIgnoringBase.debug(Marker marker, + String format, + Object arg) + +
+           
+ voidMarkerIgnoringBase.debug(Marker marker, + String format, + Object arg1, + Object arg2) + +
+           
+ voidMarkerIgnoringBase.debug(Marker marker, + String msg, + Throwable t) + +
+           
+ voidMarkerIgnoringBase.error(Marker marker, + String msg) + +
+           
+ voidMarkerIgnoringBase.error(Marker marker, + String format, + Object... arguments) + +
+           
+ voidMarkerIgnoringBase.error(Marker marker, + String format, + Object arg) + +
+           
+ voidMarkerIgnoringBase.error(Marker marker, + String format, + Object arg1, + Object arg2) + +
+           
+ voidMarkerIgnoringBase.error(Marker marker, + String msg, + Throwable t) + +
+           
+ voidMarkerIgnoringBase.info(Marker marker, + String msg) + +
+           
+ voidMarkerIgnoringBase.info(Marker marker, + String format, + Object... arguments) + +
+           
+ voidMarkerIgnoringBase.info(Marker marker, + String format, + Object arg) + +
+           
+ voidMarkerIgnoringBase.info(Marker marker, + String format, + Object arg1, + Object arg2) + +
+           
+ voidMarkerIgnoringBase.info(Marker marker, + String msg, + Throwable t) + +
+           
+ booleanMarkerIgnoringBase.isDebugEnabled(Marker marker) + +
+           
+ booleanMarkerIgnoringBase.isErrorEnabled(Marker marker) + +
+           
+ booleanMarkerIgnoringBase.isInfoEnabled(Marker marker) + +
+           
+ booleanMarkerIgnoringBase.isTraceEnabled(Marker marker) + +
+           
+ booleanMarkerIgnoringBase.isWarnEnabled(Marker marker) + +
+           
+ booleanBasicMarker.remove(Marker referenceToRemove) + +
+           
+ voidMarkerIgnoringBase.trace(Marker marker, + String msg) + +
+           
+ voidMarkerIgnoringBase.trace(Marker marker, + String format, + Object... arguments) + +
+           
+ voidMarkerIgnoringBase.trace(Marker marker, + String format, + Object arg) + +
+           
+ voidMarkerIgnoringBase.trace(Marker marker, + String format, + Object arg1, + Object arg2) + +
+           
+ voidMarkerIgnoringBase.trace(Marker marker, + String msg, + Throwable t) + +
+           
+ voidMarkerIgnoringBase.warn(Marker marker, + String msg) + +
+           
+ voidMarkerIgnoringBase.warn(Marker marker, + String format, + Object... arguments) + +
+           
+ voidMarkerIgnoringBase.warn(Marker marker, + String format, + Object arg) + +
+           
+ voidMarkerIgnoringBase.warn(Marker marker, + String format, + Object arg1, + Object arg2) + +
+           
+ voidMarkerIgnoringBase.warn(Marker marker, + String msg, + Throwable t) + +
+           
+  +

+ + + + + +
+Uses of Marker in org.slf4j.impl
+  +

+ + + + + + + + + + + + + +
Methods in org.slf4j.impl with parameters of type Marker
+ voidLog4jLoggerAdapter.log(Marker marker, + String callerFQCN, + int level, + String msg, + Object[] argArray, + Throwable t) + +
+           
+ voidJDK14LoggerAdapter.log(Marker marker, + String callerFQCN, + int level, + String message, + Object[] argArray, + Throwable t) + +
+           
+  +

+ + + + + +
+Uses of Marker in org.slf4j.spi
+  +

+ + + + + + + + + +
Methods in org.slf4j.spi with parameters of type Marker
+ voidLocationAwareLogger.log(Marker marker, + String fqcn, + int level, + String message, + Object[] argArray, + Throwable t) + +
+          Printing method with support for location information.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/class-use/MarkerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/class-use/MarkerFactory.html new file mode 100644 index 0000000..2243329 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/class-use/MarkerFactory.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.MarkerFactory (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.MarkerFactory

+
+No usage of org.slf4j.MarkerFactory +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/class-use/NDC.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/class-use/NDC.html new file mode 100644 index 0000000..47d4167 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/class-use/NDC.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.NDC (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.NDC

+
+No usage of org.slf4j.NDC +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/EventData.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/EventData.html new file mode 100644 index 0000000..0f546fa --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/EventData.html @@ -0,0 +1,853 @@ + + + + + + + +EventData (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.ext +
+Class EventData

+
+java.lang.Object
+  extended by org.slf4j.ext.EventData
+
+
+
All Implemented Interfaces:
Serializable
+
+
+
+
public class EventData
extends Object
implements Serializable
+ + +

+Base class for Event Data. Event Data contains data to be logged about an + event. Users may extend this class for each EventType they want to log. +

+ +

+

+
Author:
+
Ralph Goers
+
See Also:
Serialized Form
+
+ +

+ + + + + + + + + + + + + + + + + + + + + + + +
+Field Summary
+static StringEVENT_DATETIME + +
+           
+static StringEVENT_ID + +
+           
+static StringEVENT_MESSAGE + +
+           
+static StringEVENT_TYPE + +
+           
+  + + + + + + + + + + + + + + + + +
+Constructor Summary
EventData() + +
+          Default Constructor
EventData(Map<String,Object> map) + +
+          Constructor to create event data from a Map.
EventData(String xml) + +
+          Construct from a serialized form of the Map containing the RequestInfo + elements
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ booleanequals(Object o) + +
+          Compare two EventData objects for equality.
+ Serializableget(String name) + +
+          Retrieve an event attribute.
+ Iterator<Map.Entry<String,Object>>getEntrySetIterator() + +
+          Returns an Iterator over all the entries in the EventDAta.
+ DategetEventDateTime() + +
+          Retrieve the date and time the event occurred.
+ StringgetEventId() + +
+          Retrieve the event identifier.
+ Map<String,Object>getEventMap() + +
+          Retrieve all the attributes in the EventData as a Map.
+ StringgetEventType() + +
+          Retrieve the type of the event.
+ StringgetMessage() + +
+          Retrieve the message text associated with this event, if any.
+ intgetSize() + +
+          Returns the number of attributes in the EventData.
+ inthashCode() + +
+          Compute the hashCode for this EventData instance.
+ voidput(String name, + Serializable obj) + +
+          Add arbitrary attributes about the event.
+ voidputAll(Map<String,Object> data) + +
+          Populate the event data from a Map.
+ voidsetEventDateTime(Date eventDateTime) + +
+          Set the date and time the event occurred in case it is not the same as when + the event was logged.
+ voidsetEventId(String eventId) + +
+          Set the event identifier.
+ voidsetEventType(String eventType) + +
+          Set the type of event that occurred.
+ voidsetMessage(String message) + +
+          Set the message text associated with this event.
+ StringtoString() + +
+          Convert the EventData to a String.
+ StringtoXML() + +
+          Serialize all the EventData items into an XML representation.
+static StringtoXML(Map<String,Object> map) + +
+          Serialize all the EventData items into an XML representation.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Field Detail
+ +

+EVENT_MESSAGE

+
+public static final String EVENT_MESSAGE
+
+
+
See Also:
Constant Field Values
+
+
+ +

+EVENT_TYPE

+
+public static final String EVENT_TYPE
+
+
+
See Also:
Constant Field Values
+
+
+ +

+EVENT_DATETIME

+
+public static final String EVENT_DATETIME
+
+
+
See Also:
Constant Field Values
+
+
+ +

+EVENT_ID

+
+public static final String EVENT_ID
+
+
+
See Also:
Constant Field Values
+
+ + + + + + + + +
+Constructor Detail
+ +

+EventData

+
+public EventData()
+
+
Default Constructor +

+

+
+ +

+EventData

+
+public EventData(Map<String,Object> map)
+
+
Constructor to create event data from a Map. +

+

+
Parameters:
map - The event data.
+
+
+ +

+EventData

+
+public EventData(String xml)
+
+
Construct from a serialized form of the Map containing the RequestInfo + elements +

+

+
Parameters:
xml - The serialized form of the RequestInfo Map.
+
+ + + + + + + + +
+Method Detail
+ +

+toXML

+
+public String toXML()
+
+
Serialize all the EventData items into an XML representation. +

+

+
+
+
+ +
Returns:
an XML String containing all the EventDAta items.
+
+
+
+ +

+toXML

+
+public static String toXML(Map<String,Object> map)
+
+
Serialize all the EventData items into an XML representation. +

+

+
+
+
+
Parameters:
map - the Map to transform +
Returns:
an XML String containing all the EventDAta items.
+
+
+
+ +

+getEventId

+
+public String getEventId()
+
+
Retrieve the event identifier. +

+

+
+
+
+ +
Returns:
The event identifier
+
+
+
+ +

+setEventId

+
+public void setEventId(String eventId)
+
+
Set the event identifier. +

+

+
+
+
+
Parameters:
eventId - The event identifier.
+
+
+
+ +

+getMessage

+
+public String getMessage()
+
+
Retrieve the message text associated with this event, if any. +

+

+
+
+
+ +
Returns:
The message text associated with this event or null if there is + none.
+
+
+
+ +

+setMessage

+
+public void setMessage(String message)
+
+
Set the message text associated with this event. +

+

+
+
+
+
Parameters:
message - The message text.
+
+
+
+ +

+getEventDateTime

+
+public Date getEventDateTime()
+
+
Retrieve the date and time the event occurred. +

+

+
+
+
+ +
Returns:
The Date associated with the event.
+
+
+
+ +

+setEventDateTime

+
+public void setEventDateTime(Date eventDateTime)
+
+
Set the date and time the event occurred in case it is not the same as when + the event was logged. +

+

+
+
+
+
Parameters:
eventDateTime - The event Date.
+
+
+
+ +

+setEventType

+
+public void setEventType(String eventType)
+
+
Set the type of event that occurred. +

+

+
+
+
+
Parameters:
eventType - The type of the event.
+
+
+
+ +

+getEventType

+
+public String getEventType()
+
+
Retrieve the type of the event. +

+

+
+
+
+ +
Returns:
The event type.
+
+
+
+ +

+put

+
+public void put(String name,
+                Serializable obj)
+
+
Add arbitrary attributes about the event. +

+

+
+
+
+
Parameters:
name - The attribute's key.
obj - The data associated with the key.
+
+
+
+ +

+get

+
+public Serializable get(String name)
+
+
Retrieve an event attribute. +

+

+
+
+
+
Parameters:
name - The attribute's key. +
Returns:
The value associated with the key or null if the key is not + present.
+
+
+
+ +

+putAll

+
+public void putAll(Map<String,Object> data)
+
+
Populate the event data from a Map. +

+

+
+
+
+
Parameters:
data - The Map to copy.
+
+
+
+ +

+getSize

+
+public int getSize()
+
+
Returns the number of attributes in the EventData. +

+

+
+
+
+ +
Returns:
the number of attributes in the EventData.
+
+
+
+ +

+getEntrySetIterator

+
+public Iterator<Map.Entry<String,Object>> getEntrySetIterator()
+
+
Returns an Iterator over all the entries in the EventDAta. +

+

+
+
+
+ +
Returns:
an Iterator that can be used to access all the event attributes.
+
+
+
+ +

+getEventMap

+
+public Map<String,Object> getEventMap()
+
+
Retrieve all the attributes in the EventData as a Map. Changes to this map + will be reflected in the EventData. +

+

+
+
+
+ +
Returns:
The Map of attributes in this EventData instance.
+
+
+
+ +

+toString

+
+public String toString()
+
+
Convert the EventData to a String. +

+

+
Overrides:
toString in class Object
+
+
+ +
Returns:
The EventData as a String.
+
+
+
+ +

+equals

+
+public boolean equals(Object o)
+
+
Compare two EventData objects for equality. +

+

+
Overrides:
equals in class Object
+
+
+
Parameters:
o - The Object to compare. +
Returns:
true if the objects are the same instance or contain all the same + keys and their values.
+
+
+
+ +

+hashCode

+
+public int hashCode()
+
+
Compute the hashCode for this EventData instance. +

+

+
Overrides:
hashCode in class Object
+
+
+ +
Returns:
The hashcode for this EventData instance.
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/EventException.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/EventException.html new file mode 100644 index 0000000..92f6440 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/EventException.html @@ -0,0 +1,306 @@ + + + + + + + +EventException (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.ext +
+Class EventException

+
+java.lang.Object
+  extended by java.lang.Throwable
+      extended by java.lang.Exception
+          extended by java.lang.RuntimeException
+              extended by org.slf4j.ext.EventException
+
+
+
All Implemented Interfaces:
Serializable
+
+
+
+
public class EventException
extends RuntimeException
+ + +

+Exception used to identify issues related to an event that is being logged. +

+ +

+

+
See Also:
Serialized Form
+
+ +

+ + + + + + + + + + + + + + + + + + + + +
+Constructor Summary
EventException() + +
+          Default constructor.
EventException(String exceptionMessage) + +
+          Constructor that allows an exception message.
EventException(String exceptionMessage, + Throwable originalException) + +
+          Constructor that chains another Exception or Error and also allows a message + to be specified.
EventException(Throwable originalException) + +
+          Constructor that chains another Exception or Error.
+  + + + + + + + +
+Method Summary
+ + + + + + + +
Methods inherited from class java.lang.Throwable
fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+EventException

+
+public EventException()
+
+
Default constructor. +

+

+
+ +

+EventException

+
+public EventException(String exceptionMessage)
+
+
Constructor that allows an exception message. +

+

+
Parameters:
exceptionMessage - The exception message.
+
+
+ +

+EventException

+
+public EventException(Throwable originalException)
+
+
Constructor that chains another Exception or Error. +

+

+
Parameters:
originalException - The original exception.
+
+
+ +

+EventException

+
+public EventException(String exceptionMessage,
+                      Throwable originalException)
+
+
Constructor that chains another Exception or Error and also allows a message + to be specified. +

+

+
Parameters:
exceptionMessage - The exception message.
originalException - The original excepton.
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/EventLogger.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/EventLogger.html new file mode 100644 index 0000000..e86b99e --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/EventLogger.html @@ -0,0 +1,231 @@ + + + + + + + +EventLogger (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.ext +
+Class EventLogger

+
+java.lang.Object
+  extended by org.slf4j.ext.EventLogger
+
+
+
+
public class EventLogger
extends Object
+ + +

+Simple Logger used to log events. All events are directed to a logger named "EventLogger" + with a level of INFO and with an Event marker. +

+ +

+

+
Author:
+
Ralph Goers
+
+
+ +

+ + + + + + + + + + + + +
+Method Summary
+static voidlogEvent(EventData data) + +
+          Logs the event.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Method Detail
+ +

+logEvent

+
+public static void logEvent(EventData data)
+
+
Logs the event. +

+

+
Parameters:
data - The EventData.
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/LoggerWrapper.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/LoggerWrapper.html new file mode 100644 index 0000000..64e5fcc --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/LoggerWrapper.html @@ -0,0 +1,1949 @@ + + + + + + + +LoggerWrapper (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.ext +
+Class LoggerWrapper

+
+java.lang.Object
+  extended by org.slf4j.ext.LoggerWrapper
+
+
+
All Implemented Interfaces:
Logger
+
+
+
Direct Known Subclasses:
LocLogger, XLogger
+
+
+
+
public class LoggerWrapper
extends Object
implements Logger
+ + +

+A helper class wrapping an Logger instance preserving + location information if the wrapped instance supports it. +

+ +

+

+
Author:
+
Ralph Goers, Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + + + + + +
+Field Summary
+protected  booleaninstanceofLAL + +
+           
+protected  Loggerlogger + +
+           
+ + + + + + + +
Fields inherited from interface org.slf4j.Logger
ROOT_LOGGER_NAME
+  + + + + + + + + + + +
+Constructor Summary
LoggerWrapper(Logger logger, + String fqcn) + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voiddebug(Marker marker, + String msg) + +
+          Delegate to the appropriate method of the underlying logger.
+ voiddebug(Marker marker, + String format, + Object... argArray) + +
+          Delegate to the appropriate method of the underlying logger.
+ voiddebug(Marker marker, + String format, + Object arg) + +
+          Delegate to the appropriate method of the underlying logger.
+ voiddebug(Marker marker, + String format, + Object arg1, + Object arg2) + +
+          Delegate to the appropriate method of the underlying logger.
+ voiddebug(Marker marker, + String msg, + Throwable t) + +
+          Delegate to the appropriate method of the underlying logger.
+ voiddebug(String msg) + +
+          Delegate to the appropriate method of the underlying logger.
+ voiddebug(String format, + Object... argArray) + +
+          Delegate to the appropriate method of the underlying logger.
+ voiddebug(String format, + Object arg) + +
+          Delegate to the appropriate method of the underlying logger.
+ voiddebug(String format, + Object arg1, + Object arg2) + +
+          Delegate to the appropriate method of the underlying logger.
+ voiddebug(String msg, + Throwable t) + +
+          Delegate to the appropriate method of the underlying logger.
+ voiderror(Marker marker, + String msg) + +
+          Delegate to the appropriate method of the underlying logger.
+ voiderror(Marker marker, + String format, + Object... args) + +
+          Delegate to the appropriate method of the underlying logger.
+ voiderror(Marker marker, + String format, + Object arg) + +
+          Delegate to the appropriate method of the underlying logger.
+ voiderror(Marker marker, + String format, + Object arg1, + Object arg2) + +
+          Delegate to the appropriate method of the underlying logger.
+ voiderror(Marker marker, + String msg, + Throwable t) + +
+          Delegate to the appropriate method of the underlying logger.
+ voiderror(String msg) + +
+          Delegate to the appropriate method of the underlying logger.
+ voiderror(String format, + Object... args) + +
+          Delegate to the appropriate method of the underlying logger.
+ voiderror(String format, + Object arg) + +
+          Delegate to the appropriate method of the underlying logger.
+ voiderror(String format, + Object arg1, + Object arg2) + +
+          Delegate to the appropriate method of the underlying logger.
+ voiderror(String msg, + Throwable t) + +
+          Delegate to the appropriate method of the underlying logger.
+ StringgetName() + +
+          Delegate to the appropriate method of the underlying logger.
+ voidinfo(Marker marker, + String msg) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidinfo(Marker marker, + String format, + Object... args) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidinfo(Marker marker, + String format, + Object arg) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidinfo(Marker marker, + String format, + Object arg1, + Object arg2) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidinfo(Marker marker, + String msg, + Throwable t) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidinfo(String msg) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidinfo(String format, + Object... args) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidinfo(String format, + Object arg) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidinfo(String format, + Object arg1, + Object arg2) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidinfo(String msg, + Throwable t) + +
+          Delegate to the appropriate method of the underlying logger.
+ booleanisDebugEnabled() + +
+          Delegate to the appropriate method of the underlying logger.
+ booleanisDebugEnabled(Marker marker) + +
+          Delegate to the appropriate method of the underlying logger.
+ booleanisErrorEnabled() + +
+          Delegate to the appropriate method of the underlying logger.
+ booleanisErrorEnabled(Marker marker) + +
+          Delegate to the appropriate method of the underlying logger.
+ booleanisInfoEnabled() + +
+          Delegate to the appropriate method of the underlying logger.
+ booleanisInfoEnabled(Marker marker) + +
+          Delegate to the appropriate method of the underlying logger.
+ booleanisTraceEnabled() + +
+          Delegate to the appropriate method of the underlying logger.
+ booleanisTraceEnabled(Marker marker) + +
+          Delegate to the appropriate method of the underlying logger.
+ booleanisWarnEnabled() + +
+          Is the logger instance enabled for the WARN level?
+ booleanisWarnEnabled(Marker marker) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidtrace(Marker marker, + String msg) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidtrace(Marker marker, + String format, + Object... args) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidtrace(Marker marker, + String format, + Object arg) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidtrace(Marker marker, + String format, + Object arg1, + Object arg2) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidtrace(Marker marker, + String msg, + Throwable t) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidtrace(String msg) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidtrace(String format, + Object... args) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidtrace(String format, + Object arg) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidtrace(String format, + Object arg1, + Object arg2) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidtrace(String msg, + Throwable t) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidwarn(Marker marker, + String msg) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidwarn(Marker marker, + String format, + Object... args) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidwarn(Marker marker, + String format, + Object arg) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidwarn(Marker marker, + String format, + Object arg1, + Object arg2) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidwarn(Marker marker, + String msg, + Throwable t) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidwarn(String msg) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidwarn(String format, + Object... args) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidwarn(String format, + Object arg) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidwarn(String format, + Object arg1, + Object arg2) + +
+          Delegate to the appropriate method of the underlying logger.
+ voidwarn(String msg, + Throwable t) + +
+          Delegate to the appropriate method of the underlying logger.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Field Detail
+ +

+logger

+
+protected final Logger logger
+
+
+
+
+
+ +

+instanceofLAL

+
+protected final boolean instanceofLAL
+
+
+
+
+ + + + + + + + +
+Constructor Detail
+ +

+LoggerWrapper

+
+public LoggerWrapper(Logger logger,
+                     String fqcn)
+
+
+ + + + + + + + +
+Method Detail
+ +

+isTraceEnabled

+
+public boolean isTraceEnabled()
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
isTraceEnabled in interface Logger
+
+
+ +
Returns:
True if this Logger is enabled for the TRACE level, + false otherwise.
+
+
+
+ +

+isTraceEnabled

+
+public boolean isTraceEnabled(Marker marker)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
isTraceEnabled in interface Logger
+
+
+
Parameters:
marker - The marker data to take into consideration +
Returns:
True if this Logger is enabled for the TRACE level, + false otherwise.
+
+
+
+ +

+trace

+
+public void trace(String msg)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
trace in interface Logger
+
+
+
Parameters:
msg - the message string to be logged
+
+
+
+ +

+trace

+
+public void trace(String format,
+                  Object arg)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
trace in interface Logger
+
+
+
Parameters:
format - the format string
arg - the argument
+
+
+
+ +

+trace

+
+public void trace(String format,
+                  Object arg1,
+                  Object arg2)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
trace in interface Logger
+
+
+
Parameters:
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+trace

+
+public void trace(String format,
+                  Object... args)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
trace in interface Logger
+
+
+
Parameters:
format - the format string
args - a list of 3 or more arguments
+
+
+
+ +

+trace

+
+public void trace(String msg,
+                  Throwable t)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
trace in interface Logger
+
+
+
Parameters:
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+trace

+
+public void trace(Marker marker,
+                  String msg)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
trace in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
msg - the message string to be logged
+
+
+
+ +

+trace

+
+public void trace(Marker marker,
+                  String format,
+                  Object arg)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
trace in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arg - the argument
+
+
+
+ +

+trace

+
+public void trace(Marker marker,
+                  String format,
+                  Object arg1,
+                  Object arg2)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
trace in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+trace

+
+public void trace(Marker marker,
+                  String format,
+                  Object... args)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
trace in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
format - the format string
args - an array of arguments
+
+
+
+ +

+trace

+
+public void trace(Marker marker,
+                  String msg,
+                  Throwable t)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
trace in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+isDebugEnabled

+
+public boolean isDebugEnabled()
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
isDebugEnabled in interface Logger
+
+
+ +
Returns:
True if this Logger is enabled for the DEBUG level, + false otherwise.
+
+
+
+ +

+isDebugEnabled

+
+public boolean isDebugEnabled(Marker marker)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
isDebugEnabled in interface Logger
+
+
+
Parameters:
marker - The marker data to take into consideration +
Returns:
True if this Logger is enabled for the DEBUG level, + false otherwise.
+
+
+
+ +

+debug

+
+public void debug(String msg)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
debug in interface Logger
+
+
+
Parameters:
msg - the message string to be logged
+
+
+
+ +

+debug

+
+public void debug(String format,
+                  Object arg)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
debug in interface Logger
+
+
+
Parameters:
format - the format string
arg - the argument
+
+
+
+ +

+debug

+
+public void debug(String format,
+                  Object arg1,
+                  Object arg2)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
debug in interface Logger
+
+
+
Parameters:
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+debug

+
+public void debug(String format,
+                  Object... argArray)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
debug in interface Logger
+
+
+
Parameters:
format - the format string
argArray - a list of 3 or more arguments
+
+
+
+ +

+debug

+
+public void debug(String msg,
+                  Throwable t)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
debug in interface Logger
+
+
+
Parameters:
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+debug

+
+public void debug(Marker marker,
+                  String msg)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
debug in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
msg - the message string to be logged
+
+
+
+ +

+debug

+
+public void debug(Marker marker,
+                  String format,
+                  Object arg)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
debug in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arg - the argument
+
+
+
+ +

+debug

+
+public void debug(Marker marker,
+                  String format,
+                  Object arg1,
+                  Object arg2)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
debug in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+debug

+
+public void debug(Marker marker,
+                  String format,
+                  Object... argArray)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
debug in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
format - the format string
argArray - a list of 3 or more arguments
+
+
+
+ +

+debug

+
+public void debug(Marker marker,
+                  String msg,
+                  Throwable t)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
debug in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+isInfoEnabled

+
+public boolean isInfoEnabled()
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
isInfoEnabled in interface Logger
+
+
+ +
Returns:
True if this Logger is enabled for the INFO level, + false otherwise.
+
+
+
+ +

+isInfoEnabled

+
+public boolean isInfoEnabled(Marker marker)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
isInfoEnabled in interface Logger
+
+
+
Parameters:
marker - The marker data to take into consideration +
Returns:
true if this logger is warn enabled, false otherwise
+
+
+
+ +

+info

+
+public void info(String msg)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
info in interface Logger
+
+
+
Parameters:
msg - the message string to be logged
+
+
+
+ +

+info

+
+public void info(String format,
+                 Object arg)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
info in interface Logger
+
+
+
Parameters:
format - the format string
arg - the argument
+
+
+
+ +

+info

+
+public void info(String format,
+                 Object arg1,
+                 Object arg2)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
info in interface Logger
+
+
+
Parameters:
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+info

+
+public void info(String format,
+                 Object... args)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
info in interface Logger
+
+
+
Parameters:
format - the format string
args - a list of 3 or more arguments
+
+
+
+ +

+info

+
+public void info(String msg,
+                 Throwable t)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
info in interface Logger
+
+
+
Parameters:
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+info

+
+public void info(Marker marker,
+                 String msg)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
info in interface Logger
+
+
+
Parameters:
marker - The marker specific to this log statement
msg - the message string to be logged
+
+
+
+ +

+info

+
+public void info(Marker marker,
+                 String format,
+                 Object arg)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
info in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arg - the argument
+
+
+
+ +

+info

+
+public void info(Marker marker,
+                 String format,
+                 Object arg1,
+                 Object arg2)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
info in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+info

+
+public void info(Marker marker,
+                 String format,
+                 Object... args)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
info in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
format - the format string
args - a list of 3 or more arguments
+
+
+
+ +

+info

+
+public void info(Marker marker,
+                 String msg,
+                 Throwable t)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
info in interface Logger
+
+
+
Parameters:
marker - the marker data for this log statement
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+isWarnEnabled

+
+public boolean isWarnEnabled()
+
+
Description copied from interface: Logger
+
Is the logger instance enabled for the WARN level? +

+

+
Specified by:
isWarnEnabled in interface Logger
+
+
+ +
Returns:
True if this Logger is enabled for the WARN level, + false otherwise.
+
+
+
+ +

+isWarnEnabled

+
+public boolean isWarnEnabled(Marker marker)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
isWarnEnabled in interface Logger
+
+
+
Parameters:
marker - The marker data to take into consideration +
Returns:
True if this Logger is enabled for the WARN level, + false otherwise.
+
+
+
+ +

+warn

+
+public void warn(String msg)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
warn in interface Logger
+
+
+
Parameters:
msg - the message string to be logged
+
+
+
+ +

+warn

+
+public void warn(String format,
+                 Object arg)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
warn in interface Logger
+
+
+
Parameters:
format - the format string
arg - the argument
+
+
+
+ +

+warn

+
+public void warn(String format,
+                 Object arg1,
+                 Object arg2)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
warn in interface Logger
+
+
+
Parameters:
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+warn

+
+public void warn(String format,
+                 Object... args)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
warn in interface Logger
+
+
+
Parameters:
format - the format string
args - a list of 3 or more arguments
+
+
+
+ +

+warn

+
+public void warn(String msg,
+                 Throwable t)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
warn in interface Logger
+
+
+
Parameters:
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+warn

+
+public void warn(Marker marker,
+                 String msg)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
warn in interface Logger
+
+
+
Parameters:
marker - The marker specific to this log statement
msg - the message string to be logged
+
+
+
+ +

+warn

+
+public void warn(Marker marker,
+                 String format,
+                 Object arg)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
warn in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arg - the argument
+
+
+
+ +

+warn

+
+public void warn(Marker marker,
+                 String format,
+                 Object arg1,
+                 Object arg2)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
warn in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+warn

+
+public void warn(Marker marker,
+                 String format,
+                 Object... args)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
warn in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
format - the format string
args - a list of 3 or more arguments
+
+
+
+ +

+warn

+
+public void warn(Marker marker,
+                 String msg,
+                 Throwable t)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
warn in interface Logger
+
+
+
Parameters:
marker - the marker data for this log statement
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+isErrorEnabled

+
+public boolean isErrorEnabled()
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
isErrorEnabled in interface Logger
+
+
+ +
Returns:
True if this Logger is enabled for the ERROR level, + false otherwise.
+
+
+
+ +

+isErrorEnabled

+
+public boolean isErrorEnabled(Marker marker)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
isErrorEnabled in interface Logger
+
+
+
Parameters:
marker - The marker data to take into consideration +
Returns:
True if this Logger is enabled for the ERROR level, + false otherwise.
+
+
+
+ +

+error

+
+public void error(String msg)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
error in interface Logger
+
+
+
Parameters:
msg - the message string to be logged
+
+
+
+ +

+error

+
+public void error(String format,
+                  Object arg)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
error in interface Logger
+
+
+
Parameters:
format - the format string
arg - the argument
+
+
+
+ +

+error

+
+public void error(String format,
+                  Object arg1,
+                  Object arg2)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
error in interface Logger
+
+
+
Parameters:
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+error

+
+public void error(String format,
+                  Object... args)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
error in interface Logger
+
+
+
Parameters:
format - the format string
args - a list of 3 or more arguments
+
+
+
+ +

+error

+
+public void error(String msg,
+                  Throwable t)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
error in interface Logger
+
+
+
Parameters:
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+error

+
+public void error(Marker marker,
+                  String msg)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
error in interface Logger
+
+
+
Parameters:
marker - The marker specific to this log statement
msg - the message string to be logged
+
+
+
+ +

+error

+
+public void error(Marker marker,
+                  String format,
+                  Object arg)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
error in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arg - the argument
+
+
+
+ +

+error

+
+public void error(Marker marker,
+                  String format,
+                  Object arg1,
+                  Object arg2)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
error in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+error

+
+public void error(Marker marker,
+                  String format,
+                  Object... args)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
error in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
format - the format string
args - a list of 3 or more arguments
+
+
+
+ +

+error

+
+public void error(Marker marker,
+                  String msg,
+                  Throwable t)
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
error in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+getName

+
+public String getName()
+
+
Delegate to the appropriate method of the underlying logger. +

+

+
Specified by:
getName in interface Logger
+
+
+ +
Returns:
name of this logger instance
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/MDCStrLookup.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/MDCStrLookup.html new file mode 100644 index 0000000..01892a3 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/MDCStrLookup.html @@ -0,0 +1,278 @@ + + + + + + + +MDCStrLookup (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.ext +
+Class MDCStrLookup

+
+java.lang.Object
+  extended by org.apache.commons.lang.text.StrLookup
+      extended by org.slf4j.ext.MDCStrLookup
+
+
+
+
public class MDCStrLookup
extends org.apache.commons.lang.text.StrLookup
+ + +

+This class can be used with the Commons Lang StrSubstitutor to replace + tokens that occur in Strings with their values in the MDC. +

+ +

+

+
Author:
+
Ralph Goers
+
+
+ +

+ + + + + + + + + + + +
+Constructor Summary
MDCStrLookup() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+ Stringlookup(String key) + +
+          Looks up up a value in the MDC.
+ + + + + + + +
Methods inherited from class org.apache.commons.lang.text.StrLookup
mapLookup, noneLookup, systemPropertiesLookup
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+MDCStrLookup

+
+public MDCStrLookup()
+
+
+ + + + + + + + +
+Method Detail
+ +

+lookup

+
+public String lookup(String key)
+
+
Looks up up a value in the MDC. +

+

+
Specified by:
lookup in class org.apache.commons.lang.text.StrLookup
+
+
+
Parameters:
key - the key to be looked up, may be null +
Returns:
the matching value, null if no match
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/XLogger.Level.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/XLogger.Level.html new file mode 100644 index 0000000..2cca8fb --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/XLogger.Level.html @@ -0,0 +1,415 @@ + + + + + + + +XLogger.Level (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.ext +
+Enum XLogger.Level

+
+java.lang.Object
+  extended by java.lang.Enum<XLogger.Level>
+      extended by org.slf4j.ext.XLogger.Level
+
+
+
All Implemented Interfaces:
Serializable, Comparable<XLogger.Level>
+
+
+
Enclosing class:
XLogger
+
+
+
+
public static enum XLogger.Level
extends Enum<XLogger.Level>
+ + +

+


+ +

+ + + + + + + + + + + + + + + + + + + + + + +
+Enum Constant Summary
DEBUG + +
+           
ERROR + +
+           
INFO + +
+           
TRACE + +
+           
WARN + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ intintValue() + +
+           
+ StringtoString() + +
+           
+static XLogger.LevelvalueOf(String name) + +
+          Returns the enum constant of this type with the specified name.
+static XLogger.Level[]values() + +
+          Returns an array containing the constants of this enum type, in +the order they are declared.
+ + + + + + + +
Methods inherited from class java.lang.Enum
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, valueOf
+ + + + + + + +
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Enum Constant Detail
+ +

+TRACE

+
+public static final XLogger.Level TRACE
+
+
+
+
+
+ +

+DEBUG

+
+public static final XLogger.Level DEBUG
+
+
+
+
+
+ +

+INFO

+
+public static final XLogger.Level INFO
+
+
+
+
+
+ +

+WARN

+
+public static final XLogger.Level WARN
+
+
+
+
+
+ +

+ERROR

+
+public static final XLogger.Level ERROR
+
+
+
+
+ + + + + + + + +
+Method Detail
+ +

+values

+
+public static XLogger.Level[] values()
+
+
Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
+for (XLogger.Level c : XLogger.Level.values())
+    System.out.println(c);
+
+

+

+ +
Returns:
an array containing the constants of this enum type, in +the order they are declared
+
+
+
+ +

+valueOf

+
+public static XLogger.Level valueOf(String name)
+
+
Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.) +

+

+
Parameters:
name - the name of the enum constant to be returned. +
Returns:
the enum constant with the specified name +
Throws: +
IllegalArgumentException - if this enum type has no constant +with the specified name +
NullPointerException - if the argument is null
+
+
+
+ +

+toString

+
+public String toString()
+
+
+
Overrides:
toString in class Enum<XLogger.Level>
+
+
+
+
+
+
+ +

+intValue

+
+public int intValue()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/XLogger.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/XLogger.html new file mode 100644 index 0000000..5a2fd71 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/XLogger.html @@ -0,0 +1,485 @@ + + + + + + + +XLogger (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.ext +
+Class XLogger

+
+java.lang.Object
+  extended by org.slf4j.ext.LoggerWrapper
+      extended by org.slf4j.ext.XLogger
+
+
+
All Implemented Interfaces:
Logger
+
+
+
+
public class XLogger
extends LoggerWrapper
implements Logger
+ + +

+A utility that provides standard mechanisms for logging certain kinds of + activities. +

+ +

+

+
Author:
+
Ralph Goers, Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + +
+Nested Class Summary
+static classXLogger.Level + +
+           
+ + + + + + +
+Field Summary
+ + + + + + + +
Fields inherited from class org.slf4j.ext.LoggerWrapper
instanceofLAL, logger
+ + + + + + + +
Fields inherited from interface org.slf4j.Logger
ROOT_LOGGER_NAME
+  + + + + + + + + + + +
+Constructor Summary
XLogger(Logger logger) + +
+          Given an underlying logger, construct an XLogger
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidcatching(Throwable throwable) + +
+          Log an exception being caught.
+ voidcatching(XLogger.Level level, + Throwable throwable) + +
+          Log an exception being caught allowing the log level to be specified.
+ voidentry(Object... argArray) + +
+          Log method entry.
+ voidexit() + +
+          Log method exit
+ voidexit(Object result) + +
+          Log method exit
+ voidthrowing(Throwable throwable) + +
+          Log an exception being thrown.
+ voidthrowing(XLogger.Level level, + Throwable throwable) + +
+          Log an exception being thrown allowing the log level to be specified.
+ + + + + + + +
Methods inherited from class org.slf4j.ext.LoggerWrapper
debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, error, error, error, error, error, error, error, error, error, error, getName, info, info, info, info, info, info, info, info, info, info, isDebugEnabled, isDebugEnabled, isErrorEnabled, isErrorEnabled, isInfoEnabled, isInfoEnabled, isTraceEnabled, isTraceEnabled, isWarnEnabled, isWarnEnabled, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+ + + + + + + +
Methods inherited from interface org.slf4j.Logger
debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, error, error, error, error, error, error, error, error, error, error, getName, info, info, info, info, info, info, info, info, info, info, isDebugEnabled, isDebugEnabled, isErrorEnabled, isErrorEnabled, isInfoEnabled, isInfoEnabled, isTraceEnabled, isTraceEnabled, isWarnEnabled, isWarnEnabled, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+XLogger

+
+public XLogger(Logger logger)
+
+
Given an underlying logger, construct an XLogger +

+

+
Parameters:
logger - underlying logger
+
+ + + + + + + + +
+Method Detail
+ +

+entry

+
+public void entry(Object... argArray)
+
+
Log method entry. +

+

+
+
+
+
Parameters:
argArray - supplied parameters
+
+
+
+ +

+exit

+
+public void exit()
+
+
Log method exit +

+

+
+
+
+
+
+
+
+ +

+exit

+
+public void exit(Object result)
+
+
Log method exit +

+

+
+
+
+
Parameters:
result - The result of the method being exited
+
+
+
+ +

+throwing

+
+public void throwing(Throwable throwable)
+
+
Log an exception being thrown. The generated log event uses Level ERROR. +

+

+
+
+
+
Parameters:
throwable - the exception being caught.
+
+
+
+ +

+throwing

+
+public void throwing(XLogger.Level level,
+                     Throwable throwable)
+
+
Log an exception being thrown allowing the log level to be specified. +

+

+
+
+
+
Parameters:
level - the logging level to use.
throwable - the exception being caught.
+
+
+
+ +

+catching

+
+public void catching(Throwable throwable)
+
+
Log an exception being caught. The generated log event uses Level ERROR. +

+

+
+
+
+
Parameters:
throwable - the exception being caught.
+
+
+
+ +

+catching

+
+public void catching(XLogger.Level level,
+                     Throwable throwable)
+
+
Log an exception being caught allowing the log level to be specified. +

+

+
+
+
+
Parameters:
level - the logging level to use.
throwable - the exception being caught.
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/XLoggerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/XLoggerFactory.html new file mode 100644 index 0000000..a4a0d8b --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/XLoggerFactory.html @@ -0,0 +1,294 @@ + + + + + + + +XLoggerFactory (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.ext +
+Class XLoggerFactory

+
+java.lang.Object
+  extended by org.slf4j.ext.XLoggerFactory
+
+
+
+
public class XLoggerFactory
extends Object
+ + +

+This class is essentially a wrapper around an + LoggerFactory producing XLogger instances. + +

Contrary to LoggerFactory.getLogger(String) method of + LoggerFactory, each call to getXLogger(String) + produces a new instance of XLogger. This should not matter + because an XLogger instance does not have any state beyond that of + the Logger instance it wraps. +

+ +

+

+
Author:
+
Ralph Goers, Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + +
+Constructor Summary
XLoggerFactory() + +
+           
+  + + + + + + + + + + + + + + + +
+Method Summary
+static XLoggergetXLogger(Class clazz) + +
+          Get a new XLogger instance by class.
+static XLoggergetXLogger(String name) + +
+          Get an XLogger instance by name.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+XLoggerFactory

+
+public XLoggerFactory()
+
+
+ + + + + + + + +
+Method Detail
+ +

+getXLogger

+
+public static XLogger getXLogger(String name)
+
+
Get an XLogger instance by name. +

+

+
Parameters:
name - +
Returns:
XLogger instance
+
+
+
+ +

+getXLogger

+
+public static XLogger getXLogger(Class clazz)
+
+
Get a new XLogger instance by class. The returned XLogger + will be named after the class. +

+

+
Parameters:
clazz - +
Returns:
XLogger instance by name
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/class-use/EventData.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/class-use/EventData.html new file mode 100644 index 0000000..55ae72e --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/class-use/EventData.html @@ -0,0 +1,181 @@ + + + + + + + +Uses of Class org.slf4j.ext.EventData (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.ext.EventData

+
+ + + + + + + + + +
+Packages that use EventData
org.slf4j.extLocalized logging using the CAL10N API. 
+  +

+ + + + + +
+Uses of EventData in org.slf4j.ext
+  +

+ + + + + + + + + +
Methods in org.slf4j.ext with parameters of type EventData
+static voidEventLogger.logEvent(EventData data) + +
+          Logs the event.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/class-use/EventException.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/class-use/EventException.html new file mode 100644 index 0000000..89fb86a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/class-use/EventException.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.ext.EventException (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.ext.EventException

+
+No usage of org.slf4j.ext.EventException +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/class-use/EventLogger.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/class-use/EventLogger.html new file mode 100644 index 0000000..28f10b1 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/class-use/EventLogger.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.ext.EventLogger (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.ext.EventLogger

+
+No usage of org.slf4j.ext.EventLogger +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/class-use/LoggerWrapper.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/class-use/LoggerWrapper.html new file mode 100644 index 0000000..cfc5bf4 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/class-use/LoggerWrapper.html @@ -0,0 +1,211 @@ + + + + + + + +Uses of Class org.slf4j.ext.LoggerWrapper (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.ext.LoggerWrapper

+
+ + + + + + + + + + + + + +
+Packages that use LoggerWrapper
org.slf4j.cal10nSLF4J API extensions 
org.slf4j.extLocalized logging using the CAL10N API. 
+  +

+ + + + + +
+Uses of LoggerWrapper in org.slf4j.cal10n
+  +

+ + + + + + + + + +
Subclasses of LoggerWrapper in org.slf4j.cal10n
+ classLocLogger + +
+          A logger specialized in localized logging.
+  +

+ + + + + +
+Uses of LoggerWrapper in org.slf4j.ext
+  +

+ + + + + + + + + +
Subclasses of LoggerWrapper in org.slf4j.ext
+ classXLogger + +
+          A utility that provides standard mechanisms for logging certain kinds of + activities.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/class-use/MDCStrLookup.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/class-use/MDCStrLookup.html new file mode 100644 index 0000000..692d727 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/class-use/MDCStrLookup.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.ext.MDCStrLookup (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.ext.MDCStrLookup

+
+No usage of org.slf4j.ext.MDCStrLookup +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/class-use/XLogger.Level.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/class-use/XLogger.Level.html new file mode 100644 index 0000000..70465ae --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/class-use/XLogger.Level.html @@ -0,0 +1,216 @@ + + + + + + + +Uses of Class org.slf4j.ext.XLogger.Level (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.ext.XLogger.Level

+
+ + + + + + + + + +
+Packages that use XLogger.Level
org.slf4j.extLocalized logging using the CAL10N API. 
+  +

+ + + + + +
+Uses of XLogger.Level in org.slf4j.ext
+  +

+ + + + + + + + + + + + + +
Methods in org.slf4j.ext that return XLogger.Level
+static XLogger.LevelXLogger.Level.valueOf(String name) + +
+          Returns the enum constant of this type with the specified name.
+static XLogger.Level[]XLogger.Level.values() + +
+          Returns an array containing the constants of this enum type, in +the order they are declared.
+  +

+ + + + + + + + + + + + + +
Methods in org.slf4j.ext with parameters of type XLogger.Level
+ voidXLogger.catching(XLogger.Level level, + Throwable throwable) + +
+          Log an exception being caught allowing the log level to be specified.
+ voidXLogger.throwing(XLogger.Level level, + Throwable throwable) + +
+          Log an exception being thrown allowing the log level to be specified.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/class-use/XLogger.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/class-use/XLogger.html new file mode 100644 index 0000000..4f7ad73 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/class-use/XLogger.html @@ -0,0 +1,189 @@ + + + + + + + +Uses of Class org.slf4j.ext.XLogger (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.ext.XLogger

+
+ + + + + + + + + +
+Packages that use XLogger
org.slf4j.extLocalized logging using the CAL10N API. 
+  +

+ + + + + +
+Uses of XLogger in org.slf4j.ext
+  +

+ + + + + + + + + + + + + +
Methods in org.slf4j.ext that return XLogger
+static XLoggerXLoggerFactory.getXLogger(Class clazz) + +
+          Get a new XLogger instance by class.
+static XLoggerXLoggerFactory.getXLogger(String name) + +
+          Get an XLogger instance by name.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/class-use/XLoggerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/class-use/XLoggerFactory.html new file mode 100644 index 0000000..fc525eb --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/class-use/XLoggerFactory.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.ext.XLoggerFactory (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.ext.XLoggerFactory

+
+No usage of org.slf4j.ext.XLoggerFactory +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/package-frame.html new file mode 100644 index 0000000..0421ff6 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/package-frame.html @@ -0,0 +1,65 @@ + + + + + + + +org.slf4j.ext (SLF4J 1.7.5 API) + + + + + + + + + + + +org.slf4j.ext + + + + +
+Classes  + +
+EventData +
+EventLogger +
+LoggerWrapper +
+MDCStrLookup +
+XLogger +
+XLoggerFactory
+ + + + + + +
+Enums  + +
+XLogger.Level
+ + + + + + +
+Exceptions  + +
+EventException
+ + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/package-summary.html new file mode 100644 index 0000000..fe31e8c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/package-summary.html @@ -0,0 +1,225 @@ + + + + + + + +org.slf4j.ext (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+

+Package org.slf4j.ext +

+Localized logging using the CAL10N API. +

+See: +
+          Description +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class Summary
EventDataBase class for Event Data.
EventLoggerSimple Logger used to log events.
LoggerWrapperA helper class wrapping an Logger instance preserving + location information if the wrapped instance supports it.
MDCStrLookupThis class can be used with the Commons Lang StrSubstitutor to replace + tokens that occur in Strings with their values in the MDC.
XLoggerA utility that provides standard mechanisms for logging certain kinds of + activities.
XLoggerFactoryThis class is essentially a wrapper around an + LoggerFactory producing XLogger instances.
+  + +

+ + + + + + + + + +
+Enum Summary
XLogger.Level 
+  + +

+ + + + + + + + + +
+Exception Summary
EventExceptionException used to identify issues related to an event that is being logged.
+  + +

+

+Package org.slf4j.ext Description +

+ +

+

Localized logging using the CAL10N API.

+

+ +

+

+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/package-tree.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/package-tree.html new file mode 100644 index 0000000..7493987 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/package-tree.html @@ -0,0 +1,178 @@ + + + + + + + +org.slf4j.ext Class Hierarchy (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For Package org.slf4j.ext +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+ +

+Enum Hierarchy +

+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/package-use.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/package-use.html new file mode 100644 index 0000000..b478189 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/ext/package-use.html @@ -0,0 +1,211 @@ + + + + + + + +Uses of Package org.slf4j.ext (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Package
org.slf4j.ext

+
+ + + + + + + + + + + + + +
+Packages that use org.slf4j.ext
org.slf4j.cal10nSLF4J API extensions 
org.slf4j.extLocalized logging using the CAL10N API. 
+  +

+ + + + + + + + +
+Classes in org.slf4j.ext used by org.slf4j.cal10n
LoggerWrapper + +
+          A helper class wrapping an Logger instance preserving + location information if the wrapped instance supports it.
+  +

+ + + + + + + + + + + + + + + + + +
+Classes in org.slf4j.ext used by org.slf4j.ext
EventData + +
+          Base class for Event Data.
LoggerWrapper + +
+          A helper class wrapping an Logger instance preserving + location information if the wrapped instance supports it.
XLogger + +
+          A utility that provides standard mechanisms for logging certain kinds of + activities.
XLogger.Level + +
+           
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/BasicMDCAdapter.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/BasicMDCAdapter.html new file mode 100644 index 0000000..50800af --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/BasicMDCAdapter.html @@ -0,0 +1,440 @@ + + + + + + + +BasicMDCAdapter (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.helpers +
+Class BasicMDCAdapter

+
+java.lang.Object
+  extended by org.slf4j.helpers.BasicMDCAdapter
+
+
+
All Implemented Interfaces:
MDCAdapter
+
+
+
+
public class BasicMDCAdapter
extends Object
implements MDCAdapter
+ + +

+Basic MDC implementation, which can be used with logging systems that lack + out-of-the-box MDC support. + + This code was initially inspired by logback's LogbackMDCAdapter. However, + LogbackMDCAdapter has evolved and is now considerably more sophisticated. +

+ +

+

+
Since:
+
1.5.0
+
Author:
+
Ceki Gulcu, Maarten Bosteels
+
+
+ +

+ + + + + + + + + + + +
+Constructor Summary
BasicMDCAdapter() + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidclear() + +
+          Clear all entries in the MDC.
+ Stringget(String key) + +
+          Get the context identified by the key parameter.
+ MapgetCopyOfContextMap() + +
+          Return a copy of the current thread's context map.
+ SetgetKeys() + +
+          Returns the keys in the MDC as a Set of Strings The + returned value can be null.
+ voidput(String key, + String val) + +
+          Put a context value (the val parameter) as identified with + the key parameter into the current thread's context map.
+ voidremove(String key) + +
+          Remove the the context identified by the key parameter.
+ voidsetContextMap(Map contextMap) + +
+          Set the current thread's context map by first clearing any existing + map and then copying the map passed as parameter.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+BasicMDCAdapter

+
+public BasicMDCAdapter()
+
+
+ + + + + + + + +
+Method Detail
+ +

+put

+
+public void put(String key,
+                String val)
+
+
Put a context value (the val parameter) as identified with + the key parameter into the current thread's context map. + Note that contrary to log4j, the val parameter can be null. + +

+ If the current thread does not have a context map it is created as a side + effect of this call. +

+

+
Specified by:
put in interface MDCAdapter
+
+
+ +
Throws: +
IllegalArgumentException - in case the "key" parameter is null
+
+
+
+ +

+get

+
+public String get(String key)
+
+
Get the context identified by the key parameter. +

+

+
Specified by:
get in interface MDCAdapter
+
+
+ +
Returns:
the string value identified by the key parameter.
+
+
+
+ +

+remove

+
+public void remove(String key)
+
+
Remove the the context identified by the key parameter. +

+

+
Specified by:
remove in interface MDCAdapter
+
+
+
+
+
+
+ +

+clear

+
+public void clear()
+
+
Clear all entries in the MDC. +

+

+
Specified by:
clear in interface MDCAdapter
+
+
+
+
+
+
+ +

+getKeys

+
+public Set getKeys()
+
+
Returns the keys in the MDC as a Set of Strings The + returned value can be null. +

+

+
+
+
+ +
Returns:
the keys in the MDC
+
+
+
+ +

+getCopyOfContextMap

+
+public Map getCopyOfContextMap()
+
+
Return a copy of the current thread's context map. + Returned value may be null. +

+

+
Specified by:
getCopyOfContextMap in interface MDCAdapter
+
+
+ +
Returns:
A copy of the current thread's context map. May be null.
+
+
+
+ +

+setContextMap

+
+public void setContextMap(Map contextMap)
+
+
Description copied from interface: MDCAdapter
+
Set the current thread's context map by first clearing any existing + map and then copying the map passed as parameter. The context map + parameter must only contain keys and values of type String. +

+

+
Specified by:
setContextMap in interface MDCAdapter
+
+
+
Parameters:
contextMap - must contain only keys and values of type String
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/BasicMarker.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/BasicMarker.html new file mode 100644 index 0000000..28a512a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/BasicMarker.html @@ -0,0 +1,511 @@ + + + + + + + +BasicMarker (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.helpers +
+Class BasicMarker

+
+java.lang.Object
+  extended by org.slf4j.helpers.BasicMarker
+
+
+
All Implemented Interfaces:
Serializable, Marker
+
+
+
+
public class BasicMarker
extends Object
implements Marker
+ + +

+A simple implementation of the Marker interface. +

+ +

+

+
Author:
+
Ceki Gülcü, Joern Huxhorn
+
See Also:
Serialized Form
+
+ +

+ + + + + + + +
+Field Summary
+ + + + + + + +
Fields inherited from interface org.slf4j.Marker
ANY_MARKER, ANY_NON_NULL_MARKER
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidadd(Marker reference) + +
+          Add a reference to another Marker.
+ booleancontains(Marker other) + +
+          Does this marker contain a reference to the 'other' marker?
+ booleancontains(String name) + +
+          This method is mainly used with Expression Evaluators.
+ booleanequals(Object obj) + +
+          Markers are considered equal if they have the same name.
+ StringgetName() + +
+          Get the name of this Marker.
+ booleanhasChildren() + +
+           
+ inthashCode() + +
+          Compute the hash code based on the name of this marker.
+ booleanhasReferences() + +
+          Does this marker have any references?
+ Iteratoriterator() + +
+          Returns an Iterator which can be used to iterate over the references of this + marker.
+ booleanremove(Marker referenceToRemove) + +
+          Remove a marker reference.
+ StringtoString() + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Method Detail
+ +

+getName

+
+public String getName()
+
+
Description copied from interface: Marker
+
Get the name of this Marker. +

+

+
Specified by:
getName in interface Marker
+
+
+ +
Returns:
name of marker
+
+
+
+ +

+add

+
+public void add(Marker reference)
+
+
Description copied from interface: Marker
+
Add a reference to another Marker. +

+

+
Specified by:
add in interface Marker
+
+
+
Parameters:
reference - a reference to another marker
+
+
+
+ +

+hasReferences

+
+public boolean hasReferences()
+
+
Description copied from interface: Marker
+
Does this marker have any references? +

+

+
Specified by:
hasReferences in interface Marker
+
+
+ +
Returns:
true if this marker has one or more references, false otherwise.
+
+
+
+ +

+hasChildren

+
+public boolean hasChildren()
+
+
+
Specified by:
hasChildren in interface Marker
+
+
+
+
+
+
+ +

+iterator

+
+public Iterator iterator()
+
+
Description copied from interface: Marker
+
Returns an Iterator which can be used to iterate over the references of this + marker. An empty iterator is returned when this marker has no references. +

+

+
Specified by:
iterator in interface Marker
+
+
+ +
Returns:
Iterator over the references of this marker
+
+
+
+ +

+remove

+
+public boolean remove(Marker referenceToRemove)
+
+
Description copied from interface: Marker
+
Remove a marker reference. +

+

+
Specified by:
remove in interface Marker
+
+
+
Parameters:
referenceToRemove - the marker reference to remove +
Returns:
true if reference could be found and removed, false otherwise.
+
+
+
+ +

+contains

+
+public boolean contains(Marker other)
+
+
Description copied from interface: Marker
+
Does this marker contain a reference to the 'other' marker? Marker A is defined + to contain marker B, if A == B or if B is referenced by A, or if B is referenced + by any one of A's references (recursively). +

+

+
Specified by:
contains in interface Marker
+
+
+
Parameters:
other - The marker to test for inclusion. +
Returns:
Whether this marker contains the other marker.
+
+
+
+ +

+contains

+
+public boolean contains(String name)
+
+
This method is mainly used with Expression Evaluators. +

+

+
Specified by:
contains in interface Marker
+
+
+
Parameters:
name - The marker name to test for inclusion. +
Returns:
Whether this marker contains the other marker.
+
+
+
+ +

+equals

+
+public boolean equals(Object obj)
+
+
Description copied from interface: Marker
+
Markers are considered equal if they have the same name. +

+

+
Specified by:
equals in interface Marker
Overrides:
equals in class Object
+
+
+ +
Returns:
true, if this.name equals o.name
+
+
+
+ +

+hashCode

+
+public int hashCode()
+
+
Description copied from interface: Marker
+
Compute the hash code based on the name of this marker. + Note that markers are considered equal if they have the same name. +

+

+
Specified by:
hashCode in interface Marker
Overrides:
hashCode in class Object
+
+
+ +
Returns:
the computed hashCode
+
+
+
+ +

+toString

+
+public String toString()
+
+
+
Overrides:
toString in class Object
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/BasicMarkerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/BasicMarkerFactory.html new file mode 100644 index 0000000..5ec1532 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/BasicMarkerFactory.html @@ -0,0 +1,360 @@ + + + + + + + +BasicMarkerFactory (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.helpers +
+Class BasicMarkerFactory

+
+java.lang.Object
+  extended by org.slf4j.helpers.BasicMarkerFactory
+
+
+
All Implemented Interfaces:
IMarkerFactory
+
+
+
+
public class BasicMarkerFactory
extends Object
implements IMarkerFactory
+ + +

+An almost trivial implementation of the IMarkerFactory + interface which creates BasicMarker instances. + +

Simple logging systems can conform to the SLF4J API by binding + MarkerFactory with an instance of this class. +

+ +

+

+
Author:
+
Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + +
+Constructor Summary
BasicMarkerFactory() + +
+          Regular users should not create + BasicMarkerFactory instances.
+  + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ booleandetachMarker(String name) + +
+          Detach an existing marker.
+ booleanexists(String name) + +
+          Does the name marked already exist?
+ MarkergetDetachedMarker(String name) + +
+          Create a marker which is detached (even at birth) from this IMarkerFactory.
+ MarkergetMarker(String name) + +
+          Manufacture a BasicMarker instance by name.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+BasicMarkerFactory

+
+public BasicMarkerFactory()
+
+
Regular users should not create + BasicMarkerFactory instances. Marker + instances can be obtained using the static MarkerFactory.getMarker(java.lang.String) method. +

+

+ + + + + + + + +
+Method Detail
+ +

+getMarker

+
+public Marker getMarker(String name)
+
+
Manufacture a BasicMarker instance by name. If the instance has been + created earlier, return the previously created instance. +

+

+
Specified by:
getMarker in interface IMarkerFactory
+
+
+
Parameters:
name - the name of the marker to be created +
Returns:
a Marker instance
+
+
+
+ +

+exists

+
+public boolean exists(String name)
+
+
Does the name marked already exist? +

+

+
Specified by:
exists in interface IMarkerFactory
+
+
+
Parameters:
name - logger name to check for +
Returns:
true id the marker exists, false otherwise.
+
+
+
+ +

+detachMarker

+
+public boolean detachMarker(String name)
+
+
Description copied from interface: IMarkerFactory
+
Detach an existing marker. +

+ Note that after a marker is detached, there might still be "dangling" references + to the detached marker. +

+

+
Specified by:
detachMarker in interface IMarkerFactory
+
+
+
Parameters:
name - The name of the marker to detach +
Returns:
whether the marker could be detached or not
+
+
+
+ +

+getDetachedMarker

+
+public Marker getDetachedMarker(String name)
+
+
Description copied from interface: IMarkerFactory
+
Create a marker which is detached (even at birth) from this IMarkerFactory. +

+

+
Specified by:
getDetachedMarker in interface IMarkerFactory
+
+
+
Parameters:
name - marker name +
Returns:
a dangling marker
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/FormattingTuple.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/FormattingTuple.html new file mode 100644 index 0000000..de39296 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/FormattingTuple.html @@ -0,0 +1,353 @@ + + + + + + + +FormattingTuple (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.helpers +
+Class FormattingTuple

+
+java.lang.Object
+  extended by org.slf4j.helpers.FormattingTuple
+
+
+
+
public class FormattingTuple
extends Object
+ + +

+Holds the results of formatting done by MessageFormatter. +

+ +

+

+
Author:
+
Joern Huxhorn
+
+
+ +

+ + + + + + + + + + + +
+Field Summary
+static FormattingTupleNULL + +
+           
+  + + + + + + + + + + + + + +
+Constructor Summary
FormattingTuple(String message) + +
+           
FormattingTuple(String message, + Object[] argArray, + Throwable throwable) + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ Object[]getArgArray() + +
+           
+ StringgetMessage() + +
+           
+ ThrowablegetThrowable() + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Field Detail
+ +

+NULL

+
+public static FormattingTuple NULL
+
+
+
+
+ + + + + + + + +
+Constructor Detail
+ +

+FormattingTuple

+
+public FormattingTuple(String message)
+
+
+
+ +

+FormattingTuple

+
+public FormattingTuple(String message,
+                       Object[] argArray,
+                       Throwable throwable)
+
+
+ + + + + + + + +
+Method Detail
+ +

+getMessage

+
+public String getMessage()
+
+
+
+
+
+
+ +

+getArgArray

+
+public Object[] getArgArray()
+
+
+
+
+
+
+ +

+getThrowable

+
+public Throwable getThrowable()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/MarkerIgnoringBase.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/MarkerIgnoringBase.html new file mode 100644 index 0000000..817112f --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/MarkerIgnoringBase.html @@ -0,0 +1,1311 @@ + + + + + + + +MarkerIgnoringBase (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.helpers +
+Class MarkerIgnoringBase

+
+java.lang.Object
+  extended by org.slf4j.helpers.MarkerIgnoringBase
+
+
+
All Implemented Interfaces:
Serializable, Logger
+
+
+
Direct Known Subclasses:
JCLLoggerAdapter, JDK14LoggerAdapter, Log4jLoggerAdapter, NOPLogger, SimpleLogger
+
+
+
+
public abstract class MarkerIgnoringBase
extends Object
implements Logger
+ + +

+This class serves as base for adapters or native implementations of logging systems + lacking Marker support. In this implementation, methods taking marker data + simply invoke the corresponding method without the Marker argument, discarding + any marker data passed as argument. +

+ +

+

+
Author:
+
Ceki Gulcu
+
See Also:
Serialized Form
+
+ +

+ + + + + + + + + + + +
+Field Summary
+protected  Stringname + +
+           
+ + + + + + + +
Fields inherited from interface org.slf4j.Logger
ROOT_LOGGER_NAME
+  + + + + + + + + + + +
+Constructor Summary
MarkerIgnoringBase() + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voiddebug(Marker marker, + String msg) + +
+          Log a message with the specific Marker at the DEBUG level.
+ voiddebug(Marker marker, + String format, + Object... arguments) + +
+          This method is similar to Logger.debug(String, Object...)
+ voiddebug(Marker marker, + String format, + Object arg) + +
+          This method is similar to Logger.debug(String, Object) method except that the + marker data is also taken into consideration.
+ voiddebug(Marker marker, + String format, + Object arg1, + Object arg2) + +
+          This method is similar to Logger.debug(String, Object, Object) + method except that the marker data is also taken into + consideration.
+ voiddebug(Marker marker, + String msg, + Throwable t) + +
+          This method is similar to Logger.debug(String, Throwable) method except that the + marker data is also taken into consideration.
+ voiderror(Marker marker, + String msg) + +
+          Log a message with the specific Marker at the ERROR level.
+ voiderror(Marker marker, + String format, + Object... arguments) + +
+          This method is similar to Logger.error(String, Object...)
+ voiderror(Marker marker, + String format, + Object arg) + +
+          This method is similar to Logger.error(String, Object) method except that the + marker data is also taken into consideration.
+ voiderror(Marker marker, + String format, + Object arg1, + Object arg2) + +
+          This method is similar to Logger.error(String, Object, Object) + method except that the marker data is also taken into + consideration.
+ voiderror(Marker marker, + String msg, + Throwable t) + +
+          This method is similar to Logger.error(String, Throwable) + method except that the marker data is also taken into + consideration.
+ StringgetName() + +
+          Return the name of this Logger instance.
+ voidinfo(Marker marker, + String msg) + +
+          Log a message with the specific Marker at the INFO level.
+ voidinfo(Marker marker, + String format, + Object... arguments) + +
+          This method is similar to Logger.info(String, Object...)
+ voidinfo(Marker marker, + String format, + Object arg) + +
+          This method is similar to Logger.info(String, Object) method except that the + marker data is also taken into consideration.
+ voidinfo(Marker marker, + String format, + Object arg1, + Object arg2) + +
+          This method is similar to Logger.info(String, Object, Object) + method except that the marker data is also taken into + consideration.
+ voidinfo(Marker marker, + String msg, + Throwable t) + +
+          This method is similar to Logger.info(String, Throwable) method + except that the marker data is also taken into consideration.
+ booleanisDebugEnabled(Marker marker) + +
+          Similar to Logger.isDebugEnabled() method except that the + marker data is also taken into account.
+ booleanisErrorEnabled(Marker marker) + +
+          Similar to Logger.isErrorEnabled() method except that the + marker data is also taken into consideration.
+ booleanisInfoEnabled(Marker marker) + +
+          Similar to Logger.isInfoEnabled() method except that the marker + data is also taken into consideration.
+ booleanisTraceEnabled(Marker marker) + +
+          Similar to Logger.isTraceEnabled() method except that the + marker data is also taken into account.
+ booleanisWarnEnabled(Marker marker) + +
+          Similar to Logger.isWarnEnabled() method except that the marker + data is also taken into consideration.
+protected  ObjectreadResolve() + +
+          Replace this instance with a homonymous (same name) logger returned + by LoggerFactory.
+ StringtoString() + +
+           
+ voidtrace(Marker marker, + String msg) + +
+          Log a message with the specific Marker at the TRACE level.
+ voidtrace(Marker marker, + String format, + Object... arguments) + +
+          This method is similar to Logger.trace(String, Object...)
+ voidtrace(Marker marker, + String format, + Object arg) + +
+          This method is similar to Logger.trace(String, Object) method except that the + marker data is also taken into consideration.
+ voidtrace(Marker marker, + String format, + Object arg1, + Object arg2) + +
+          This method is similar to Logger.trace(String, Object, Object) + method except that the marker data is also taken into + consideration.
+ voidtrace(Marker marker, + String msg, + Throwable t) + +
+          This method is similar to Logger.trace(String, Throwable) method except that the + marker data is also taken into consideration.
+ voidwarn(Marker marker, + String msg) + +
+          Log a message with the specific Marker at the WARN level.
+ voidwarn(Marker marker, + String format, + Object... arguments) + +
+          This method is similar to Logger.warn(String, Object...)
+ voidwarn(Marker marker, + String format, + Object arg) + +
+          This method is similar to Logger.warn(String, Object) method except that the + marker data is also taken into consideration.
+ voidwarn(Marker marker, + String format, + Object arg1, + Object arg2) + +
+          This method is similar to Logger.warn(String, Object, Object) + method except that the marker data is also taken into + consideration.
+ voidwarn(Marker marker, + String msg, + Throwable t) + +
+          This method is similar to Logger.warn(String, Throwable) method + except that the marker data is also taken into consideration.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+ + + + + + + +
Methods inherited from interface org.slf4j.Logger
debug, debug, debug, debug, debug, error, error, error, error, error, getName, info, info, info, info, info, isDebugEnabled, isErrorEnabled, isInfoEnabled, isTraceEnabled, isWarnEnabled, trace, trace, trace, trace, trace, warn, warn, warn, warn, warn
+  +

+ + + + + + + + +
+Field Detail
+ +

+name

+
+protected String name
+
+
+
+
+ + + + + + + + +
+Constructor Detail
+ +

+MarkerIgnoringBase

+
+public MarkerIgnoringBase()
+
+
+ + + + + + + + +
+Method Detail
+ +

+isTraceEnabled

+
+public boolean isTraceEnabled(Marker marker)
+
+
Description copied from interface: Logger
+
Similar to Logger.isTraceEnabled() method except that the + marker data is also taken into account. +

+

+
Specified by:
isTraceEnabled in interface Logger
+
+
+
Parameters:
marker - The marker data to take into consideration +
Returns:
True if this Logger is enabled for the TRACE level, + false otherwise.
+
+
+
+ +

+trace

+
+public void trace(Marker marker,
+                  String msg)
+
+
Description copied from interface: Logger
+
Log a message with the specific Marker at the TRACE level. +

+

+
Specified by:
trace in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
msg - the message string to be logged
+
+
+
+ +

+trace

+
+public void trace(Marker marker,
+                  String format,
+                  Object arg)
+
+
Description copied from interface: Logger
+
This method is similar to Logger.trace(String, Object) method except that the + marker data is also taken into consideration. +

+

+
Specified by:
trace in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arg - the argument
+
+
+
+ +

+trace

+
+public void trace(Marker marker,
+                  String format,
+                  Object arg1,
+                  Object arg2)
+
+
Description copied from interface: Logger
+
This method is similar to Logger.trace(String, Object, Object) + method except that the marker data is also taken into + consideration. +

+

+
Specified by:
trace in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+trace

+
+public void trace(Marker marker,
+                  String format,
+                  Object... arguments)
+
+
Description copied from interface: Logger
+
This method is similar to Logger.trace(String, Object...) + method except that the marker data is also taken into + consideration. +

+

+
Specified by:
trace in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arguments - an array of arguments
+
+
+
+ +

+trace

+
+public void trace(Marker marker,
+                  String msg,
+                  Throwable t)
+
+
Description copied from interface: Logger
+
This method is similar to Logger.trace(String, Throwable) method except that the + marker data is also taken into consideration. +

+

+
Specified by:
trace in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+isDebugEnabled

+
+public boolean isDebugEnabled(Marker marker)
+
+
Description copied from interface: Logger
+
Similar to Logger.isDebugEnabled() method except that the + marker data is also taken into account. +

+

+
Specified by:
isDebugEnabled in interface Logger
+
+
+
Parameters:
marker - The marker data to take into consideration +
Returns:
True if this Logger is enabled for the DEBUG level, + false otherwise.
+
+
+
+ +

+debug

+
+public void debug(Marker marker,
+                  String msg)
+
+
Description copied from interface: Logger
+
Log a message with the specific Marker at the DEBUG level. +

+

+
Specified by:
debug in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
msg - the message string to be logged
+
+
+
+ +

+debug

+
+public void debug(Marker marker,
+                  String format,
+                  Object arg)
+
+
Description copied from interface: Logger
+
This method is similar to Logger.debug(String, Object) method except that the + marker data is also taken into consideration. +

+

+
Specified by:
debug in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arg - the argument
+
+
+
+ +

+debug

+
+public void debug(Marker marker,
+                  String format,
+                  Object arg1,
+                  Object arg2)
+
+
Description copied from interface: Logger
+
This method is similar to Logger.debug(String, Object, Object) + method except that the marker data is also taken into + consideration. +

+

+
Specified by:
debug in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+debug

+
+public void debug(Marker marker,
+                  String format,
+                  Object... arguments)
+
+
Description copied from interface: Logger
+
This method is similar to Logger.debug(String, Object...) + method except that the marker data is also taken into + consideration. +

+

+
Specified by:
debug in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arguments - a list of 3 or more arguments
+
+
+
+ +

+debug

+
+public void debug(Marker marker,
+                  String msg,
+                  Throwable t)
+
+
Description copied from interface: Logger
+
This method is similar to Logger.debug(String, Throwable) method except that the + marker data is also taken into consideration. +

+

+
Specified by:
debug in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+isInfoEnabled

+
+public boolean isInfoEnabled(Marker marker)
+
+
Description copied from interface: Logger
+
Similar to Logger.isInfoEnabled() method except that the marker + data is also taken into consideration. +

+

+
Specified by:
isInfoEnabled in interface Logger
+
+
+
Parameters:
marker - The marker data to take into consideration +
Returns:
true if this logger is warn enabled, false otherwise
+
+
+
+ +

+info

+
+public void info(Marker marker,
+                 String msg)
+
+
Description copied from interface: Logger
+
Log a message with the specific Marker at the INFO level. +

+

+
Specified by:
info in interface Logger
+
+
+
Parameters:
marker - The marker specific to this log statement
msg - the message string to be logged
+
+
+
+ +

+info

+
+public void info(Marker marker,
+                 String format,
+                 Object arg)
+
+
Description copied from interface: Logger
+
This method is similar to Logger.info(String, Object) method except that the + marker data is also taken into consideration. +

+

+
Specified by:
info in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arg - the argument
+
+
+
+ +

+info

+
+public void info(Marker marker,
+                 String format,
+                 Object arg1,
+                 Object arg2)
+
+
Description copied from interface: Logger
+
This method is similar to Logger.info(String, Object, Object) + method except that the marker data is also taken into + consideration. +

+

+
Specified by:
info in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+info

+
+public void info(Marker marker,
+                 String format,
+                 Object... arguments)
+
+
Description copied from interface: Logger
+
This method is similar to Logger.info(String, Object...) + method except that the marker data is also taken into + consideration. +

+

+
Specified by:
info in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arguments - a list of 3 or more arguments
+
+
+
+ +

+info

+
+public void info(Marker marker,
+                 String msg,
+                 Throwable t)
+
+
Description copied from interface: Logger
+
This method is similar to Logger.info(String, Throwable) method + except that the marker data is also taken into consideration. +

+

+
Specified by:
info in interface Logger
+
+
+
Parameters:
marker - the marker data for this log statement
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+isWarnEnabled

+
+public boolean isWarnEnabled(Marker marker)
+
+
Description copied from interface: Logger
+
Similar to Logger.isWarnEnabled() method except that the marker + data is also taken into consideration. +

+

+
Specified by:
isWarnEnabled in interface Logger
+
+
+
Parameters:
marker - The marker data to take into consideration +
Returns:
True if this Logger is enabled for the WARN level, + false otherwise.
+
+
+
+ +

+warn

+
+public void warn(Marker marker,
+                 String msg)
+
+
Description copied from interface: Logger
+
Log a message with the specific Marker at the WARN level. +

+

+
Specified by:
warn in interface Logger
+
+
+
Parameters:
marker - The marker specific to this log statement
msg - the message string to be logged
+
+
+
+ +

+warn

+
+public void warn(Marker marker,
+                 String format,
+                 Object arg)
+
+
Description copied from interface: Logger
+
This method is similar to Logger.warn(String, Object) method except that the + marker data is also taken into consideration. +

+

+
Specified by:
warn in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arg - the argument
+
+
+
+ +

+warn

+
+public void warn(Marker marker,
+                 String format,
+                 Object arg1,
+                 Object arg2)
+
+
Description copied from interface: Logger
+
This method is similar to Logger.warn(String, Object, Object) + method except that the marker data is also taken into + consideration. +

+

+
Specified by:
warn in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+warn

+
+public void warn(Marker marker,
+                 String format,
+                 Object... arguments)
+
+
Description copied from interface: Logger
+
This method is similar to Logger.warn(String, Object...) + method except that the marker data is also taken into + consideration. +

+

+
Specified by:
warn in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arguments - a list of 3 or more arguments
+
+
+
+ +

+warn

+
+public void warn(Marker marker,
+                 String msg,
+                 Throwable t)
+
+
Description copied from interface: Logger
+
This method is similar to Logger.warn(String, Throwable) method + except that the marker data is also taken into consideration. +

+

+
Specified by:
warn in interface Logger
+
+
+
Parameters:
marker - the marker data for this log statement
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+isErrorEnabled

+
+public boolean isErrorEnabled(Marker marker)
+
+
Description copied from interface: Logger
+
Similar to Logger.isErrorEnabled() method except that the + marker data is also taken into consideration. +

+

+
Specified by:
isErrorEnabled in interface Logger
+
+
+
Parameters:
marker - The marker data to take into consideration +
Returns:
True if this Logger is enabled for the ERROR level, + false otherwise.
+
+
+
+ +

+error

+
+public void error(Marker marker,
+                  String msg)
+
+
Description copied from interface: Logger
+
Log a message with the specific Marker at the ERROR level. +

+

+
Specified by:
error in interface Logger
+
+
+
Parameters:
marker - The marker specific to this log statement
msg - the message string to be logged
+
+
+
+ +

+error

+
+public void error(Marker marker,
+                  String format,
+                  Object arg)
+
+
Description copied from interface: Logger
+
This method is similar to Logger.error(String, Object) method except that the + marker data is also taken into consideration. +

+

+
Specified by:
error in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arg - the argument
+
+
+
+ +

+error

+
+public void error(Marker marker,
+                  String format,
+                  Object arg1,
+                  Object arg2)
+
+
Description copied from interface: Logger
+
This method is similar to Logger.error(String, Object, Object) + method except that the marker data is also taken into + consideration. +

+

+
Specified by:
error in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+error

+
+public void error(Marker marker,
+                  String format,
+                  Object... arguments)
+
+
Description copied from interface: Logger
+
This method is similar to Logger.error(String, Object...) + method except that the marker data is also taken into + consideration. +

+

+
Specified by:
error in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
format - the format string
arguments - a list of 3 or more arguments
+
+
+
+ +

+error

+
+public void error(Marker marker,
+                  String msg,
+                  Throwable t)
+
+
Description copied from interface: Logger
+
This method is similar to Logger.error(String, Throwable) + method except that the marker data is also taken into + consideration. +

+

+
Specified by:
error in interface Logger
+
+
+
Parameters:
marker - the marker data specific to this log statement
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+toString

+
+public String toString()
+
+
+
Overrides:
toString in class Object
+
+
+
+
+
+
+ +

+getName

+
+public String getName()
+
+
Description copied from interface: Logger
+
Return the name of this Logger instance. +

+

+
Specified by:
getName in interface Logger
+
+
+ +
Returns:
name of this logger instance
+
+
+
+ +

+readResolve

+
+protected Object readResolve()
+                      throws ObjectStreamException
+
+
Replace this instance with a homonymous (same name) logger returned + by LoggerFactory. Note that this method is only called during + deserialization. + +

+ This approach will work well if the desired ILoggerFactory is the one + references by LoggerFactory. However, if the user manages its logger hierarchy + through a different (non-static) mechanism, e.g. dependency injection, then + this approach would be mostly counterproductive. +

+

+
+
+
+ +
Returns:
logger with same name as returned by LoggerFactory +
Throws: +
ObjectStreamException
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/MessageFormatter.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/MessageFormatter.html new file mode 100644 index 0000000..11c1341 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/MessageFormatter.html @@ -0,0 +1,403 @@ + + + + + + + +MessageFormatter (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.helpers +
+Class MessageFormatter

+
+java.lang.Object
+  extended by org.slf4j.helpers.MessageFormatter
+
+
+
+
public final class MessageFormatter
extends Object
+ + +

+Formats messages according to very simple substitution rules. Substitutions + can be made 1, 2 or more arguments. + +

+ For example, + +

+ MessageFormatter.format("Hi {}.", "there")
+ 
+ + will return the string "Hi there.". +

+ The {} pair is called the formatting anchor. It serves to designate + the location where arguments need to be substituted within the message + pattern. +

+ In case your message contains the '{' or the '}' character, you do not have + to do anything special unless the '}' character immediately follows '{'. For + example, + +

+ MessageFormatter.format("Set {1,2,3} is not equal to {}.", "1,2");
+ 
+ + will return the string "Set {1,2,3} is not equal to 1,2.". + +

+ If for whatever reason you need to place the string "{}" in the message + without its formatting anchor meaning, then you need to escape the + '{' character with '\', that is the backslash character. Only the '{' + character should be escaped. There is no need to escape the '}' character. + For example, + +

+ MessageFormatter.format("Set \\{} is not equal to {}.", "1,2");
+ 
+ + will return the string "Set {} is not equal to 1,2.". + +

+ The escaping behavior just described can be overridden by escaping the escape + character '\'. Calling + +

+ MessageFormatter.format("File name is C:\\\\{}.", "file.zip");
+ 
+ + will return the string "File name is C:\file.zip". + +

+ The formatting conventions are different than those of MessageFormat + which ships with the Java platform. This is justified by the fact that + SLF4J's implementation is 10 times faster than that of MessageFormat. + This local performance difference is both measurable and significant in the + larger context of the complete logging processing chain. + +

+ See also format(String, Object), + format(String, Object, Object) and + arrayFormat(String, Object[]) methods for more details. +

+ +

+

+
Author:
+
Ceki Gülcü, Joern Huxhorn
+
+
+ +

+ + + + + + + + + + + +
+Constructor Summary
MessageFormatter() + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+static FormattingTuplearrayFormat(String messagePattern, + Object[] argArray) + +
+          Same principle as the format(String, Object) and + format(String, Object, Object) methods except that any number of + arguments can be passed in an array.
+static FormattingTupleformat(String messagePattern, + Object arg) + +
+          Performs single argument substitution for the 'messagePattern' passed as + parameter.
+static FormattingTupleformat(String messagePattern, + Object arg1, + Object arg2) + +
+          Performs a two argument substitution for the 'messagePattern' passed as + parameter.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+MessageFormatter

+
+public MessageFormatter()
+
+
+ + + + + + + + +
+Method Detail
+ +

+format

+
+public static final FormattingTuple format(String messagePattern,
+                                           Object arg)
+
+
Performs single argument substitution for the 'messagePattern' passed as + parameter. +

+ For example, + +

+ MessageFormatter.format("Hi {}.", "there");
+ 
+ + will return the string "Hi there.". +

+

+

+
Parameters:
messagePattern - The message pattern which will be parsed and formatted
argument - The argument to be substituted in place of the formatting anchor +
Returns:
The formatted message
+
+
+
+ +

+format

+
+public static final FormattingTuple format(String messagePattern,
+                                           Object arg1,
+                                           Object arg2)
+
+
Performs a two argument substitution for the 'messagePattern' passed as + parameter. +

+ For example, + +

+ MessageFormatter.format("Hi {}. My name is {}.", "Alice", "Bob");
+ 
+ + will return the string "Hi Alice. My name is Bob.". +

+

+
Parameters:
messagePattern - The message pattern which will be parsed and formatted
arg1 - The argument to be substituted in place of the first formatting + anchor
arg2 - The argument to be substituted in place of the second formatting + anchor +
Returns:
The formatted message
+
+
+
+ +

+arrayFormat

+
+public static final FormattingTuple arrayFormat(String messagePattern,
+                                                Object[] argArray)
+
+
Same principle as the format(String, Object) and + format(String, Object, Object) methods except that any number of + arguments can be passed in an array. +

+

+
Parameters:
messagePattern - The message pattern which will be parsed and formatted
argArray - An array of arguments to be substituted in place of formatting + anchors +
Returns:
The formatted message
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/NOPLogger.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/NOPLogger.html new file mode 100644 index 0000000..8864433 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/NOPLogger.html @@ -0,0 +1,1074 @@ + + + + + + + +NOPLogger (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.helpers +
+Class NOPLogger

+
+java.lang.Object
+  extended by org.slf4j.helpers.MarkerIgnoringBase
+      extended by org.slf4j.helpers.NOPLogger
+
+
+
All Implemented Interfaces:
Serializable, Logger
+
+
+
+
public class NOPLogger
extends MarkerIgnoringBase
+ + +

+A direct NOP (no operation) implementation of Logger. +

+ +

+

+
Author:
+
Ceki Gülcü
+
See Also:
Serialized Form
+
+ +

+ + + + + + + + + + + + + + + +
+Field Summary
+protected  Stringname + +
+           
+static NOPLoggerNOP_LOGGER + +
+          The unique instance of NOPLogger.
+ + + + + + + +
Fields inherited from interface org.slf4j.Logger
ROOT_LOGGER_NAME
+  + + + + + + + + + + + +
+Constructor Summary
+protected NOPLogger() + +
+          There is no point in creating multiple instances of NOPLOgger, + except by derived classes, hence the protected access for the constructor.
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voiddebug(String msg) + +
+          A NOP implementation.
+ voiddebug(String format, + Object... argArray) + +
+          A NOP implementation.
+ voiddebug(String format, + Object arg) + +
+          A NOP implementation.
+ voiddebug(String format, + Object arg1, + Object arg2) + +
+          A NOP implementation.
+ voiddebug(String msg, + Throwable t) + +
+          A NOP implementation.
+ voiderror(String msg) + +
+          A NOP implementation.
+ voiderror(String format, + Object... argArray) + +
+          A NOP implementation.
+ voiderror(String format, + Object arg1) + +
+          A NOP implementation.
+ voiderror(String format, + Object arg1, + Object arg2) + +
+          A NOP implementation.
+ voiderror(String msg, + Throwable t) + +
+          A NOP implementation.
+ StringgetName() + +
+          Always returns the string value "NOP".
+ voidinfo(String msg) + +
+          A NOP implementation.
+ voidinfo(String format, + Object... argArray) + +
+          A NOP implementation.
+ voidinfo(String format, + Object arg1) + +
+          A NOP implementation.
+ voidinfo(String format, + Object arg1, + Object arg2) + +
+          A NOP implementation.
+ voidinfo(String msg, + Throwable t) + +
+          A NOP implementation.
+ booleanisDebugEnabled() + +
+          Always returns false.
+ booleanisErrorEnabled() + +
+          A NOP implementation.
+ booleanisInfoEnabled() + +
+          Always returns false.
+ booleanisTraceEnabled() + +
+          Always returns false.
+ booleanisWarnEnabled() + +
+          Always returns false.
+protected  ObjectreadResolve() + +
+          Replace this instance with a homonymous (same name) logger returned + by LoggerFactory.
+ voidtrace(String msg) + +
+          A NOP implementation.
+ voidtrace(String format, + Object... argArray) + +
+          A NOP implementation.
+ voidtrace(String format, + Object arg) + +
+          A NOP implementation.
+ voidtrace(String format, + Object arg1, + Object arg2) + +
+          A NOP implementation.
+ voidtrace(String msg, + Throwable t) + +
+          A NOP implementation.
+ voidwarn(String msg) + +
+          A NOP implementation.
+ voidwarn(String format, + Object... argArray) + +
+          A NOP implementation.
+ voidwarn(String format, + Object arg1) + +
+          A NOP implementation.
+ voidwarn(String format, + Object arg1, + Object arg2) + +
+          A NOP implementation.
+ voidwarn(String msg, + Throwable t) + +
+          A NOP implementation.
+ + + + + + + +
Methods inherited from class org.slf4j.helpers.MarkerIgnoringBase
debug, debug, debug, debug, debug, error, error, error, error, error, info, info, info, info, info, isDebugEnabled, isErrorEnabled, isInfoEnabled, isTraceEnabled, isWarnEnabled, toString, trace, trace, trace, trace, trace, warn, warn, warn, warn, warn
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Field Detail
+ +

+NOP_LOGGER

+
+public static final NOPLogger NOP_LOGGER
+
+
The unique instance of NOPLogger. +

+

+
+
+
+ +

+name

+
+protected String name
+
+
+
+
+ + + + + + + + +
+Constructor Detail
+ +

+NOPLogger

+
+protected NOPLogger()
+
+
There is no point in creating multiple instances of NOPLOgger, + except by derived classes, hence the protected access for the constructor. +

+

+ + + + + + + + +
+Method Detail
+ +

+getName

+
+public String getName()
+
+
Always returns the string value "NOP". +

+

+
Specified by:
getName in interface Logger
+
+
+ +
Returns:
name of this logger instance
+
+
+
+ +

+isTraceEnabled

+
+public final boolean isTraceEnabled()
+
+
Always returns false. +

+

+ +
Returns:
always false
+
+
+
+ +

+trace

+
+public final void trace(String msg)
+
+
A NOP implementation. +

+

+
Parameters:
msg - the message string to be logged
+
+
+
+ +

+trace

+
+public final void trace(String format,
+                        Object arg)
+
+
A NOP implementation. +

+

+
Parameters:
format - the format string
arg - the argument
+
+
+
+ +

+trace

+
+public final void trace(String format,
+                        Object arg1,
+                        Object arg2)
+
+
A NOP implementation. +

+

+
Parameters:
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+trace

+
+public final void trace(String format,
+                        Object... argArray)
+
+
A NOP implementation. +

+

+
Parameters:
format - the format string
argArray - a list of 3 or more arguments
+
+
+
+ +

+trace

+
+public final void trace(String msg,
+                        Throwable t)
+
+
A NOP implementation. +

+

+
Parameters:
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+isDebugEnabled

+
+public final boolean isDebugEnabled()
+
+
Always returns false. +

+

+ +
Returns:
always false
+
+
+
+ +

+debug

+
+public final void debug(String msg)
+
+
A NOP implementation. +

+

+
Parameters:
msg - the message string to be logged
+
+
+
+ +

+debug

+
+public final void debug(String format,
+                        Object arg)
+
+
A NOP implementation. +

+

+
Parameters:
format - the format string
arg - the argument
+
+
+
+ +

+debug

+
+public final void debug(String format,
+                        Object arg1,
+                        Object arg2)
+
+
A NOP implementation. +

+

+
Parameters:
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+debug

+
+public final void debug(String format,
+                        Object... argArray)
+
+
A NOP implementation. +

+

+
Parameters:
format - the format string
argArray - a list of 3 or more arguments
+
+
+
+ +

+debug

+
+public final void debug(String msg,
+                        Throwable t)
+
+
A NOP implementation. +

+

+
Parameters:
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+isInfoEnabled

+
+public final boolean isInfoEnabled()
+
+
Always returns false. +

+

+ +
Returns:
always false
+
+
+
+ +

+info

+
+public final void info(String msg)
+
+
A NOP implementation. +

+

+
Parameters:
msg - the message string to be logged
+
+
+
+ +

+info

+
+public final void info(String format,
+                       Object arg1)
+
+
A NOP implementation. +

+

+
Parameters:
format - the format string
arg1 - the argument
+
+
+
+ +

+info

+
+public final void info(String format,
+                       Object arg1,
+                       Object arg2)
+
+
A NOP implementation. +

+

+
Parameters:
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+info

+
+public final void info(String format,
+                       Object... argArray)
+
+
A NOP implementation. +

+

+
Parameters:
format - the format string
argArray - a list of 3 or more arguments
+
+
+
+ +

+info

+
+public final void info(String msg,
+                       Throwable t)
+
+
A NOP implementation. +

+

+
Parameters:
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+isWarnEnabled

+
+public final boolean isWarnEnabled()
+
+
Always returns false. +

+

+ +
Returns:
always false
+
+
+
+ +

+warn

+
+public final void warn(String msg)
+
+
A NOP implementation. +

+

+
Parameters:
msg - the message string to be logged
+
+
+
+ +

+warn

+
+public final void warn(String format,
+                       Object arg1)
+
+
A NOP implementation. +

+

+
Parameters:
format - the format string
arg1 - the argument
+
+
+
+ +

+warn

+
+public final void warn(String format,
+                       Object arg1,
+                       Object arg2)
+
+
A NOP implementation. +

+

+
Parameters:
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+warn

+
+public final void warn(String format,
+                       Object... argArray)
+
+
A NOP implementation. +

+

+
Parameters:
format - the format string
argArray - a list of 3 or more arguments
+
+
+
+ +

+warn

+
+public final void warn(String msg,
+                       Throwable t)
+
+
A NOP implementation. +

+

+
Parameters:
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+isErrorEnabled

+
+public final boolean isErrorEnabled()
+
+
A NOP implementation. +

+

+ +
Returns:
True if this Logger is enabled for the ERROR level, + false otherwise.
+
+
+
+ +

+error

+
+public final void error(String msg)
+
+
A NOP implementation. +

+

+
Parameters:
msg - the message string to be logged
+
+
+
+ +

+error

+
+public final void error(String format,
+                        Object arg1)
+
+
A NOP implementation. +

+

+
Parameters:
format - the format string
arg1 - the argument
+
+
+
+ +

+error

+
+public final void error(String format,
+                        Object arg1,
+                        Object arg2)
+
+
A NOP implementation. +

+

+
Parameters:
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+error

+
+public final void error(String format,
+                        Object... argArray)
+
+
A NOP implementation. +

+

+
Parameters:
format - the format string
argArray - a list of 3 or more arguments
+
+
+
+ +

+error

+
+public final void error(String msg,
+                        Throwable t)
+
+
A NOP implementation. +

+

+
Parameters:
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+readResolve

+
+protected Object readResolve()
+                      throws ObjectStreamException
+
+
Replace this instance with a homonymous (same name) logger returned + by LoggerFactory. Note that this method is only called during + deserialization. + +

+ This approach will work well if the desired ILoggerFactory is the one + references by LoggerFactory. However, if the user manages its logger hierarchy + through a different (non-static) mechanism, e.g. dependency injection, then + this approach would be mostly counterproductive. +

+

+
+
+
+ +
Returns:
logger with same name as returned by LoggerFactory +
Throws: +
ObjectStreamException
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/NOPLoggerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/NOPLoggerFactory.html new file mode 100644 index 0000000..1dc4629 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/NOPLoggerFactory.html @@ -0,0 +1,283 @@ + + + + + + + +NOPLoggerFactory (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.helpers +
+Class NOPLoggerFactory

+
+java.lang.Object
+  extended by org.slf4j.helpers.NOPLoggerFactory
+
+
+
All Implemented Interfaces:
ILoggerFactory
+
+
+
+
public class NOPLoggerFactory
extends Object
implements ILoggerFactory
+ + +

+NOPLoggerFactory is an trivial implementation of ILoggerFactory which always returns the unique instance of + NOPLogger. +

+ +

+

+
Author:
+
Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + +
+Constructor Summary
NOPLoggerFactory() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+ LoggergetLogger(String name) + +
+          Return an appropriate Logger instance as specified by the + name parameter.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+NOPLoggerFactory

+
+public NOPLoggerFactory()
+
+
+ + + + + + + + +
+Method Detail
+ +

+getLogger

+
+public Logger getLogger(String name)
+
+
Description copied from interface: ILoggerFactory
+
Return an appropriate Logger instance as specified by the + name parameter. + +

If the name parameter is equal to Logger.ROOT_LOGGER_NAME, that is + the string value "ROOT" (case insensitive), then the root logger of the + underlying logging system is returned. + +

Null-valued name arguments are considered invalid. + +

Certain extremely simple logging systems, e.g. NOP, may always + return the same logger instance regardless of the requested name. +

+

+
Specified by:
getLogger in interface ILoggerFactory
+
+
+
Parameters:
name - the name of the Logger to return +
Returns:
a Logger instance
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/NOPMDCAdapter.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/NOPMDCAdapter.html new file mode 100644 index 0000000..d52508a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/NOPMDCAdapter.html @@ -0,0 +1,421 @@ + + + + + + + +NOPMDCAdapter (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.helpers +
+Class NOPMDCAdapter

+
+java.lang.Object
+  extended by org.slf4j.helpers.NOPMDCAdapter
+
+
+
All Implemented Interfaces:
MDCAdapter
+
+
+
+
public class NOPMDCAdapter
extends Object
implements MDCAdapter
+ + +

+This adapter is an empty implementation of the MDCAdapter interface. + It is used for all logging systems which do not support mapped + diagnostic contexts such as JDK14, simple and NOP. +

+ +

+

+
Since:
+
1.4.1
+
Author:
+
Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + +
+Constructor Summary
NOPMDCAdapter() + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidclear() + +
+          Clear all entries in the MDC.
+ Stringget(String key) + +
+          Get the context identified by the key parameter.
+ MapgetCopyOfContextMap() + +
+          Return a copy of the current thread's context map, with keys and + values of type String.
+ voidput(String key, + String val) + +
+          Put a context value (the val parameter) as identified with + the key parameter into the current thread's context map.
+ voidremove(String key) + +
+          Remove the the context identified by the key parameter.
+ voidsetContextMap(Map contextMap) + +
+          Set the current thread's context map by first clearing any existing + map and then copying the map passed as parameter.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+NOPMDCAdapter

+
+public NOPMDCAdapter()
+
+
+ + + + + + + + +
+Method Detail
+ +

+clear

+
+public void clear()
+
+
Description copied from interface: MDCAdapter
+
Clear all entries in the MDC. +

+

+
Specified by:
clear in interface MDCAdapter
+
+
+
+
+
+
+ +

+get

+
+public String get(String key)
+
+
Description copied from interface: MDCAdapter
+
Get the context identified by the key parameter. + The key parameter cannot be null. +

+

+
Specified by:
get in interface MDCAdapter
+
+
+ +
Returns:
the string value identified by the key parameter.
+
+
+
+ +

+put

+
+public void put(String key,
+                String val)
+
+
Description copied from interface: MDCAdapter
+
Put a context value (the val parameter) as identified with + the key parameter into the current thread's context map. + The key parameter cannot be null. The code>val parameter + can be null only if the underlying implementation supports it. + +

If the current thread does not have a context map it is created as a side + effect of this call. +

+

+
Specified by:
put in interface MDCAdapter
+
+
+
+
+
+
+ +

+remove

+
+public void remove(String key)
+
+
Description copied from interface: MDCAdapter
+
Remove the the context identified by the key parameter. + The key parameter cannot be null. + +

+ This method does nothing if there is no previous value + associated with key. +

+

+
Specified by:
remove in interface MDCAdapter
+
+
+
+
+
+
+ +

+getCopyOfContextMap

+
+public Map getCopyOfContextMap()
+
+
Description copied from interface: MDCAdapter
+
Return a copy of the current thread's context map, with keys and + values of type String. Returned value may be null. +

+

+
Specified by:
getCopyOfContextMap in interface MDCAdapter
+
+
+ +
Returns:
A copy of the current thread's context map. May be null.
+
+
+
+ +

+setContextMap

+
+public void setContextMap(Map contextMap)
+
+
Description copied from interface: MDCAdapter
+
Set the current thread's context map by first clearing any existing + map and then copying the map passed as parameter. The context map + parameter must only contain keys and values of type String. +

+

+
Specified by:
setContextMap in interface MDCAdapter
+
+
+
Parameters:
contextMap - must contain only keys and values of type String
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/SubstituteLoggerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/SubstituteLoggerFactory.html new file mode 100644 index 0000000..b7f7d56 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/SubstituteLoggerFactory.html @@ -0,0 +1,310 @@ + + + + + + + +SubstituteLoggerFactory (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.helpers +
+Class SubstituteLoggerFactory

+
+java.lang.Object
+  extended by org.slf4j.helpers.SubstituteLoggerFactory
+
+
+
All Implemented Interfaces:
ILoggerFactory
+
+
+
+
public class SubstituteLoggerFactory
extends Object
implements ILoggerFactory
+ + +

+SubstituteLoggerFactory is an trivial implementation of + ILoggerFactory which always returns the unique instance of NOPLogger. + +

+ It used as a temporary substitute for the real ILoggerFactory during its + auto-configuration which may re-enter LoggerFactory to obtain logger + instances. See also http://bugzilla.slf4j.org/show_bug.cgi?id=106 +

+ +

+

+
Author:
+
Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + +
+Constructor Summary
SubstituteLoggerFactory() + +
+           
+  + + + + + + + + + + + + + + + +
+Method Summary
+ LoggergetLogger(String name) + +
+          Return an appropriate Logger instance as specified by the + name parameter.
+ ListgetLoggerNameList() + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+SubstituteLoggerFactory

+
+public SubstituteLoggerFactory()
+
+
+ + + + + + + + +
+Method Detail
+ +

+getLogger

+
+public Logger getLogger(String name)
+
+
Description copied from interface: ILoggerFactory
+
Return an appropriate Logger instance as specified by the + name parameter. + +

If the name parameter is equal to Logger.ROOT_LOGGER_NAME, that is + the string value "ROOT" (case insensitive), then the root logger of the + underlying logging system is returned. + +

Null-valued name arguments are considered invalid. + +

Certain extremely simple logging systems, e.g. NOP, may always + return the same logger instance regardless of the requested name. +

+

+
Specified by:
getLogger in interface ILoggerFactory
+
+
+
Parameters:
name - the name of the Logger to return +
Returns:
a Logger instance
+
+
+
+ +

+getLoggerNameList

+
+public List getLoggerNameList()
+
+
+
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/Util.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/Util.html new file mode 100644 index 0000000..a50b5b2 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/Util.html @@ -0,0 +1,282 @@ + + + + + + + +Util (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.helpers +
+Class Util

+
+java.lang.Object
+  extended by org.slf4j.helpers.Util
+
+
+
+
public class Util
extends Object
+ + +

+An internal utility class. +

+ +

+

+
Author:
+
Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + +
+Constructor Summary
Util() + +
+           
+  + + + + + + + + + + + + + + + +
+Method Summary
+static voidreport(String msg) + +
+           
+static voidreport(String msg, + Throwable t) + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+Util

+
+public Util()
+
+
+ + + + + + + + +
+Method Detail
+ +

+report

+
+public static final void report(String msg,
+                                Throwable t)
+
+
+
+
+
+
+ +

+report

+
+public static final void report(String msg)
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/class-use/BasicMDCAdapter.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/class-use/BasicMDCAdapter.html new file mode 100644 index 0000000..6130649 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/class-use/BasicMDCAdapter.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.helpers.BasicMDCAdapter (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.helpers.BasicMDCAdapter

+
+No usage of org.slf4j.helpers.BasicMDCAdapter +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/class-use/BasicMarker.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/class-use/BasicMarker.html new file mode 100644 index 0000000..ca1dd05 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/class-use/BasicMarker.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.helpers.BasicMarker (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.helpers.BasicMarker

+
+No usage of org.slf4j.helpers.BasicMarker +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/class-use/BasicMarkerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/class-use/BasicMarkerFactory.html new file mode 100644 index 0000000..a4c4c5a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/class-use/BasicMarkerFactory.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.helpers.BasicMarkerFactory (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.helpers.BasicMarkerFactory

+
+No usage of org.slf4j.helpers.BasicMarkerFactory +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/class-use/FormattingTuple.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/class-use/FormattingTuple.html new file mode 100644 index 0000000..f2456fa --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/class-use/FormattingTuple.html @@ -0,0 +1,221 @@ + + + + + + + +Uses of Class org.slf4j.helpers.FormattingTuple (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.helpers.FormattingTuple

+
+ + + + + + + + + +
+Packages that use FormattingTuple
org.slf4j.helpersHelper classes. 
+  +

+ + + + + +
+Uses of FormattingTuple in org.slf4j.helpers
+  +

+ + + + + + + + + +
Fields in org.slf4j.helpers declared as FormattingTuple
+static FormattingTupleFormattingTuple.NULL + +
+           
+  +

+ + + + + + + + + + + + + + + + + +
Methods in org.slf4j.helpers that return FormattingTuple
+static FormattingTupleMessageFormatter.arrayFormat(String messagePattern, + Object[] argArray) + +
+          Same principle as the MessageFormatter.format(String, Object) and + MessageFormatter.format(String, Object, Object) methods except that any number of + arguments can be passed in an array.
+static FormattingTupleMessageFormatter.format(String messagePattern, + Object arg) + +
+          Performs single argument substitution for the 'messagePattern' passed as + parameter.
+static FormattingTupleMessageFormatter.format(String messagePattern, + Object arg1, + Object arg2) + +
+          Performs a two argument substitution for the 'messagePattern' passed as + parameter.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/class-use/MarkerIgnoringBase.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/class-use/MarkerIgnoringBase.html new file mode 100644 index 0000000..9b642de --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/class-use/MarkerIgnoringBase.html @@ -0,0 +1,238 @@ + + + + + + + +Uses of Class org.slf4j.helpers.MarkerIgnoringBase (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.helpers.MarkerIgnoringBase

+
+ + + + + + + + + + + + + +
+Packages that use MarkerIgnoringBase
org.slf4j.helpersHelper classes. 
org.slf4j.implImplementations of core logging interfaces defined in the org.slf4j package. 
+  +

+ + + + + +
+Uses of MarkerIgnoringBase in org.slf4j.helpers
+  +

+ + + + + + + + + +
Subclasses of MarkerIgnoringBase in org.slf4j.helpers
+ classNOPLogger + +
+          A direct NOP (no operation) implementation of Logger.
+  +

+ + + + + +
+Uses of MarkerIgnoringBase in org.slf4j.impl
+  +

+ + + + + + + + + + + + + + + + + + + + + +
Subclasses of MarkerIgnoringBase in org.slf4j.impl
+ classJCLLoggerAdapter + +
+          A wrapper over org.apache.commons.logging.Log in conformance with the Logger + interface.
+ classJDK14LoggerAdapter + +
+          A wrapper over java.util.logging.Logger in + conformity with the Logger interface.
+ classLog4jLoggerAdapter + +
+          A wrapper over org.apache.log4j.Logger in + conforming to the Logger interface.
+ classSimpleLogger + +
+          Simple implementation of Logger that sends all enabled log messages, + for all defined loggers, to the console (System.err).
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/class-use/MessageFormatter.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/class-use/MessageFormatter.html new file mode 100644 index 0000000..e21c1ed --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/class-use/MessageFormatter.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.helpers.MessageFormatter (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.helpers.MessageFormatter

+
+No usage of org.slf4j.helpers.MessageFormatter +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/class-use/NOPLogger.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/class-use/NOPLogger.html new file mode 100644 index 0000000..9b4b66a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/class-use/NOPLogger.html @@ -0,0 +1,181 @@ + + + + + + + +Uses of Class org.slf4j.helpers.NOPLogger (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.helpers.NOPLogger

+
+ + + + + + + + + +
+Packages that use NOPLogger
org.slf4j.helpersHelper classes. 
+  +

+ + + + + +
+Uses of NOPLogger in org.slf4j.helpers
+  +

+ + + + + + + + + +
Fields in org.slf4j.helpers declared as NOPLogger
+static NOPLoggerNOPLogger.NOP_LOGGER + +
+          The unique instance of NOPLogger.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/class-use/NOPLoggerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/class-use/NOPLoggerFactory.html new file mode 100644 index 0000000..22c9c3c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/class-use/NOPLoggerFactory.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.helpers.NOPLoggerFactory (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.helpers.NOPLoggerFactory

+
+No usage of org.slf4j.helpers.NOPLoggerFactory +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/class-use/NOPMDCAdapter.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/class-use/NOPMDCAdapter.html new file mode 100644 index 0000000..bc184d5 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/class-use/NOPMDCAdapter.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.helpers.NOPMDCAdapter (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.helpers.NOPMDCAdapter

+
+No usage of org.slf4j.helpers.NOPMDCAdapter +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/class-use/SubstituteLoggerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/class-use/SubstituteLoggerFactory.html new file mode 100644 index 0000000..2cee0d9 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/class-use/SubstituteLoggerFactory.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.helpers.SubstituteLoggerFactory (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.helpers.SubstituteLoggerFactory

+
+No usage of org.slf4j.helpers.SubstituteLoggerFactory +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/class-use/Util.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/class-use/Util.html new file mode 100644 index 0000000..1973de1 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/class-use/Util.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.helpers.Util (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.helpers.Util

+
+No usage of org.slf4j.helpers.Util +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/package-frame.html new file mode 100644 index 0000000..fa48db7 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/package-frame.html @@ -0,0 +1,53 @@ + + + + + + + +org.slf4j.helpers (SLF4J 1.7.5 API) + + + + + + + + + + + +org.slf4j.helpers + + + + +
+Classes  + +
+BasicMarker +
+BasicMarkerFactory +
+BasicMDCAdapter +
+FormattingTuple +
+MarkerIgnoringBase +
+MessageFormatter +
+NOPLogger +
+NOPLoggerFactory +
+NOPMDCAdapter +
+SubstituteLoggerFactory +
+Util
+ + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/package-summary.html new file mode 100644 index 0000000..b843839 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/package-summary.html @@ -0,0 +1,220 @@ + + + + + + + +org.slf4j.helpers (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+

+Package org.slf4j.helpers +

+Helper classes. +

+See: +
+          Description +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class Summary
BasicMarkerA simple implementation of the Marker interface.
BasicMarkerFactoryAn almost trivial implementation of the IMarkerFactory + interface which creates BasicMarker instances.
BasicMDCAdapterBasic MDC implementation, which can be used with logging systems that lack + out-of-the-box MDC support.
FormattingTupleHolds the results of formatting done by MessageFormatter.
MarkerIgnoringBaseThis class serves as base for adapters or native implementations of logging systems + lacking Marker support.
MessageFormatterFormats messages according to very simple substitution rules.
NOPLoggerA direct NOP (no operation) implementation of Logger.
NOPLoggerFactoryNOPLoggerFactory is an trivial implementation of ILoggerFactory which always returns the unique instance of + NOPLogger.
NOPMDCAdapterThis adapter is an empty implementation of the MDCAdapter interface.
SubstituteLoggerFactorySubstituteLoggerFactory is an trivial implementation of + ILoggerFactory which always returns the unique instance of NOPLogger.
UtilAn internal utility class.
+  + +

+

+Package org.slf4j.helpers Description +

+ +

+

Helper classes.

+ +
+

+ +

+

+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/package-tree.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/package-tree.html new file mode 100644 index 0000000..074759a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/package-tree.html @@ -0,0 +1,163 @@ + + + + + + + +org.slf4j.helpers Class Hierarchy (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For Package org.slf4j.helpers +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/package-use.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/package-use.html new file mode 100644 index 0000000..dd2768a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/helpers/package-use.html @@ -0,0 +1,204 @@ + + + + + + + +Uses of Package org.slf4j.helpers (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Package
org.slf4j.helpers

+
+ + + + + + + + + + + + + +
+Packages that use org.slf4j.helpers
org.slf4j.helpersHelper classes. 
org.slf4j.implImplementations of core logging interfaces defined in the org.slf4j package. 
+  +

+ + + + + + + + + + + + + + +
+Classes in org.slf4j.helpers used by org.slf4j.helpers
FormattingTuple + +
+          Holds the results of formatting done by MessageFormatter.
MarkerIgnoringBase + +
+          This class serves as base for adapters or native implementations of logging systems + lacking Marker support.
NOPLogger + +
+          A direct NOP (no operation) implementation of Logger.
+  +

+ + + + + + + + +
+Classes in org.slf4j.helpers used by org.slf4j.impl
MarkerIgnoringBase + +
+          This class serves as base for adapters or native implementations of logging systems + lacking Marker support.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/JCLLoggerAdapter.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/JCLLoggerAdapter.html new file mode 100644 index 0000000..5896731 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/JCLLoggerAdapter.html @@ -0,0 +1,1165 @@ + + + + + + + +JCLLoggerAdapter (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.impl +
+Class JCLLoggerAdapter

+
+java.lang.Object
+  extended by org.slf4j.helpers.MarkerIgnoringBase
+      extended by org.slf4j.impl.JCLLoggerAdapter
+
+
+
All Implemented Interfaces:
Serializable, Logger
+
+
+
+
public final class JCLLoggerAdapter
extends MarkerIgnoringBase
+ + +

+A wrapper over org.apache.commons.logging.Log in conformance with the Logger + interface. +

+ +

+

+
Author:
+
Ceki Gülcü
+
See Also:
Serialized Form
+
+ +

+ + + + + + + + + + + +
+Field Summary
+protected  Stringname + +
+           
+ + + + + + + +
Fields inherited from interface org.slf4j.Logger
ROOT_LOGGER_NAME
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voiddebug(String msg) + +
+          Delegates to the Log.debug(java.lang.Object) method of the underlying + Log instance.
+ voiddebug(String format, + Object... arguments) + +
+          Delegates to the Log.debug(java.lang.Object) method of the underlying + Log instance.
+ voiddebug(String format, + Object arg) + +
+          Delegates to the Log.debug(java.lang.Object) method of the underlying + Log instance.
+ voiddebug(String format, + Object arg1, + Object arg2) + +
+          Delegates to the Log.debug(java.lang.Object) method of the underlying + Log instance.
+ voiddebug(String msg, + Throwable t) + +
+          Delegates to the Log.debug(java.lang.Object, java.lang.Throwable) method of + the underlying Log instance.
+ voiderror(String msg) + +
+          Delegates to the Log.error(java.lang.Object) method of the underlying + Log instance.
+ voiderror(String format, + Object... arguments) + +
+          Delegates to the Log.error(java.lang.Object) method of the underlying + Log instance.
+ voiderror(String format, + Object arg) + +
+          Delegates to the Log.error(java.lang.Object) method of the underlying + Log instance.
+ voiderror(String format, + Object arg1, + Object arg2) + +
+          Delegates to the Log.error(java.lang.Object) method of the underlying + Log instance.
+ voiderror(String msg, + Throwable t) + +
+          Delegates to the Log.error(java.lang.Object, java.lang.Throwable) method of + the underlying Log instance.
+ StringgetName() + +
+          Return the name of this Logger instance.
+ voidinfo(String msg) + +
+          Delegates to the Log.debug(java.lang.Object) method of the underlying + Log instance.
+ voidinfo(String format, + Object... arguments) + +
+          Delegates to the Log.info(java.lang.Object) method of the underlying + Log instance.
+ voidinfo(String format, + Object arg) + +
+          Delegates to the Log.info(java.lang.Object) method of the underlying + Log instance.
+ voidinfo(String format, + Object arg1, + Object arg2) + +
+          Delegates to the Log.info(java.lang.Object) method of the underlying + Log instance.
+ voidinfo(String msg, + Throwable t) + +
+          Delegates to the Log.info(java.lang.Object, java.lang.Throwable) method of + the underlying Log instance.
+ booleanisDebugEnabled() + +
+          Delegates to the Log.isDebugEnabled() method of the underlying + Log instance.
+ booleanisErrorEnabled() + +
+          Delegates to the Log.isErrorEnabled() method of the underlying + Log instance.
+ booleanisInfoEnabled() + +
+          Delegates to the Log.isInfoEnabled() method of the underlying + Log instance.
+ booleanisTraceEnabled() + +
+          Delegates to the Log.isTraceEnabled() method of the underlying + Log instance.
+ booleanisWarnEnabled() + +
+          Delegates to the Log.isWarnEnabled() method of the underlying + Log instance.
+protected  ObjectreadResolve() + +
+          Replace this instance with a homonymous (same name) logger returned + by LoggerFactory.
+ voidtrace(String msg) + +
+          Delegates to the Log.trace(java.lang.Object) method of the underlying + Log instance.
+ voidtrace(String format, + Object... arguments) + +
+          Delegates to the Log.trace(java.lang.Object) method of the underlying + Log instance.
+ voidtrace(String format, + Object arg) + +
+          Delegates to the Log.trace(java.lang.Object) method of the underlying + Log instance.
+ voidtrace(String format, + Object arg1, + Object arg2) + +
+          Delegates to the Log.trace(java.lang.Object) method of the underlying + Log instance.
+ voidtrace(String msg, + Throwable t) + +
+          Delegates to the Log.trace(java.lang.Object, java.lang.Throwable) method of + the underlying Log instance.
+ voidwarn(String msg) + +
+          Delegates to the Log.warn(java.lang.Object) method of the underlying + Log instance.
+ voidwarn(String format, + Object... arguments) + +
+          Delegates to the Log.warn(java.lang.Object) method of the underlying + Log instance.
+ voidwarn(String format, + Object arg) + +
+          Delegates to the Log.warn(java.lang.Object) method of the underlying + Log instance.
+ voidwarn(String format, + Object arg1, + Object arg2) + +
+          Delegates to the Log.warn(java.lang.Object) method of the underlying + Log instance.
+ voidwarn(String msg, + Throwable t) + +
+          Delegates to the Log.warn(java.lang.Object, java.lang.Throwable) method of + the underlying Log instance.
+ + + + + + + +
Methods inherited from class org.slf4j.helpers.MarkerIgnoringBase
debug, debug, debug, debug, debug, error, error, error, error, error, info, info, info, info, info, isDebugEnabled, isErrorEnabled, isInfoEnabled, isTraceEnabled, isWarnEnabled, toString, trace, trace, trace, trace, trace, warn, warn, warn, warn, warn
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+ + + + + + + +
Methods inherited from interface org.slf4j.Logger
getName
+  +

+ + + + + + + + +
+Field Detail
+ +

+name

+
+protected String name
+
+
+
+
+ + + + + + + + +
+Method Detail
+ +

+isTraceEnabled

+
+public boolean isTraceEnabled()
+
+
Delegates to the Log.isTraceEnabled() method of the underlying + Log instance. +

+

+ +
Returns:
True if this Logger is enabled for the TRACE level, + false otherwise.
+
+
+
+ +

+trace

+
+public void trace(String msg)
+
+
Delegates to the Log.trace(java.lang.Object) method of the underlying + Log instance. +

+

+
Parameters:
msg - - the message object to be logged
+
+
+
+ +

+trace

+
+public void trace(String format,
+                  Object arg)
+
+
Delegates to the Log.trace(java.lang.Object) method of the underlying + Log instance. + +

+ However, this form avoids superfluous object creation when the logger is disabled + for level TRACE. +

+

+

+
Parameters:
format - the format string
arg - the argument
+
+
+
+ +

+trace

+
+public void trace(String format,
+                  Object arg1,
+                  Object arg2)
+
+
Delegates to the Log.trace(java.lang.Object) method of the underlying + Log instance. + +

+ However, this form avoids superfluous object creation when the logger is disabled + for level TRACE. +

+

+

+
Parameters:
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+trace

+
+public void trace(String format,
+                  Object... arguments)
+
+
Delegates to the Log.trace(java.lang.Object) method of the underlying + Log instance. + +

+ However, this form avoids superfluous object creation when the logger is disabled + for level TRACE. +

+

+

+
Parameters:
format - the format string
arguments - a list of 3 or more arguments
+
+
+
+ +

+trace

+
+public void trace(String msg,
+                  Throwable t)
+
+
Delegates to the Log.trace(java.lang.Object, java.lang.Throwable) method of + the underlying Log instance. +

+

+
Parameters:
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+isDebugEnabled

+
+public boolean isDebugEnabled()
+
+
Delegates to the Log.isDebugEnabled() method of the underlying + Log instance. +

+

+ +
Returns:
True if this Logger is enabled for the DEBUG level, + false otherwise.
+
+
+
+ +

+debug

+
+public void debug(String msg)
+
+
Delegates to the Log.debug(java.lang.Object) method of the underlying + Log instance. +

+

+
Parameters:
msg - - the message object to be logged
+
+
+
+ +

+debug

+
+public void debug(String format,
+                  Object arg)
+
+
Delegates to the Log.debug(java.lang.Object) method of the underlying + Log instance. + +

+ However, this form avoids superfluous object creation when the logger is disabled + for level DEBUG. +

+

+

+
Parameters:
format - the format string
arg - the argument
+
+
+
+ +

+debug

+
+public void debug(String format,
+                  Object arg1,
+                  Object arg2)
+
+
Delegates to the Log.debug(java.lang.Object) method of the underlying + Log instance. + +

+ However, this form avoids superfluous object creation when the logger is disabled + for level DEBUG. +

+

+

+
Parameters:
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+debug

+
+public void debug(String format,
+                  Object... arguments)
+
+
Delegates to the Log.debug(java.lang.Object) method of the underlying + Log instance. + +

+ However, this form avoids superfluous object creation when the logger is disabled + for level DEBUG. +

+

+

+
Parameters:
format - the format string
arguments - a list of 3 or more arguments
+
+
+
+ +

+debug

+
+public void debug(String msg,
+                  Throwable t)
+
+
Delegates to the Log.debug(java.lang.Object, java.lang.Throwable) method of + the underlying Log instance. +

+

+
Parameters:
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+isInfoEnabled

+
+public boolean isInfoEnabled()
+
+
Delegates to the Log.isInfoEnabled() method of the underlying + Log instance. +

+

+ +
Returns:
True if this Logger is enabled for the INFO level, + false otherwise.
+
+
+
+ +

+info

+
+public void info(String msg)
+
+
Delegates to the Log.debug(java.lang.Object) method of the underlying + Log instance. +

+

+
Parameters:
msg - - the message object to be logged
+
+
+
+ +

+info

+
+public void info(String format,
+                 Object arg)
+
+
Delegates to the Log.info(java.lang.Object) method of the underlying + Log instance. + +

+ However, this form avoids superfluous object creation when the logger is disabled + for level INFO. +

+

+

+
Parameters:
format - the format string
arg - the argument
+
+
+
+ +

+info

+
+public void info(String format,
+                 Object arg1,
+                 Object arg2)
+
+
Delegates to the Log.info(java.lang.Object) method of the underlying + Log instance. + +

+ However, this form avoids superfluous object creation when the logger is disabled + for level INFO. +

+

+

+
Parameters:
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+info

+
+public void info(String format,
+                 Object... arguments)
+
+
Delegates to the Log.info(java.lang.Object) method of the underlying + Log instance. + +

+ However, this form avoids superfluous object creation when the logger is disabled + for level INFO. +

+

+

+
Parameters:
format - the format string
arguments - a list of 3 or more arguments
+
+
+
+ +

+info

+
+public void info(String msg,
+                 Throwable t)
+
+
Delegates to the Log.info(java.lang.Object, java.lang.Throwable) method of + the underlying Log instance. +

+

+
Parameters:
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+isWarnEnabled

+
+public boolean isWarnEnabled()
+
+
Delegates to the Log.isWarnEnabled() method of the underlying + Log instance. +

+

+ +
Returns:
True if this Logger is enabled for the WARN level, + false otherwise.
+
+
+
+ +

+warn

+
+public void warn(String msg)
+
+
Delegates to the Log.warn(java.lang.Object) method of the underlying + Log instance. +

+

+
Parameters:
msg - - the message object to be logged
+
+
+
+ +

+warn

+
+public void warn(String format,
+                 Object arg)
+
+
Delegates to the Log.warn(java.lang.Object) method of the underlying + Log instance. + +

+ However, this form avoids superfluous object creation when the logger is disabled + for level WARN. +

+

+

+
Parameters:
format - the format string
arg - the argument
+
+
+
+ +

+warn

+
+public void warn(String format,
+                 Object arg1,
+                 Object arg2)
+
+
Delegates to the Log.warn(java.lang.Object) method of the underlying + Log instance. + +

+ However, this form avoids superfluous object creation when the logger is disabled + for level WARN. +

+

+

+
Parameters:
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+warn

+
+public void warn(String format,
+                 Object... arguments)
+
+
Delegates to the Log.warn(java.lang.Object) method of the underlying + Log instance. + +

+ However, this form avoids superfluous object creation when the logger is disabled + for level WARN. +

+

+

+
Parameters:
format - the format string
arguments - a list of 3 or more arguments
+
+
+
+ +

+warn

+
+public void warn(String msg,
+                 Throwable t)
+
+
Delegates to the Log.warn(java.lang.Object, java.lang.Throwable) method of + the underlying Log instance. +

+

+
Parameters:
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+isErrorEnabled

+
+public boolean isErrorEnabled()
+
+
Delegates to the Log.isErrorEnabled() method of the underlying + Log instance. +

+

+ +
Returns:
True if this Logger is enabled for the ERROR level, + false otherwise.
+
+
+
+ +

+error

+
+public void error(String msg)
+
+
Delegates to the Log.error(java.lang.Object) method of the underlying + Log instance. +

+

+
Parameters:
msg - - the message object to be logged
+
+
+
+ +

+error

+
+public void error(String format,
+                  Object arg)
+
+
Delegates to the Log.error(java.lang.Object) method of the underlying + Log instance. + +

+ However, this form avoids superfluous object creation when the logger is disabled + for level ERROR. +

+

+

+
Parameters:
format - the format string
arg - the argument
+
+
+
+ +

+error

+
+public void error(String format,
+                  Object arg1,
+                  Object arg2)
+
+
Delegates to the Log.error(java.lang.Object) method of the underlying + Log instance. + +

+ However, this form avoids superfluous object creation when the logger is disabled + for level ERROR. +

+

+

+
Parameters:
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+error

+
+public void error(String format,
+                  Object... arguments)
+
+
Delegates to the Log.error(java.lang.Object) method of the underlying + Log instance. + +

+ However, this form avoids superfluous object creation when the logger is disabled + for level ERROR. +

+

+

+
Parameters:
format - the format string
arguments - a list of 3 or more arguments
+
+
+
+ +

+error

+
+public void error(String msg,
+                  Throwable t)
+
+
Delegates to the Log.error(java.lang.Object, java.lang.Throwable) method of + the underlying Log instance. +

+

+
Parameters:
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+getName

+
+public String getName()
+
+
Description copied from interface: Logger
+
Return the name of this Logger instance. +

+

+
Specified by:
getName in interface Logger
+
+
+ +
Returns:
name of this logger instance
+
+
+
+ +

+readResolve

+
+protected Object readResolve()
+                      throws ObjectStreamException
+
+
Replace this instance with a homonymous (same name) logger returned + by LoggerFactory. Note that this method is only called during + deserialization. + +

+ This approach will work well if the desired ILoggerFactory is the one + references by LoggerFactory. However, if the user manages its logger hierarchy + through a different (non-static) mechanism, e.g. dependency injection, then + this approach would be mostly counterproductive. +

+

+
+
+
+ +
Returns:
logger with same name as returned by LoggerFactory +
Throws: +
ObjectStreamException
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/JCLLoggerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/JCLLoggerFactory.html new file mode 100644 index 0000000..60730f2 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/JCLLoggerFactory.html @@ -0,0 +1,283 @@ + + + + + + + +JCLLoggerFactory (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.impl +
+Class JCLLoggerFactory

+
+java.lang.Object
+  extended by org.slf4j.impl.JCLLoggerFactory
+
+
+
All Implemented Interfaces:
ILoggerFactory
+
+
+
+
public class JCLLoggerFactory
extends Object
implements ILoggerFactory
+ + +

+JCLLoggerFactory is an implementation of ILoggerFactory returning the + appropriately named JCLLoggerAdapter instance. +

+ +

+

+
Author:
+
Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + +
+Constructor Summary
JCLLoggerFactory() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+ LoggergetLogger(String name) + +
+          Return an appropriate Logger instance as specified by the + name parameter.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+JCLLoggerFactory

+
+public JCLLoggerFactory()
+
+
+ + + + + + + + +
+Method Detail
+ +

+getLogger

+
+public Logger getLogger(String name)
+
+
Description copied from interface: ILoggerFactory
+
Return an appropriate Logger instance as specified by the + name parameter. + +

If the name parameter is equal to Logger.ROOT_LOGGER_NAME, that is + the string value "ROOT" (case insensitive), then the root logger of the + underlying logging system is returned. + +

Null-valued name arguments are considered invalid. + +

Certain extremely simple logging systems, e.g. NOP, may always + return the same logger instance regardless of the requested name. +

+

+
Specified by:
getLogger in interface ILoggerFactory
+
+
+
Parameters:
name - the name of the Logger to return +
Returns:
a Logger instance
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/JDK14LoggerAdapter.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/JDK14LoggerAdapter.html new file mode 100644 index 0000000..a95d10e --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/JDK14LoggerAdapter.html @@ -0,0 +1,1270 @@ + + + + + + + +JDK14LoggerAdapter (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.impl +
+Class JDK14LoggerAdapter

+
+java.lang.Object
+  extended by org.slf4j.helpers.MarkerIgnoringBase
+      extended by org.slf4j.impl.JDK14LoggerAdapter
+
+
+
All Implemented Interfaces:
Serializable, Logger, LocationAwareLogger
+
+
+
+
public final class JDK14LoggerAdapter
extends MarkerIgnoringBase
implements LocationAwareLogger
+ + +

+A wrapper over java.util.logging.Logger in + conformity with the Logger interface. Note that the logging levels + mentioned in this class refer to those defined in the java.util.logging + package. +

+ +

+

+
Author:
+
Ceki Gülcü, Peter Royal
+
See Also:
Serialized Form
+
+ +

+ + + + + + + + + + + +
+Field Summary
+protected  Stringname + +
+           
+ + + + + + + +
Fields inherited from interface org.slf4j.spi.LocationAwareLogger
DEBUG_INT, ERROR_INT, INFO_INT, TRACE_INT, WARN_INT
+ + + + + + + +
Fields inherited from interface org.slf4j.Logger
ROOT_LOGGER_NAME
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voiddebug(String msg) + +
+          Log a message object at level FINE.
+ voiddebug(String format, + Object... argArray) + +
+          Log a message at level FINE according to the specified format and + arguments.
+ voiddebug(String format, + Object arg) + +
+          Log a message at level FINE according to the specified format and argument.
+ voiddebug(String format, + Object arg1, + Object arg2) + +
+          Log a message at level FINE according to the specified format and + arguments.
+ voiddebug(String msg, + Throwable t) + +
+          Log an exception (throwable) at level FINE with an accompanying message.
+ voiderror(String msg) + +
+          Log a message object at the SEVERE level.
+ voiderror(String format, + Object... arguments) + +
+          Log a message at level SEVERE according to the specified format and + arguments.
+ voiderror(String format, + Object arg) + +
+          Log a message at the SEVERE level according to the specified format and + argument.
+ voiderror(String format, + Object arg1, + Object arg2) + +
+          Log a message at the SEVERE level according to the specified format and + arguments.
+ voiderror(String msg, + Throwable t) + +
+          Log an exception (throwable) at the SEVERE level with an accompanying + message.
+ StringgetName() + +
+          Return the name of this Logger instance.
+ voidinfo(String msg) + +
+          Log a message object at the INFO level.
+ voidinfo(String format, + Object... argArray) + +
+          Log a message at level INFO according to the specified format and + arguments.
+ voidinfo(String format, + Object arg) + +
+          Log a message at level INFO according to the specified format and argument.
+ voidinfo(String format, + Object arg1, + Object arg2) + +
+          Log a message at the INFO level according to the specified format and + arguments.
+ voidinfo(String msg, + Throwable t) + +
+          Log an exception (throwable) at the INFO level with an accompanying + message.
+ booleanisDebugEnabled() + +
+          Is this logger instance enabled for the FINE level?
+ booleanisErrorEnabled() + +
+          Is this logger instance enabled for level SEVERE?
+ booleanisInfoEnabled() + +
+          Is this logger instance enabled for the INFO level?
+ booleanisTraceEnabled() + +
+          Is this logger instance enabled for the FINEST level?
+ booleanisWarnEnabled() + +
+          Is this logger instance enabled for the WARNING level?
+ voidlog(Marker marker, + String callerFQCN, + int level, + String message, + Object[] argArray, + Throwable t) + +
+          Printing method with support for location information.
+protected  ObjectreadResolve() + +
+          Replace this instance with a homonymous (same name) logger returned + by LoggerFactory.
+ voidtrace(String msg) + +
+          Log a message object at level FINEST.
+ voidtrace(String format, + Object... argArray) + +
+          Log a message at level FINEST according to the specified format and + arguments.
+ voidtrace(String format, + Object arg) + +
+          Log a message at level FINEST according to the specified format and + argument.
+ voidtrace(String format, + Object arg1, + Object arg2) + +
+          Log a message at level FINEST according to the specified format and + arguments.
+ voidtrace(String msg, + Throwable t) + +
+          Log an exception (throwable) at level FINEST with an accompanying message.
+ voidwarn(String msg) + +
+          Log a message object at the WARNING level.
+ voidwarn(String format, + Object... argArray) + +
+          Log a message at level WARNING according to the specified format and + arguments.
+ voidwarn(String format, + Object arg) + +
+          Log a message at the WARNING level according to the specified format and + argument.
+ voidwarn(String format, + Object arg1, + Object arg2) + +
+          Log a message at the WARNING level according to the specified format and + arguments.
+ voidwarn(String msg, + Throwable t) + +
+          Log an exception (throwable) at the WARNING level with an accompanying + message.
+ + + + + + + +
Methods inherited from class org.slf4j.helpers.MarkerIgnoringBase
debug, debug, debug, debug, debug, error, error, error, error, error, info, info, info, info, info, isDebugEnabled, isErrorEnabled, isInfoEnabled, isTraceEnabled, isWarnEnabled, toString, trace, trace, trace, trace, trace, warn, warn, warn, warn, warn
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+ + + + + + + +
Methods inherited from interface org.slf4j.Logger
debug, debug, debug, debug, debug, error, error, error, error, error, getName, info, info, info, info, info, isDebugEnabled, isErrorEnabled, isInfoEnabled, isTraceEnabled, isWarnEnabled, trace, trace, trace, trace, trace, warn, warn, warn, warn, warn
+  +

+ + + + + + + + +
+Field Detail
+ +

+name

+
+protected String name
+
+
+
+
+ + + + + + + + +
+Method Detail
+ +

+isTraceEnabled

+
+public boolean isTraceEnabled()
+
+
Is this logger instance enabled for the FINEST level? +

+

+
Specified by:
isTraceEnabled in interface Logger
+
+
+ +
Returns:
True if this Logger is enabled for level FINEST, false otherwise.
+
+
+
+ +

+trace

+
+public void trace(String msg)
+
+
Log a message object at level FINEST. +

+

+
Specified by:
trace in interface Logger
+
+
+
Parameters:
msg - - the message object to be logged
+
+
+
+ +

+trace

+
+public void trace(String format,
+                  Object arg)
+
+
Log a message at level FINEST according to the specified format and + argument. + +

+ This form avoids superfluous object creation when the logger is disabled + for level FINEST. +

+

+

+
Specified by:
trace in interface Logger
+
+
+
Parameters:
format - the format string
arg - the argument
+
+
+
+ +

+trace

+
+public void trace(String format,
+                  Object arg1,
+                  Object arg2)
+
+
Log a message at level FINEST according to the specified format and + arguments. + +

+ This form avoids superfluous object creation when the logger is disabled + for the FINEST level. +

+

+

+
Specified by:
trace in interface Logger
+
+
+
Parameters:
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+trace

+
+public void trace(String format,
+                  Object... argArray)
+
+
Log a message at level FINEST according to the specified format and + arguments. + +

+ This form avoids superfluous object creation when the logger is disabled + for the FINEST level. +

+

+

+
Specified by:
trace in interface Logger
+
+
+
Parameters:
format - the format string
argArray - an array of arguments
+
+
+
+ +

+trace

+
+public void trace(String msg,
+                  Throwable t)
+
+
Log an exception (throwable) at level FINEST with an accompanying message. +

+

+
Specified by:
trace in interface Logger
+
+
+
Parameters:
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+isDebugEnabled

+
+public boolean isDebugEnabled()
+
+
Is this logger instance enabled for the FINE level? +

+

+
Specified by:
isDebugEnabled in interface Logger
+
+
+ +
Returns:
True if this Logger is enabled for level FINE, false otherwise.
+
+
+
+ +

+debug

+
+public void debug(String msg)
+
+
Log a message object at level FINE. +

+

+
Specified by:
debug in interface Logger
+
+
+
Parameters:
msg - - the message object to be logged
+
+
+
+ +

+debug

+
+public void debug(String format,
+                  Object arg)
+
+
Log a message at level FINE according to the specified format and argument. + +

+ This form avoids superfluous object creation when the logger is disabled + for level FINE. +

+

+

+
Specified by:
debug in interface Logger
+
+
+
Parameters:
format - the format string
arg - the argument
+
+
+
+ +

+debug

+
+public void debug(String format,
+                  Object arg1,
+                  Object arg2)
+
+
Log a message at level FINE according to the specified format and + arguments. + +

+ This form avoids superfluous object creation when the logger is disabled + for the FINE level. +

+

+

+
Specified by:
debug in interface Logger
+
+
+
Parameters:
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+debug

+
+public void debug(String format,
+                  Object... argArray)
+
+
Log a message at level FINE according to the specified format and + arguments. + +

+ This form avoids superfluous object creation when the logger is disabled + for the FINE level. +

+

+

+
Specified by:
debug in interface Logger
+
+
+
Parameters:
format - the format string
argArray - an array of arguments
+
+
+
+ +

+debug

+
+public void debug(String msg,
+                  Throwable t)
+
+
Log an exception (throwable) at level FINE with an accompanying message. +

+

+
Specified by:
debug in interface Logger
+
+
+
Parameters:
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+isInfoEnabled

+
+public boolean isInfoEnabled()
+
+
Is this logger instance enabled for the INFO level? +

+

+
Specified by:
isInfoEnabled in interface Logger
+
+
+ +
Returns:
True if this Logger is enabled for the INFO level, false otherwise.
+
+
+
+ +

+info

+
+public void info(String msg)
+
+
Log a message object at the INFO level. +

+

+
Specified by:
info in interface Logger
+
+
+
Parameters:
msg - - the message object to be logged
+
+
+
+ +

+info

+
+public void info(String format,
+                 Object arg)
+
+
Log a message at level INFO according to the specified format and argument. + +

+ This form avoids superfluous object creation when the logger is disabled + for the INFO level. +

+

+

+
Specified by:
info in interface Logger
+
+
+
Parameters:
format - the format string
arg - the argument
+
+
+
+ +

+info

+
+public void info(String format,
+                 Object arg1,
+                 Object arg2)
+
+
Log a message at the INFO level according to the specified format and + arguments. + +

+ This form avoids superfluous object creation when the logger is disabled + for the INFO level. +

+

+

+
Specified by:
info in interface Logger
+
+
+
Parameters:
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+info

+
+public void info(String format,
+                 Object... argArray)
+
+
Log a message at level INFO according to the specified format and + arguments. + +

+ This form avoids superfluous object creation when the logger is disabled + for the INFO level. +

+

+

+
Specified by:
info in interface Logger
+
+
+
Parameters:
format - the format string
argArray - an array of arguments
+
+
+
+ +

+info

+
+public void info(String msg,
+                 Throwable t)
+
+
Log an exception (throwable) at the INFO level with an accompanying + message. +

+

+
Specified by:
info in interface Logger
+
+
+
Parameters:
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+isWarnEnabled

+
+public boolean isWarnEnabled()
+
+
Is this logger instance enabled for the WARNING level? +

+

+
Specified by:
isWarnEnabled in interface Logger
+
+
+ +
Returns:
True if this Logger is enabled for the WARNING level, false + otherwise.
+
+
+
+ +

+warn

+
+public void warn(String msg)
+
+
Log a message object at the WARNING level. +

+

+
Specified by:
warn in interface Logger
+
+
+
Parameters:
msg - - the message object to be logged
+
+
+
+ +

+warn

+
+public void warn(String format,
+                 Object arg)
+
+
Log a message at the WARNING level according to the specified format and + argument. + +

+ This form avoids superfluous object creation when the logger is disabled + for the WARNING level. +

+

+

+
Specified by:
warn in interface Logger
+
+
+
Parameters:
format - the format string
arg - the argument
+
+
+
+ +

+warn

+
+public void warn(String format,
+                 Object arg1,
+                 Object arg2)
+
+
Log a message at the WARNING level according to the specified format and + arguments. + +

+ This form avoids superfluous object creation when the logger is disabled + for the WARNING level. +

+

+

+
Specified by:
warn in interface Logger
+
+
+
Parameters:
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+warn

+
+public void warn(String format,
+                 Object... argArray)
+
+
Log a message at level WARNING according to the specified format and + arguments. + +

+ This form avoids superfluous object creation when the logger is disabled + for the WARNING level. +

+

+

+
Specified by:
warn in interface Logger
+
+
+
Parameters:
format - the format string
argArray - an array of arguments
+
+
+
+ +

+warn

+
+public void warn(String msg,
+                 Throwable t)
+
+
Log an exception (throwable) at the WARNING level with an accompanying + message. +

+

+
Specified by:
warn in interface Logger
+
+
+
Parameters:
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+isErrorEnabled

+
+public boolean isErrorEnabled()
+
+
Is this logger instance enabled for level SEVERE? +

+

+
Specified by:
isErrorEnabled in interface Logger
+
+
+ +
Returns:
True if this Logger is enabled for level SEVERE, false otherwise.
+
+
+
+ +

+error

+
+public void error(String msg)
+
+
Log a message object at the SEVERE level. +

+

+
Specified by:
error in interface Logger
+
+
+
Parameters:
msg - - the message object to be logged
+
+
+
+ +

+error

+
+public void error(String format,
+                  Object arg)
+
+
Log a message at the SEVERE level according to the specified format and + argument. + +

+ This form avoids superfluous object creation when the logger is disabled + for the SEVERE level. +

+

+

+
Specified by:
error in interface Logger
+
+
+
Parameters:
format - the format string
arg - the argument
+
+
+
+ +

+error

+
+public void error(String format,
+                  Object arg1,
+                  Object arg2)
+
+
Log a message at the SEVERE level according to the specified format and + arguments. + +

+ This form avoids superfluous object creation when the logger is disabled + for the SEVERE level. +

+

+

+
Specified by:
error in interface Logger
+
+
+
Parameters:
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+error

+
+public void error(String format,
+                  Object... arguments)
+
+
Log a message at level SEVERE according to the specified format and + arguments. + +

+ This form avoids superfluous object creation when the logger is disabled + for the SEVERE level. +

+

+

+
Specified by:
error in interface Logger
+
+
+
Parameters:
format - the format string
arguments - an array of arguments
+
+
+
+ +

+error

+
+public void error(String msg,
+                  Throwable t)
+
+
Log an exception (throwable) at the SEVERE level with an accompanying + message. +

+

+
Specified by:
error in interface Logger
+
+
+
Parameters:
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+log

+
+public void log(Marker marker,
+                String callerFQCN,
+                int level,
+                String message,
+                Object[] argArray,
+                Throwable t)
+
+
Description copied from interface: LocationAwareLogger
+
Printing method with support for location information. +

+

+
Specified by:
log in interface LocationAwareLogger
+
+
+
Parameters:
marker - The marker to be used for this event, may be null.
callerFQCN - The fully qualified class name of the logger instance, + typically the logger class, logger bridge or a logger wrapper.
level - One of the level integers defined in this interface
message - The message for the log event
t - Throwable associated with the log event, may be null.
+
+
+
+ +

+getName

+
+public String getName()
+
+
Description copied from interface: Logger
+
Return the name of this Logger instance. +

+

+
Specified by:
getName in interface Logger
+
+
+ +
Returns:
name of this logger instance
+
+
+
+ +

+readResolve

+
+protected Object readResolve()
+                      throws ObjectStreamException
+
+
Replace this instance with a homonymous (same name) logger returned + by LoggerFactory. Note that this method is only called during + deserialization. + +

+ This approach will work well if the desired ILoggerFactory is the one + references by LoggerFactory. However, if the user manages its logger hierarchy + through a different (non-static) mechanism, e.g. dependency injection, then + this approach would be mostly counterproductive. +

+

+
+
+
+ +
Returns:
logger with same name as returned by LoggerFactory +
Throws: +
ObjectStreamException
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/JDK14LoggerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/JDK14LoggerFactory.html new file mode 100644 index 0000000..a621716 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/JDK14LoggerFactory.html @@ -0,0 +1,283 @@ + + + + + + + +JDK14LoggerFactory (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.impl +
+Class JDK14LoggerFactory

+
+java.lang.Object
+  extended by org.slf4j.impl.JDK14LoggerFactory
+
+
+
All Implemented Interfaces:
ILoggerFactory
+
+
+
+
public class JDK14LoggerFactory
extends Object
implements ILoggerFactory
+ + +

+JDK14LoggerFactory is an implementation of ILoggerFactory returning + the appropriately named JDK14LoggerAdapter instance. +

+ +

+

+
Author:
+
Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + +
+Constructor Summary
JDK14LoggerFactory() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+ LoggergetLogger(String name) + +
+          Return an appropriate Logger instance as specified by the + name parameter.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+JDK14LoggerFactory

+
+public JDK14LoggerFactory()
+
+
+ + + + + + + + +
+Method Detail
+ +

+getLogger

+
+public Logger getLogger(String name)
+
+
Description copied from interface: ILoggerFactory
+
Return an appropriate Logger instance as specified by the + name parameter. + +

If the name parameter is equal to Logger.ROOT_LOGGER_NAME, that is + the string value "ROOT" (case insensitive), then the root logger of the + underlying logging system is returned. + +

Null-valued name arguments are considered invalid. + +

Certain extremely simple logging systems, e.g. NOP, may always + return the same logger instance regardless of the requested name. +

+

+
Specified by:
getLogger in interface ILoggerFactory
+
+
+
Parameters:
name - the name of the Logger to return +
Returns:
a Logger instance
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/Log4jLoggerAdapter.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/Log4jLoggerAdapter.html new file mode 100644 index 0000000..23edad4 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/Log4jLoggerAdapter.html @@ -0,0 +1,1281 @@ + + + + + + + +Log4jLoggerAdapter (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.impl +
+Class Log4jLoggerAdapter

+
+java.lang.Object
+  extended by org.slf4j.helpers.MarkerIgnoringBase
+      extended by org.slf4j.impl.Log4jLoggerAdapter
+
+
+
All Implemented Interfaces:
Serializable, Logger, LocationAwareLogger
+
+
+
+
public final class Log4jLoggerAdapter
extends MarkerIgnoringBase
implements LocationAwareLogger, Serializable
+ + +

+A wrapper over org.apache.log4j.Logger in + conforming to the Logger interface. + +

+ Note that the logging levels mentioned in this class refer to those defined + in the + org.apache.log4j.Level class. + +

+ The TRACE level was introduced in log4j version 1.2.12. In order to avoid + crashing the host application, in the case the log4j version in use predates + 1.2.12, the TRACE level will be mapped as DEBUG. See also bug 68. +

+ +

+

+
Author:
+
Ceki Gülcü
+
See Also:
Serialized Form
+
+ +

+ + + + + + + + + + + +
+Field Summary
+protected  Stringname + +
+           
+ + + + + + + +
Fields inherited from interface org.slf4j.spi.LocationAwareLogger
DEBUG_INT, ERROR_INT, INFO_INT, TRACE_INT, WARN_INT
+ + + + + + + +
Fields inherited from interface org.slf4j.Logger
ROOT_LOGGER_NAME
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voiddebug(String msg) + +
+          Log a message object at level DEBUG.
+ voiddebug(String format, + Object... arguments) + +
+          Log a message at level DEBUG according to the specified format and + arguments.
+ voiddebug(String format, + Object arg) + +
+          Log a message at level DEBUG according to the specified format and + argument.
+ voiddebug(String format, + Object arg1, + Object arg2) + +
+          Log a message at level DEBUG according to the specified format and + arguments.
+ voiddebug(String msg, + Throwable t) + +
+          Log an exception (throwable) at level DEBUG with an accompanying message.
+ voiderror(String msg) + +
+          Log a message object at the ERROR level.
+ voiderror(String format, + Object... argArray) + +
+          Log a message at level ERROR according to the specified format and + arguments.
+ voiderror(String format, + Object arg) + +
+          Log a message at the ERROR level according to the specified format and + argument.
+ voiderror(String format, + Object arg1, + Object arg2) + +
+          Log a message at the ERROR level according to the specified format and + arguments.
+ voiderror(String msg, + Throwable t) + +
+          Log an exception (throwable) at the ERROR level with an accompanying + message.
+ StringgetName() + +
+          Return the name of this Logger instance.
+ voidinfo(String msg) + +
+          Log a message object at the INFO level.
+ voidinfo(String format, + Object... argArray) + +
+          Log a message at level INFO according to the specified format and + arguments.
+ voidinfo(String format, + Object arg) + +
+          Log a message at level INFO according to the specified format and argument.
+ voidinfo(String format, + Object arg1, + Object arg2) + +
+          Log a message at the INFO level according to the specified format and + arguments.
+ voidinfo(String msg, + Throwable t) + +
+          Log an exception (throwable) at the INFO level with an accompanying + message.
+ booleanisDebugEnabled() + +
+          Is this logger instance enabled for the DEBUG level?
+ booleanisErrorEnabled() + +
+          Is this logger instance enabled for level ERROR?
+ booleanisInfoEnabled() + +
+          Is this logger instance enabled for the INFO level?
+ booleanisTraceEnabled() + +
+          Is this logger instance enabled for the TRACE level?
+ booleanisWarnEnabled() + +
+          Is this logger instance enabled for the WARN level?
+ voidlog(Marker marker, + String callerFQCN, + int level, + String msg, + Object[] argArray, + Throwable t) + +
+          Printing method with support for location information.
+protected  ObjectreadResolve() + +
+          Replace this instance with a homonymous (same name) logger returned + by LoggerFactory.
+ voidtrace(String msg) + +
+          Log a message object at level TRACE.
+ voidtrace(String format, + Object... arguments) + +
+          Log a message at level TRACE according to the specified format and + arguments.
+ voidtrace(String format, + Object arg) + +
+          Log a message at level TRACE according to the specified format and + argument.
+ voidtrace(String format, + Object arg1, + Object arg2) + +
+          Log a message at level TRACE according to the specified format and + arguments.
+ voidtrace(String msg, + Throwable t) + +
+          Log an exception (throwable) at level TRACE with an accompanying message.
+ voidwarn(String msg) + +
+          Log a message object at the WARN level.
+ voidwarn(String format, + Object... argArray) + +
+          Log a message at level WARN according to the specified format and + arguments.
+ voidwarn(String format, + Object arg) + +
+          Log a message at the WARN level according to the specified format and + argument.
+ voidwarn(String format, + Object arg1, + Object arg2) + +
+          Log a message at the WARN level according to the specified format and + arguments.
+ voidwarn(String msg, + Throwable t) + +
+          Log an exception (throwable) at the WARN level with an accompanying + message.
+ + + + + + + +
Methods inherited from class org.slf4j.helpers.MarkerIgnoringBase
debug, debug, debug, debug, debug, error, error, error, error, error, info, info, info, info, info, isDebugEnabled, isErrorEnabled, isInfoEnabled, isTraceEnabled, isWarnEnabled, toString, trace, trace, trace, trace, trace, warn, warn, warn, warn, warn
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+ + + + + + + +
Methods inherited from interface org.slf4j.Logger
debug, debug, debug, debug, debug, error, error, error, error, error, getName, info, info, info, info, info, isDebugEnabled, isErrorEnabled, isInfoEnabled, isTraceEnabled, isWarnEnabled, trace, trace, trace, trace, trace, warn, warn, warn, warn, warn
+  +

+ + + + + + + + +
+Field Detail
+ +

+name

+
+protected String name
+
+
+
+
+ + + + + + + + +
+Method Detail
+ +

+isTraceEnabled

+
+public boolean isTraceEnabled()
+
+
Is this logger instance enabled for the TRACE level? +

+

+
Specified by:
isTraceEnabled in interface Logger
+
+
+ +
Returns:
True if this Logger is enabled for level TRACE, false otherwise.
+
+
+
+ +

+trace

+
+public void trace(String msg)
+
+
Log a message object at level TRACE. +

+

+
Specified by:
trace in interface Logger
+
+
+
Parameters:
msg - - the message object to be logged
+
+
+
+ +

+trace

+
+public void trace(String format,
+                  Object arg)
+
+
Log a message at level TRACE according to the specified format and + argument. + +

+ This form avoids superfluous object creation when the logger is disabled + for level TRACE. +

+

+

+
Specified by:
trace in interface Logger
+
+
+
Parameters:
format - the format string
arg - the argument
+
+
+
+ +

+trace

+
+public void trace(String format,
+                  Object arg1,
+                  Object arg2)
+
+
Log a message at level TRACE according to the specified format and + arguments. + +

+ This form avoids superfluous object creation when the logger is disabled + for the TRACE level. +

+

+

+
Specified by:
trace in interface Logger
+
+
+
Parameters:
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+trace

+
+public void trace(String format,
+                  Object... arguments)
+
+
Log a message at level TRACE according to the specified format and + arguments. + +

+ This form avoids superfluous object creation when the logger is disabled + for the TRACE level. +

+

+

+
Specified by:
trace in interface Logger
+
+
+
Parameters:
format - the format string
arguments - an array of arguments
+
+
+
+ +

+trace

+
+public void trace(String msg,
+                  Throwable t)
+
+
Log an exception (throwable) at level TRACE with an accompanying message. +

+

+
Specified by:
trace in interface Logger
+
+
+
Parameters:
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+isDebugEnabled

+
+public boolean isDebugEnabled()
+
+
Is this logger instance enabled for the DEBUG level? +

+

+
Specified by:
isDebugEnabled in interface Logger
+
+
+ +
Returns:
True if this Logger is enabled for level DEBUG, false otherwise.
+
+
+
+ +

+debug

+
+public void debug(String msg)
+
+
Log a message object at level DEBUG. +

+

+
Specified by:
debug in interface Logger
+
+
+
Parameters:
msg - - the message object to be logged
+
+
+
+ +

+debug

+
+public void debug(String format,
+                  Object arg)
+
+
Log a message at level DEBUG according to the specified format and + argument. + +

+ This form avoids superfluous object creation when the logger is disabled + for level DEBUG. +

+

+

+
Specified by:
debug in interface Logger
+
+
+
Parameters:
format - the format string
arg - the argument
+
+
+
+ +

+debug

+
+public void debug(String format,
+                  Object arg1,
+                  Object arg2)
+
+
Log a message at level DEBUG according to the specified format and + arguments. + +

+ This form avoids superfluous object creation when the logger is disabled + for the DEBUG level. +

+

+

+
Specified by:
debug in interface Logger
+
+
+
Parameters:
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+debug

+
+public void debug(String format,
+                  Object... arguments)
+
+
Log a message at level DEBUG according to the specified format and + arguments. + +

+ This form avoids superfluous object creation when the logger is disabled + for the DEBUG level. +

+

+

+
Specified by:
debug in interface Logger
+
+
+
Parameters:
format - the format string
arguments - an array of arguments
+
+
+
+ +

+debug

+
+public void debug(String msg,
+                  Throwable t)
+
+
Log an exception (throwable) at level DEBUG with an accompanying message. +

+

+
Specified by:
debug in interface Logger
+
+
+
Parameters:
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+isInfoEnabled

+
+public boolean isInfoEnabled()
+
+
Is this logger instance enabled for the INFO level? +

+

+
Specified by:
isInfoEnabled in interface Logger
+
+
+ +
Returns:
True if this Logger is enabled for the INFO level, false otherwise.
+
+
+
+ +

+info

+
+public void info(String msg)
+
+
Log a message object at the INFO level. +

+

+
Specified by:
info in interface Logger
+
+
+
Parameters:
msg - - the message object to be logged
+
+
+
+ +

+info

+
+public void info(String format,
+                 Object arg)
+
+
Log a message at level INFO according to the specified format and argument. + +

+ This form avoids superfluous object creation when the logger is disabled + for the INFO level. +

+

+

+
Specified by:
info in interface Logger
+
+
+
Parameters:
format - the format string
arg - the argument
+
+
+
+ +

+info

+
+public void info(String format,
+                 Object arg1,
+                 Object arg2)
+
+
Log a message at the INFO level according to the specified format and + arguments. + +

+ This form avoids superfluous object creation when the logger is disabled + for the INFO level. +

+

+

+
Specified by:
info in interface Logger
+
+
+
Parameters:
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+info

+
+public void info(String format,
+                 Object... argArray)
+
+
Log a message at level INFO according to the specified format and + arguments. + +

+ This form avoids superfluous object creation when the logger is disabled + for the INFO level. +

+

+

+
Specified by:
info in interface Logger
+
+
+
Parameters:
format - the format string
argArray - an array of arguments
+
+
+
+ +

+info

+
+public void info(String msg,
+                 Throwable t)
+
+
Log an exception (throwable) at the INFO level with an accompanying + message. +

+

+
Specified by:
info in interface Logger
+
+
+
Parameters:
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+isWarnEnabled

+
+public boolean isWarnEnabled()
+
+
Is this logger instance enabled for the WARN level? +

+

+
Specified by:
isWarnEnabled in interface Logger
+
+
+ +
Returns:
True if this Logger is enabled for the WARN level, false otherwise.
+
+
+
+ +

+warn

+
+public void warn(String msg)
+
+
Log a message object at the WARN level. +

+

+
Specified by:
warn in interface Logger
+
+
+
Parameters:
msg - - the message object to be logged
+
+
+
+ +

+warn

+
+public void warn(String format,
+                 Object arg)
+
+
Log a message at the WARN level according to the specified format and + argument. + +

+ This form avoids superfluous object creation when the logger is disabled + for the WARN level. +

+

+

+
Specified by:
warn in interface Logger
+
+
+
Parameters:
format - the format string
arg - the argument
+
+
+
+ +

+warn

+
+public void warn(String format,
+                 Object arg1,
+                 Object arg2)
+
+
Log a message at the WARN level according to the specified format and + arguments. + +

+ This form avoids superfluous object creation when the logger is disabled + for the WARN level. +

+

+

+
Specified by:
warn in interface Logger
+
+
+
Parameters:
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+warn

+
+public void warn(String format,
+                 Object... argArray)
+
+
Log a message at level WARN according to the specified format and + arguments. + +

+ This form avoids superfluous object creation when the logger is disabled + for the WARN level. +

+

+

+
Specified by:
warn in interface Logger
+
+
+
Parameters:
format - the format string
argArray - an array of arguments
+
+
+
+ +

+warn

+
+public void warn(String msg,
+                 Throwable t)
+
+
Log an exception (throwable) at the WARN level with an accompanying + message. +

+

+
Specified by:
warn in interface Logger
+
+
+
Parameters:
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+isErrorEnabled

+
+public boolean isErrorEnabled()
+
+
Is this logger instance enabled for level ERROR? +

+

+
Specified by:
isErrorEnabled in interface Logger
+
+
+ +
Returns:
True if this Logger is enabled for level ERROR, false otherwise.
+
+
+
+ +

+error

+
+public void error(String msg)
+
+
Log a message object at the ERROR level. +

+

+
Specified by:
error in interface Logger
+
+
+
Parameters:
msg - - the message object to be logged
+
+
+
+ +

+error

+
+public void error(String format,
+                  Object arg)
+
+
Log a message at the ERROR level according to the specified format and + argument. + +

+ This form avoids superfluous object creation when the logger is disabled + for the ERROR level. +

+

+

+
Specified by:
error in interface Logger
+
+
+
Parameters:
format - the format string
arg - the argument
+
+
+
+ +

+error

+
+public void error(String format,
+                  Object arg1,
+                  Object arg2)
+
+
Log a message at the ERROR level according to the specified format and + arguments. + +

+ This form avoids superfluous object creation when the logger is disabled + for the ERROR level. +

+

+

+
Specified by:
error in interface Logger
+
+
+
Parameters:
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+error

+
+public void error(String format,
+                  Object... argArray)
+
+
Log a message at level ERROR according to the specified format and + arguments. + +

+ This form avoids superfluous object creation when the logger is disabled + for the ERROR level. +

+

+

+
Specified by:
error in interface Logger
+
+
+
Parameters:
format - the format string
argArray - an array of arguments
+
+
+
+ +

+error

+
+public void error(String msg,
+                  Throwable t)
+
+
Log an exception (throwable) at the ERROR level with an accompanying + message. +

+

+
Specified by:
error in interface Logger
+
+
+
Parameters:
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+log

+
+public void log(Marker marker,
+                String callerFQCN,
+                int level,
+                String msg,
+                Object[] argArray,
+                Throwable t)
+
+
Description copied from interface: LocationAwareLogger
+
Printing method with support for location information. +

+

+
Specified by:
log in interface LocationAwareLogger
+
+
+
Parameters:
marker - The marker to be used for this event, may be null.
callerFQCN - The fully qualified class name of the logger instance, + typically the logger class, logger bridge or a logger wrapper.
level - One of the level integers defined in this interface
msg - The message for the log event
t - Throwable associated with the log event, may be null.
+
+
+
+ +

+getName

+
+public String getName()
+
+
Description copied from interface: Logger
+
Return the name of this Logger instance. +

+

+
Specified by:
getName in interface Logger
+
+
+ +
Returns:
name of this logger instance
+
+
+
+ +

+readResolve

+
+protected Object readResolve()
+                      throws ObjectStreamException
+
+
Replace this instance with a homonymous (same name) logger returned + by LoggerFactory. Note that this method is only called during + deserialization. + +

+ This approach will work well if the desired ILoggerFactory is the one + references by LoggerFactory. However, if the user manages its logger hierarchy + through a different (non-static) mechanism, e.g. dependency injection, then + this approach would be mostly counterproductive. +

+

+
+
+
+ +
Returns:
logger with same name as returned by LoggerFactory +
Throws: +
ObjectStreamException
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/Log4jLoggerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/Log4jLoggerFactory.html new file mode 100644 index 0000000..859a5f9 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/Log4jLoggerFactory.html @@ -0,0 +1,283 @@ + + + + + + + +Log4jLoggerFactory (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.impl +
+Class Log4jLoggerFactory

+
+java.lang.Object
+  extended by org.slf4j.impl.Log4jLoggerFactory
+
+
+
All Implemented Interfaces:
ILoggerFactory
+
+
+
+
public class Log4jLoggerFactory
extends Object
implements ILoggerFactory
+ + +

+Log4jLoggerFactory is an implementation of ILoggerFactory returning + the appropriate named Log4jLoggerAdapter instance. +

+ +

+

+
Author:
+
Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + +
+Constructor Summary
Log4jLoggerFactory() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+ LoggergetLogger(String name) + +
+          Return an appropriate Logger instance as specified by the + name parameter.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+Log4jLoggerFactory

+
+public Log4jLoggerFactory()
+
+
+ + + + + + + + +
+Method Detail
+ +

+getLogger

+
+public Logger getLogger(String name)
+
+
Description copied from interface: ILoggerFactory
+
Return an appropriate Logger instance as specified by the + name parameter. + +

If the name parameter is equal to Logger.ROOT_LOGGER_NAME, that is + the string value "ROOT" (case insensitive), then the root logger of the + underlying logging system is returned. + +

Null-valued name arguments are considered invalid. + +

Certain extremely simple logging systems, e.g. NOP, may always + return the same logger instance regardless of the requested name. +

+

+
Specified by:
getLogger in interface ILoggerFactory
+
+
+
Parameters:
name - the name of the Logger to return +
Returns:
a Logger instance
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/Log4jMDCAdapter.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/Log4jMDCAdapter.html new file mode 100644 index 0000000..2ee5d5b --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/Log4jMDCAdapter.html @@ -0,0 +1,410 @@ + + + + + + + +Log4jMDCAdapter (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.impl +
+Class Log4jMDCAdapter

+
+java.lang.Object
+  extended by org.slf4j.impl.Log4jMDCAdapter
+
+
+
All Implemented Interfaces:
MDCAdapter
+
+
+
+
public class Log4jMDCAdapter
extends Object
implements MDCAdapter
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
Log4jMDCAdapter() + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidclear() + +
+          Clear all entries in the MDC.
+ Stringget(String key) + +
+          Get the context identified by the key parameter.
+ MapgetCopyOfContextMap() + +
+          Return a copy of the current thread's context map, with keys and + values of type String.
+ voidput(String key, + String val) + +
+          Put a context value (the val parameter) as identified with + the key parameter into the current thread's context map.
+ voidremove(String key) + +
+          Remove the the context identified by the key parameter.
+ voidsetContextMap(Map contextMap) + +
+          Set the current thread's context map by first clearing any existing + map and then copying the map passed as parameter.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+Log4jMDCAdapter

+
+public Log4jMDCAdapter()
+
+
+ + + + + + + + +
+Method Detail
+ +

+clear

+
+public void clear()
+
+
Description copied from interface: MDCAdapter
+
Clear all entries in the MDC. +

+

+
Specified by:
clear in interface MDCAdapter
+
+
+
+
+
+
+ +

+get

+
+public String get(String key)
+
+
Description copied from interface: MDCAdapter
+
Get the context identified by the key parameter. + The key parameter cannot be null. +

+

+
Specified by:
get in interface MDCAdapter
+
+
+ +
Returns:
the string value identified by the key parameter.
+
+
+
+ +

+put

+
+public void put(String key,
+                String val)
+
+
Put a context value (the val parameter) as identified with + the key parameter into the current thread's context map. The + key parameter cannot be null. Log4j does not + support null for the val parameter. + +

+ This method delegates all work to log4j's MDC. +

+

+
Specified by:
put in interface MDCAdapter
+
+
+ +
Throws: +
IllegalArgumentException - in case the "key" or "val" parameter is null
+
+
+
+ +

+remove

+
+public void remove(String key)
+
+
Description copied from interface: MDCAdapter
+
Remove the the context identified by the key parameter. + The key parameter cannot be null. + +

+ This method does nothing if there is no previous value + associated with key. +

+

+
Specified by:
remove in interface MDCAdapter
+
+
+
+
+
+
+ +

+getCopyOfContextMap

+
+public Map getCopyOfContextMap()
+
+
Description copied from interface: MDCAdapter
+
Return a copy of the current thread's context map, with keys and + values of type String. Returned value may be null. +

+

+
Specified by:
getCopyOfContextMap in interface MDCAdapter
+
+
+ +
Returns:
A copy of the current thread's context map. May be null.
+
+
+
+ +

+setContextMap

+
+public void setContextMap(Map contextMap)
+
+
Description copied from interface: MDCAdapter
+
Set the current thread's context map by first clearing any existing + map and then copying the map passed as parameter. The context map + parameter must only contain keys and values of type String. +

+

+
Specified by:
setContextMap in interface MDCAdapter
+
+
+
Parameters:
contextMap - must contain only keys and values of type String
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/SimpleLogger.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/SimpleLogger.html new file mode 100644 index 0000000..9baac83 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/SimpleLogger.html @@ -0,0 +1,1374 @@ + + + + + + + +SimpleLogger (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.impl +
+Class SimpleLogger

+
+java.lang.Object
+  extended by org.slf4j.helpers.MarkerIgnoringBase
+      extended by org.slf4j.impl.SimpleLogger
+
+
+
All Implemented Interfaces:
Serializable, Logger
+
+
+
+
public class SimpleLogger
extends MarkerIgnoringBase
+ + +

+

Simple implementation of Logger that sends all enabled log messages, + for all defined loggers, to the console (System.err). + The following system properties are supported to configure the behavior of this logger:

+ +
    +
  • org.slf4j.simpleLogger.logFile - The output target which can be the path to a file, or + the special values "System.out" and "System.err". Default is "System.err". + +
  • org.slf4j.simpleLogger.defaultLogLevel - Default log level for all instances of SimpleLogger. + Must be one of ("trace", "debug", "info", "warn", or "error"). If not specified, defaults to "info".
  • + +
  • org.slf4j.simpleLogger.log.a.b.c - Logging detail level for a SimpleLogger instance + named "a.b.c". Right-side value must be one of "trace", "debug", "info", "warn", or "error". When a SimpleLogger + named "a.b.c" is initialized, its level is assigned from this property. If unspecified, the level of nearest parent + logger will be used, and if none is set, then the value specified by + org.slf4j.simpleLogger.defaultLogLevel will be used.
  • + +
  • org.slf4j.simpleLogger.showDateTime - Set to true if you want the current date and + time to be included in output messages. Default is true
  • + +
  • org.slf4j.simpleLogger.dateTimeFormat - The date and time format to be used in the output messages. + The pattern describing the date and time format is defined by + SimpleDateFormat. + If the format is not specified or is invalid, the number of milliseconds since start up will be output.
  • + +
  • org.slf4j.simpleLogger.showThreadName -Set to true if you want to output the current + thread name. Defaults to true.
  • + +
  • org.slf4j.simpleLogger.showLogName - Set to true if you want the Logger instance name + to be included in output messages. Defaults to true.
  • + +
  • org.slf4j.simpleLogger.showShortLogName - Set to true if you want the last component + of the name to be included in output messages. Defaults to false.
  • + +
  • org.slf4j.simpleLogger.levelInBrackets - Should the level string be output in brackets? Defaults + to false.
  • + +
  • org.slf4j.simpleLogger.warnLevelString - The string value output for the warn level. Defaults + to WARN.
  • + +
+ +

In addition to looking for system properties with the names specified above, this implementation also checks for + a class loader resource named "simplelogger.properties", and includes any matching definitions + from this resource (if it exists).

+ +

With no configuration, the default output includes the relative time in milliseconds, thread name, the level, + logger name, and the message followed by the line separator for the host. In log4j terms it amounts to the "%r [%t] + %level %logger - %m%n" pattern.

+

Sample output follows.

+
+ 176 [main] INFO examples.Sort - Populating an array of 2 elements in reverse order.
+ 225 [main] INFO examples.SortAlgo - Entered the sort method.
+ 304 [main] INFO examples.SortAlgo - Dump of integer array:
+ 317 [main] INFO examples.SortAlgo - Element [0] = 0
+ 331 [main] INFO examples.SortAlgo - Element [1] = 1
+ 343 [main] INFO examples.Sort - The next log statement should be an error message.
+ 346 [main] ERROR examples.SortAlgo - Tried to dump an uninitialized array.
+   at org.log4j.examples.SortAlgo.dump(SortAlgo.java:58)
+   at org.log4j.examples.Sort.main(Sort.java:64)
+ 467 [main] INFO  examples.Sort - Exiting main method.
+ 
+ +

This implementation is heavily inspired by + Apache Commons Logging's SimpleLog.

+

+ +

+

+
Author:
+
Ceki Gülcü, Scott Sanders, Rod Waldhoff, Robert Burrell Donkin, Cédrik LIME
+
See Also:
Serialized Form
+
+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Field Summary
+protected  intcurrentLogLevel + +
+          The current log level
+static StringDATE_TIME_FORMAT_KEY + +
+           
+static StringDEFAULT_LOG_LEVEL_KEY + +
+           
+static StringLEVEL_IN_BRACKETS_KEY + +
+           
+static StringLOG_FILE_KEY + +
+           
+static StringLOG_KEY_PREFIX + +
+           
+protected  Stringname + +
+           
+static StringSHOW_DATE_TIME_KEY + +
+           
+static StringSHOW_LOG_NAME_KEY + +
+           
+static StringSHOW_SHORT_LOG_NAME_KEY + +
+           
+static StringSHOW_THREAD_NAME_KEY + +
+           
+static StringSYSTEM_PREFIX + +
+          All system properties used by SimpleLogger start with this prefix
+static StringWARN_LEVEL_STRING_KEY + +
+           
+ + + + + + + +
Fields inherited from interface org.slf4j.Logger
ROOT_LOGGER_NAME
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voiddebug(String msg) + +
+          A simple implementation which logs messages of level DEBUG according + to the format outlined above.
+ voiddebug(String format, + Object... argArray) + +
+          Perform double parameter substitution before logging the message of level + DEBUG according to the format outlined above.
+ voiddebug(String format, + Object param1) + +
+          Perform single parameter substitution before logging the message of level + DEBUG according to the format outlined above.
+ voiddebug(String format, + Object param1, + Object param2) + +
+          Perform double parameter substitution before logging the message of level + DEBUG according to the format outlined above.
+ voiddebug(String msg, + Throwable t) + +
+          Log a message of level DEBUG, including an exception.
+ voiderror(String msg) + +
+          A simple implementation which always logs messages of level ERROR according + to the format outlined above.
+ voiderror(String format, + Object... argArray) + +
+          Perform double parameter substitution before logging the message of level + ERROR according to the format outlined above.
+ voiderror(String format, + Object arg) + +
+          Perform single parameter substitution before logging the message of level + ERROR according to the format outlined above.
+ voiderror(String format, + Object arg1, + Object arg2) + +
+          Perform double parameter substitution before logging the message of level + ERROR according to the format outlined above.
+ voiderror(String msg, + Throwable t) + +
+          Log a message of level ERROR, including an exception.
+ StringgetName() + +
+          Return the name of this Logger instance.
+ voidinfo(String msg) + +
+          A simple implementation which logs messages of level INFO according + to the format outlined above.
+ voidinfo(String format, + Object... argArray) + +
+          Perform double parameter substitution before logging the message of level + INFO according to the format outlined above.
+ voidinfo(String format, + Object arg) + +
+          Perform single parameter substitution before logging the message of level + INFO according to the format outlined above.
+ voidinfo(String format, + Object arg1, + Object arg2) + +
+          Perform double parameter substitution before logging the message of level + INFO according to the format outlined above.
+ voidinfo(String msg, + Throwable t) + +
+          Log a message of level INFO, including an exception.
+ booleanisDebugEnabled() + +
+          Are debug messages currently enabled?
+ booleanisErrorEnabled() + +
+          Are error messages currently enabled?
+ booleanisInfoEnabled() + +
+          Are info messages currently enabled?
+protected  booleanisLevelEnabled(int logLevel) + +
+          Is the given log level currently enabled?
+ booleanisTraceEnabled() + +
+          Are trace messages currently enabled?
+ booleanisWarnEnabled() + +
+          Are warn messages currently enabled?
+protected  ObjectreadResolve() + +
+          Replace this instance with a homonymous (same name) logger returned + by LoggerFactory.
+ voidtrace(String msg) + +
+          A simple implementation which logs messages of level TRACE according + to the format outlined above.
+ voidtrace(String format, + Object... argArray) + +
+          Perform double parameter substitution before logging the message of level + TRACE according to the format outlined above.
+ voidtrace(String format, + Object param1) + +
+          Perform single parameter substitution before logging the message of level + TRACE according to the format outlined above.
+ voidtrace(String format, + Object param1, + Object param2) + +
+          Perform double parameter substitution before logging the message of level + TRACE according to the format outlined above.
+ voidtrace(String msg, + Throwable t) + +
+          Log a message of level TRACE, including an exception.
+ voidwarn(String msg) + +
+          A simple implementation which always logs messages of level WARN according + to the format outlined above.
+ voidwarn(String format, + Object... argArray) + +
+          Perform double parameter substitution before logging the message of level + WARN according to the format outlined above.
+ voidwarn(String format, + Object arg) + +
+          Perform single parameter substitution before logging the message of level + WARN according to the format outlined above.
+ voidwarn(String format, + Object arg1, + Object arg2) + +
+          Perform double parameter substitution before logging the message of level + WARN according to the format outlined above.
+ voidwarn(String msg, + Throwable t) + +
+          Log a message of level WARN, including an exception.
+ + + + + + + +
Methods inherited from class org.slf4j.helpers.MarkerIgnoringBase
debug, debug, debug, debug, debug, error, error, error, error, error, info, info, info, info, info, isDebugEnabled, isErrorEnabled, isInfoEnabled, isTraceEnabled, isWarnEnabled, toString, trace, trace, trace, trace, trace, warn, warn, warn, warn, warn
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+ + + + + + + +
Methods inherited from interface org.slf4j.Logger
getName
+  +

+ + + + + + + + +
+Field Detail
+ +

+SYSTEM_PREFIX

+
+public static final String SYSTEM_PREFIX
+
+
All system properties used by SimpleLogger start with this prefix +

+

+
See Also:
Constant Field Values
+
+
+ +

+DEFAULT_LOG_LEVEL_KEY

+
+public static final String DEFAULT_LOG_LEVEL_KEY
+
+
+
See Also:
Constant Field Values
+
+
+ +

+SHOW_DATE_TIME_KEY

+
+public static final String SHOW_DATE_TIME_KEY
+
+
+
See Also:
Constant Field Values
+
+
+ +

+DATE_TIME_FORMAT_KEY

+
+public static final String DATE_TIME_FORMAT_KEY
+
+
+
See Also:
Constant Field Values
+
+
+ +

+SHOW_THREAD_NAME_KEY

+
+public static final String SHOW_THREAD_NAME_KEY
+
+
+
See Also:
Constant Field Values
+
+
+ +

+SHOW_LOG_NAME_KEY

+
+public static final String SHOW_LOG_NAME_KEY
+
+
+
See Also:
Constant Field Values
+
+
+ +

+SHOW_SHORT_LOG_NAME_KEY

+
+public static final String SHOW_SHORT_LOG_NAME_KEY
+
+
+
See Also:
Constant Field Values
+
+
+ +

+LOG_FILE_KEY

+
+public static final String LOG_FILE_KEY
+
+
+
See Also:
Constant Field Values
+
+
+ +

+LEVEL_IN_BRACKETS_KEY

+
+public static final String LEVEL_IN_BRACKETS_KEY
+
+
+
See Also:
Constant Field Values
+
+
+ +

+WARN_LEVEL_STRING_KEY

+
+public static final String WARN_LEVEL_STRING_KEY
+
+
+
See Also:
Constant Field Values
+
+
+ +

+LOG_KEY_PREFIX

+
+public static final String LOG_KEY_PREFIX
+
+
+
See Also:
Constant Field Values
+
+
+ +

+currentLogLevel

+
+protected int currentLogLevel
+
+
The current log level +

+

+
+
+
+ +

+name

+
+protected String name
+
+
+
+
+ + + + + + + + +
+Method Detail
+ +

+isLevelEnabled

+
+protected boolean isLevelEnabled(int logLevel)
+
+
Is the given log level currently enabled? +

+

+
Parameters:
logLevel - is this level enabled?
+
+
+
+ +

+isTraceEnabled

+
+public boolean isTraceEnabled()
+
+
Are trace messages currently enabled? +

+

+ +
Returns:
True if this Logger is enabled for the TRACE level, + false otherwise.
+
+
+
+ +

+trace

+
+public void trace(String msg)
+
+
A simple implementation which logs messages of level TRACE according + to the format outlined above. +

+

+
Parameters:
msg - the message string to be logged
+
+
+
+ +

+trace

+
+public void trace(String format,
+                  Object param1)
+
+
Perform single parameter substitution before logging the message of level + TRACE according to the format outlined above. +

+

+
Parameters:
format - the format string
param1 - the argument
+
+
+
+ +

+trace

+
+public void trace(String format,
+                  Object param1,
+                  Object param2)
+
+
Perform double parameter substitution before logging the message of level + TRACE according to the format outlined above. +

+

+
Parameters:
format - the format string
param1 - the first argument
param2 - the second argument
+
+
+
+ +

+trace

+
+public void trace(String format,
+                  Object... argArray)
+
+
Perform double parameter substitution before logging the message of level + TRACE according to the format outlined above. +

+

+
Parameters:
format - the format string
argArray - a list of 3 or more arguments
+
+
+
+ +

+trace

+
+public void trace(String msg,
+                  Throwable t)
+
+
Log a message of level TRACE, including an exception. +

+

+
Parameters:
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+isDebugEnabled

+
+public boolean isDebugEnabled()
+
+
Are debug messages currently enabled? +

+

+ +
Returns:
True if this Logger is enabled for the DEBUG level, + false otherwise.
+
+
+
+ +

+debug

+
+public void debug(String msg)
+
+
A simple implementation which logs messages of level DEBUG according + to the format outlined above. +

+

+
Parameters:
msg - the message string to be logged
+
+
+
+ +

+debug

+
+public void debug(String format,
+                  Object param1)
+
+
Perform single parameter substitution before logging the message of level + DEBUG according to the format outlined above. +

+

+
Parameters:
format - the format string
param1 - the argument
+
+
+
+ +

+debug

+
+public void debug(String format,
+                  Object param1,
+                  Object param2)
+
+
Perform double parameter substitution before logging the message of level + DEBUG according to the format outlined above. +

+

+
Parameters:
format - the format string
param1 - the first argument
param2 - the second argument
+
+
+
+ +

+debug

+
+public void debug(String format,
+                  Object... argArray)
+
+
Perform double parameter substitution before logging the message of level + DEBUG according to the format outlined above. +

+

+
Parameters:
format - the format string
argArray - a list of 3 or more arguments
+
+
+
+ +

+debug

+
+public void debug(String msg,
+                  Throwable t)
+
+
Log a message of level DEBUG, including an exception. +

+

+
Parameters:
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+isInfoEnabled

+
+public boolean isInfoEnabled()
+
+
Are info messages currently enabled? +

+

+ +
Returns:
True if this Logger is enabled for the INFO level, + false otherwise.
+
+
+
+ +

+info

+
+public void info(String msg)
+
+
A simple implementation which logs messages of level INFO according + to the format outlined above. +

+

+
Parameters:
msg - the message string to be logged
+
+
+
+ +

+info

+
+public void info(String format,
+                 Object arg)
+
+
Perform single parameter substitution before logging the message of level + INFO according to the format outlined above. +

+

+
Parameters:
format - the format string
arg - the argument
+
+
+
+ +

+info

+
+public void info(String format,
+                 Object arg1,
+                 Object arg2)
+
+
Perform double parameter substitution before logging the message of level + INFO according to the format outlined above. +

+

+
Parameters:
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+info

+
+public void info(String format,
+                 Object... argArray)
+
+
Perform double parameter substitution before logging the message of level + INFO according to the format outlined above. +

+

+
Parameters:
format - the format string
argArray - a list of 3 or more arguments
+
+
+
+ +

+info

+
+public void info(String msg,
+                 Throwable t)
+
+
Log a message of level INFO, including an exception. +

+

+
Parameters:
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+isWarnEnabled

+
+public boolean isWarnEnabled()
+
+
Are warn messages currently enabled? +

+

+ +
Returns:
True if this Logger is enabled for the WARN level, + false otherwise.
+
+
+
+ +

+warn

+
+public void warn(String msg)
+
+
A simple implementation which always logs messages of level WARN according + to the format outlined above. +

+

+
Parameters:
msg - the message string to be logged
+
+
+
+ +

+warn

+
+public void warn(String format,
+                 Object arg)
+
+
Perform single parameter substitution before logging the message of level + WARN according to the format outlined above. +

+

+
Parameters:
format - the format string
arg - the argument
+
+
+
+ +

+warn

+
+public void warn(String format,
+                 Object arg1,
+                 Object arg2)
+
+
Perform double parameter substitution before logging the message of level + WARN according to the format outlined above. +

+

+
Parameters:
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+warn

+
+public void warn(String format,
+                 Object... argArray)
+
+
Perform double parameter substitution before logging the message of level + WARN according to the format outlined above. +

+

+
Parameters:
format - the format string
argArray - a list of 3 or more arguments
+
+
+
+ +

+warn

+
+public void warn(String msg,
+                 Throwable t)
+
+
Log a message of level WARN, including an exception. +

+

+
Parameters:
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+isErrorEnabled

+
+public boolean isErrorEnabled()
+
+
Are error messages currently enabled? +

+

+ +
Returns:
True if this Logger is enabled for the ERROR level, + false otherwise.
+
+
+
+ +

+error

+
+public void error(String msg)
+
+
A simple implementation which always logs messages of level ERROR according + to the format outlined above. +

+

+
Parameters:
msg - the message string to be logged
+
+
+
+ +

+error

+
+public void error(String format,
+                  Object arg)
+
+
Perform single parameter substitution before logging the message of level + ERROR according to the format outlined above. +

+

+
Parameters:
format - the format string
arg - the argument
+
+
+
+ +

+error

+
+public void error(String format,
+                  Object arg1,
+                  Object arg2)
+
+
Perform double parameter substitution before logging the message of level + ERROR according to the format outlined above. +

+

+
Parameters:
format - the format string
arg1 - the first argument
arg2 - the second argument
+
+
+
+ +

+error

+
+public void error(String format,
+                  Object... argArray)
+
+
Perform double parameter substitution before logging the message of level + ERROR according to the format outlined above. +

+

+
Parameters:
format - the format string
argArray - a list of 3 or more arguments
+
+
+
+ +

+error

+
+public void error(String msg,
+                  Throwable t)
+
+
Log a message of level ERROR, including an exception. +

+

+
Parameters:
msg - the message accompanying the exception
t - the exception (throwable) to log
+
+
+
+ +

+getName

+
+public String getName()
+
+
Description copied from interface: Logger
+
Return the name of this Logger instance. +

+

+
Specified by:
getName in interface Logger
+
+
+ +
Returns:
name of this logger instance
+
+
+
+ +

+readResolve

+
+protected Object readResolve()
+                      throws ObjectStreamException
+
+
Replace this instance with a homonymous (same name) logger returned + by LoggerFactory. Note that this method is only called during + deserialization. + +

+ This approach will work well if the desired ILoggerFactory is the one + references by LoggerFactory. However, if the user manages its logger hierarchy + through a different (non-static) mechanism, e.g. dependency injection, then + this approach would be mostly counterproductive. +

+

+
+
+
+ +
Returns:
logger with same name as returned by LoggerFactory +
Throws: +
ObjectStreamException
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/SimpleLoggerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/SimpleLoggerFactory.html new file mode 100644 index 0000000..713e655 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/SimpleLoggerFactory.html @@ -0,0 +1,271 @@ + + + + + + + +SimpleLoggerFactory (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.impl +
+Class SimpleLoggerFactory

+
+java.lang.Object
+  extended by org.slf4j.impl.SimpleLoggerFactory
+
+
+
All Implemented Interfaces:
ILoggerFactory
+
+
+
+
public class SimpleLoggerFactory
extends Object
implements ILoggerFactory
+ + +

+An implementation of ILoggerFactory which always returns + SimpleLogger instances. +

+ +

+

+
Author:
+
Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + +
+Constructor Summary
SimpleLoggerFactory() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+ LoggergetLogger(String name) + +
+          Return an appropriate SimpleLogger instance by name.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+SimpleLoggerFactory

+
+public SimpleLoggerFactory()
+
+
+ + + + + + + + +
+Method Detail
+ +

+getLogger

+
+public Logger getLogger(String name)
+
+
Return an appropriate SimpleLogger instance by name. +

+

+
Specified by:
getLogger in interface ILoggerFactory
+
+
+
Parameters:
name - the name of the Logger to return +
Returns:
a Logger instance
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/StaticLoggerBinder.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/StaticLoggerBinder.html new file mode 100644 index 0000000..5427d0e --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/StaticLoggerBinder.html @@ -0,0 +1,313 @@ + + + + + + + +StaticLoggerBinder (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.impl +
+Class StaticLoggerBinder

+
+java.lang.Object
+  extended by org.slf4j.impl.StaticLoggerBinder
+
+
+
+
public class StaticLoggerBinder
extends Object
+ + +

+The binding of LoggerFactory class with an actual instance of + ILoggerFactory is performed using information returned by this class. + + This class is meant to provide a dummy StaticLoggerBinder to the slf4j-api module. + Real implementations are found in each SLF4J binding project, e.g. slf4j-nop, + slf4j-log4j12 etc. +

+ +

+

+
Author:
+
Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + +
+Field Summary
+static StringREQUESTED_API_VERSION + +
+          Declare the version of the SLF4J API this implementation is compiled against.
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ ILoggerFactorygetLoggerFactory() + +
+           
+ StringgetLoggerFactoryClassStr() + +
+           
+static StaticLoggerBindergetSingleton() + +
+          Return the singleton of this class.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Field Detail
+ +

+REQUESTED_API_VERSION

+
+public static String REQUESTED_API_VERSION
+
+
Declare the version of the SLF4J API this implementation is compiled against. + The value of this field is usually modified with each release. +

+

+
+
+ + + + + + + + +
+Method Detail
+ +

+getSingleton

+
+public static final StaticLoggerBinder getSingleton()
+
+
Return the singleton of this class. +

+

+ +
Returns:
the StaticLoggerBinder singleton
+
+
+
+ +

+getLoggerFactory

+
+public ILoggerFactory getLoggerFactory()
+
+
+
+
+
+
+ +

+getLoggerFactoryClassStr

+
+public String getLoggerFactoryClassStr()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/StaticMDCBinder.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/StaticMDCBinder.html new file mode 100644 index 0000000..379682a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/StaticMDCBinder.html @@ -0,0 +1,290 @@ + + + + + + + +StaticMDCBinder (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.impl +
+Class StaticMDCBinder

+
+java.lang.Object
+  extended by org.slf4j.impl.StaticMDCBinder
+
+
+
+
public class StaticMDCBinder
extends Object
+ + +

+This class is only a stub. Real implementations are found in + each SLF4J binding project, e.g. slf4j-nop, slf4j-log4j12 etc. +

+ +

+

+
Author:
+
Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + +
+Field Summary
+static StaticMDCBinderSINGLETON + +
+          The unique instance of this class.
+  + + + + + + + + + + + + + + + +
+Method Summary
+ MDCAdaptergetMDCA() + +
+          Currently this method always returns an instance of + StaticMDCBinder.
+ StringgetMDCAdapterClassStr() + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Field Detail
+ +

+SINGLETON

+
+public static final StaticMDCBinder SINGLETON
+
+
The unique instance of this class. +

+

+
+
+ + + + + + + + +
+Method Detail
+ +

+getMDCA

+
+public MDCAdapter getMDCA()
+
+
Currently this method always returns an instance of + StaticMDCBinder. +

+

+
+
+
+
+ +

+getMDCAdapterClassStr

+
+public String getMDCAdapterClassStr()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/StaticMarkerBinder.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/StaticMarkerBinder.html new file mode 100644 index 0000000..723c31d --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/StaticMarkerBinder.html @@ -0,0 +1,310 @@ + + + + + + + +StaticMarkerBinder (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.impl +
+Class StaticMarkerBinder

+
+java.lang.Object
+  extended by org.slf4j.impl.StaticMarkerBinder
+
+
+
All Implemented Interfaces:
MarkerFactoryBinder
+
+
+
+
public class StaticMarkerBinder
extends Object
implements MarkerFactoryBinder
+ + +

+The binding of MarkerFactory class with an actual instance of + IMarkerFactory is performed using information returned by this class. + + This class is meant to provide a *dummy* StaticMarkerBinder to the slf4j-api module. + Real implementations are found in each SLF4J binding project, e.g. slf4j-nop, + slf4j-simple, slf4j-log4j12 etc. +

+ +

+

+
Author:
+
Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + +
+Field Summary
+static StaticMarkerBinderSINGLETON + +
+          The unique instance of this class.
+  + + + + + + + + + + + + + + + +
+Method Summary
+ IMarkerFactorygetMarkerFactory() + +
+          Currently this method always returns an instance of + BasicMarkerFactory.
+ StringgetMarkerFactoryClassStr() + +
+          Currently, this method returns the class name of + BasicMarkerFactory.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Field Detail
+ +

+SINGLETON

+
+public static final StaticMarkerBinder SINGLETON
+
+
The unique instance of this class. +

+

+
+
+ + + + + + + + +
+Method Detail
+ +

+getMarkerFactory

+
+public IMarkerFactory getMarkerFactory()
+
+
Currently this method always returns an instance of + BasicMarkerFactory. +

+

+
Specified by:
getMarkerFactory in interface MarkerFactoryBinder
+
+
+ +
Returns:
the instance of IMarkerFactory that + MarkerFactory class should bind to.
+
+
+
+ +

+getMarkerFactoryClassStr

+
+public String getMarkerFactoryClassStr()
+
+
Currently, this method returns the class name of + BasicMarkerFactory. +

+

+
Specified by:
getMarkerFactoryClassStr in interface MarkerFactoryBinder
+
+
+ +
Returns:
the class name of the intended IMarkerFactory instance
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/class-use/JCLLoggerAdapter.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/class-use/JCLLoggerAdapter.html new file mode 100644 index 0000000..79509fb --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/class-use/JCLLoggerAdapter.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.impl.JCLLoggerAdapter (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.impl.JCLLoggerAdapter

+
+No usage of org.slf4j.impl.JCLLoggerAdapter +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/class-use/JCLLoggerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/class-use/JCLLoggerFactory.html new file mode 100644 index 0000000..c30a387 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/class-use/JCLLoggerFactory.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.impl.JCLLoggerFactory (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.impl.JCLLoggerFactory

+
+No usage of org.slf4j.impl.JCLLoggerFactory +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/class-use/JDK14LoggerAdapter.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/class-use/JDK14LoggerAdapter.html new file mode 100644 index 0000000..a6a49b2 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/class-use/JDK14LoggerAdapter.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.impl.JDK14LoggerAdapter (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.impl.JDK14LoggerAdapter

+
+No usage of org.slf4j.impl.JDK14LoggerAdapter +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/class-use/JDK14LoggerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/class-use/JDK14LoggerFactory.html new file mode 100644 index 0000000..2481776 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/class-use/JDK14LoggerFactory.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.impl.JDK14LoggerFactory (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.impl.JDK14LoggerFactory

+
+No usage of org.slf4j.impl.JDK14LoggerFactory +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/class-use/Log4jLoggerAdapter.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/class-use/Log4jLoggerAdapter.html new file mode 100644 index 0000000..a850461 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/class-use/Log4jLoggerAdapter.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.impl.Log4jLoggerAdapter (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.impl.Log4jLoggerAdapter

+
+No usage of org.slf4j.impl.Log4jLoggerAdapter +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/class-use/Log4jLoggerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/class-use/Log4jLoggerFactory.html new file mode 100644 index 0000000..d9a2984 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/class-use/Log4jLoggerFactory.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.impl.Log4jLoggerFactory (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.impl.Log4jLoggerFactory

+
+No usage of org.slf4j.impl.Log4jLoggerFactory +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/class-use/Log4jMDCAdapter.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/class-use/Log4jMDCAdapter.html new file mode 100644 index 0000000..bfd29a3 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/class-use/Log4jMDCAdapter.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.impl.Log4jMDCAdapter (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.impl.Log4jMDCAdapter

+
+No usage of org.slf4j.impl.Log4jMDCAdapter +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/class-use/SimpleLogger.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/class-use/SimpleLogger.html new file mode 100644 index 0000000..a8867f8 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/class-use/SimpleLogger.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.impl.SimpleLogger (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.impl.SimpleLogger

+
+No usage of org.slf4j.impl.SimpleLogger +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/class-use/SimpleLoggerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/class-use/SimpleLoggerFactory.html new file mode 100644 index 0000000..57a6ad4 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/class-use/SimpleLoggerFactory.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.impl.SimpleLoggerFactory (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.impl.SimpleLoggerFactory

+
+No usage of org.slf4j.impl.SimpleLoggerFactory +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/class-use/StaticLoggerBinder.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/class-use/StaticLoggerBinder.html new file mode 100644 index 0000000..0692fb5 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/class-use/StaticLoggerBinder.html @@ -0,0 +1,181 @@ + + + + + + + +Uses of Class org.slf4j.impl.StaticLoggerBinder (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.impl.StaticLoggerBinder

+
+ + + + + + + + + +
+Packages that use StaticLoggerBinder
org.slf4j.implImplementations of core logging interfaces defined in the org.slf4j package. 
+  +

+ + + + + +
+Uses of StaticLoggerBinder in org.slf4j.impl
+  +

+ + + + + + + + + +
Methods in org.slf4j.impl that return StaticLoggerBinder
+static StaticLoggerBinderStaticLoggerBinder.getSingleton() + +
+          Return the singleton of this class.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/class-use/StaticMDCBinder.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/class-use/StaticMDCBinder.html new file mode 100644 index 0000000..0273b5d --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/class-use/StaticMDCBinder.html @@ -0,0 +1,181 @@ + + + + + + + +Uses of Class org.slf4j.impl.StaticMDCBinder (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.impl.StaticMDCBinder

+
+ + + + + + + + + +
+Packages that use StaticMDCBinder
org.slf4j.implImplementations of core logging interfaces defined in the org.slf4j package. 
+  +

+ + + + + +
+Uses of StaticMDCBinder in org.slf4j.impl
+  +

+ + + + + + + + + +
Fields in org.slf4j.impl declared as StaticMDCBinder
+static StaticMDCBinderStaticMDCBinder.SINGLETON + +
+          The unique instance of this class.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/class-use/StaticMarkerBinder.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/class-use/StaticMarkerBinder.html new file mode 100644 index 0000000..f450c99 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/class-use/StaticMarkerBinder.html @@ -0,0 +1,181 @@ + + + + + + + +Uses of Class org.slf4j.impl.StaticMarkerBinder (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.impl.StaticMarkerBinder

+
+ + + + + + + + + +
+Packages that use StaticMarkerBinder
org.slf4j.implImplementations of core logging interfaces defined in the org.slf4j package. 
+  +

+ + + + + +
+Uses of StaticMarkerBinder in org.slf4j.impl
+  +

+ + + + + + + + + +
Fields in org.slf4j.impl declared as StaticMarkerBinder
+static StaticMarkerBinderStaticMarkerBinder.SINGLETON + +
+          The unique instance of this class.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/package-frame.html new file mode 100644 index 0000000..bb24fe7 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/package-frame.html @@ -0,0 +1,55 @@ + + + + + + + +org.slf4j.impl (SLF4J 1.7.5 API) + + + + + + + + + + + +org.slf4j.impl + + + + +
+Classes  + +
+JCLLoggerAdapter +
+JCLLoggerFactory +
+JDK14LoggerAdapter +
+JDK14LoggerFactory +
+Log4jLoggerAdapter +
+Log4jLoggerFactory +
+Log4jMDCAdapter +
+SimpleLogger +
+SimpleLoggerFactory +
+StaticLoggerBinder +
+StaticMarkerBinder +
+StaticMDCBinder
+ + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/package-summary.html new file mode 100644 index 0000000..23bf078 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/package-summary.html @@ -0,0 +1,229 @@ + + + + + + + +org.slf4j.impl (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+

+Package org.slf4j.impl +

+Implementations of core logging interfaces defined in the org.slf4j package. +

+See: +
+          Description +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class Summary
JCLLoggerAdapterA wrapper over org.apache.commons.logging.Log in conformance with the Logger + interface.
JCLLoggerFactoryJCLLoggerFactory is an implementation of ILoggerFactory returning the + appropriately named JCLLoggerAdapter instance.
JDK14LoggerAdapterA wrapper over java.util.logging.Logger in + conformity with the Logger interface.
JDK14LoggerFactoryJDK14LoggerFactory is an implementation of ILoggerFactory returning + the appropriately named JDK14LoggerAdapter instance.
Log4jLoggerAdapterA wrapper over org.apache.log4j.Logger in + conforming to the Logger interface.
Log4jLoggerFactoryLog4jLoggerFactory is an implementation of ILoggerFactory returning + the appropriate named Log4jLoggerAdapter instance.
Log4jMDCAdapter 
SimpleLoggerSimple implementation of Logger that sends all enabled log messages, + for all defined loggers, to the console (System.err).
SimpleLoggerFactoryAn implementation of ILoggerFactory which always returns + SimpleLogger instances.
StaticLoggerBinderThe binding of LoggerFactory class with an actual instance of + ILoggerFactory is performed using information returned by this class.
StaticMarkerBinderThe binding of MarkerFactory class with an actual instance of + IMarkerFactory is performed using information returned by this class.
StaticMDCBinderThis class is only a stub.
+  + +

+

+Package org.slf4j.impl Description +

+ +

+

Implementations of core logging interfaces defined in the org.slf4j package.

+ +
+

+ +

+

+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/package-tree.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/package-tree.html new file mode 100644 index 0000000..b0805b1 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/package-tree.html @@ -0,0 +1,165 @@ + + + + + + + +org.slf4j.impl Class Hierarchy (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For Package org.slf4j.impl +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/package-use.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/package-use.html new file mode 100644 index 0000000..e5d38c4 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/impl/package-use.html @@ -0,0 +1,185 @@ + + + + + + + +Uses of Package org.slf4j.impl (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Package
org.slf4j.impl

+
+ + + + + + + + + +
+Packages that use org.slf4j.impl
org.slf4j.implImplementations of core logging interfaces defined in the org.slf4j package. 
+  +

+ + + + + + + + + + + + + + +
+Classes in org.slf4j.impl used by org.slf4j.impl
StaticLoggerBinder + +
+          The binding of LoggerFactory class with an actual instance of + ILoggerFactory is performed using information returned by this class.
StaticMarkerBinder + +
+          The binding of MarkerFactory class with an actual instance of + IMarkerFactory is performed using information returned by this class.
StaticMDCBinder + +
+          This class is only a stub.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/instrumentation/JavassistHelper.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/instrumentation/JavassistHelper.html new file mode 100644 index 0000000..5039ab6 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/instrumentation/JavassistHelper.html @@ -0,0 +1,295 @@ + + + + + + + +JavassistHelper (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.instrumentation +
+Class JavassistHelper

+
+java.lang.Object
+  extended by org.slf4j.instrumentation.JavassistHelper
+
+
+
+
public class JavassistHelper
extends Object
+ + +

+Helper methods for Javassist functionality. +

+ +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
JavassistHelper() + +
+           
+  + + + + + + + + + + + + + + + +
+Method Summary
+static StringgetSignature(javassist.CtBehavior method) + +
+          Return javaassist source snippet which lists all the parameters and their + values.
+static StringreturnValue(javassist.CtBehavior method) + +
+          Create a javaassist source snippet which either is empty (for anything + which does not return a value) or a explanatory text around the $_ + javaassist return value variable.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+JavassistHelper

+
+public JavassistHelper()
+
+
+ + + + + + + + +
+Method Detail
+ +

+returnValue

+
+public static String returnValue(javassist.CtBehavior method)
+                          throws javassist.NotFoundException
+
+
Create a javaassist source snippet which either is empty (for anything + which does not return a value) or a explanatory text around the $_ + javaassist return value variable. +

+

+
Parameters:
method - descriptor of method +
Returns:
source snippet +
Throws: +
javassist.NotFoundException
+
+
+
+ +

+getSignature

+
+public static String getSignature(javassist.CtBehavior method)
+                           throws javassist.NotFoundException
+
+
Return javaassist source snippet which lists all the parameters and their + values. If available the source names are extracted from the debug + information and used, otherwise just a number is shown. +

+

+
Parameters:
method - +
Returns:
+
Throws: +
javassist.NotFoundException
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/instrumentation/LogTransformer.Builder.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/instrumentation/LogTransformer.Builder.html new file mode 100644 index 0000000..61bd742 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/instrumentation/LogTransformer.Builder.html @@ -0,0 +1,353 @@ + + + + + + + +LogTransformer.Builder (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.instrumentation +
+Class LogTransformer.Builder

+
+java.lang.Object
+  extended by org.slf4j.instrumentation.LogTransformer.Builder
+
+
+
Enclosing class:
LogTransformer
+
+
+
+
public static class LogTransformer.Builder
extends Object
+ + +

+Builder provides a flexible way of configuring some of many options on the + parent class instead of providing many constructors. + + ://rwhansen.blogspot.com/2007/07/theres-builder-pattern-that-joshua.html +

+ +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
LogTransformer.Builder() + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ LogTransformer.BuilderaddEntryExit(boolean b) + +
+          Should each method log entry (with parameters) and exit (with parameters + and returnvalue)?
+ LogTransformerbuild() + +
+          Build and return the LogTransformer corresponding to the options set in + this Builder.
+ LogTransformer.Builderignore(String[] strings) + +
+           
+ LogTransformer.Builderlevel(String level) + +
+           
+ LogTransformer.Builderverbose(boolean b) + +
+          Should LogTransformer be verbose in what it does?
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+LogTransformer.Builder

+
+public LogTransformer.Builder()
+
+
+ + + + + + + + +
+Method Detail
+ +

+build

+
+public LogTransformer build()
+
+
Build and return the LogTransformer corresponding to the options set in + this Builder. +

+

+ +
Returns:
+
+
+
+ +

+addEntryExit

+
+public LogTransformer.Builder addEntryExit(boolean b)
+
+
Should each method log entry (with parameters) and exit (with parameters + and returnvalue)? +

+

+
Parameters:
b - value of flag +
Returns:
+
+
+
+ +

+verbose

+
+public LogTransformer.Builder verbose(boolean b)
+
+
Should LogTransformer be verbose in what it does? This currently list the + names of the classes being processed. +

+

+
Parameters:
b - +
Returns:
+
+
+
+ +

+ignore

+
+public LogTransformer.Builder ignore(String[] strings)
+
+
+
+
+
+
+ +

+level

+
+public LogTransformer.Builder level(String level)
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/instrumentation/LogTransformer.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/instrumentation/LogTransformer.html new file mode 100644 index 0000000..de009ca --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/instrumentation/LogTransformer.html @@ -0,0 +1,263 @@ + + + + + + + +LogTransformer (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.instrumentation +
+Class LogTransformer

+
+java.lang.Object
+  extended by org.slf4j.instrumentation.LogTransformer
+
+
+
All Implemented Interfaces:
ClassFileTransformer
+
+
+
+
public class LogTransformer
extends Object
implements ClassFileTransformer
+ + +

+

+ LogTransformer does the work of analyzing each class, and if appropriate add + log statements to each method to allow logging entry/exit. +

+

+ This class is based on the article Add Logging at Class Load Time with Java Instrumentation. +

+

+ +

+


+ +

+ + + + + + + + + + + +
+Nested Class Summary
+static classLogTransformer.Builder + +
+          Builder provides a flexible way of configuring some of many options on the + parent class instead of providing many constructors.
+  + + + + + + + + + + + +
+Method Summary
+ byte[]transform(ClassLoader loader, + String className, + Class<?> clazz, + ProtectionDomain domain, + byte[] bytes) + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Method Detail
+ +

+transform

+
+public byte[] transform(ClassLoader loader,
+                        String className,
+                        Class<?> clazz,
+                        ProtectionDomain domain,
+                        byte[] bytes)
+
+
+
Specified by:
transform in interface ClassFileTransformer
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/instrumentation/ToStringHelper.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/instrumentation/ToStringHelper.html new file mode 100644 index 0000000..99ba966 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/instrumentation/ToStringHelper.html @@ -0,0 +1,262 @@ + + + + + + + +ToStringHelper (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.instrumentation +
+Class ToStringHelper

+
+java.lang.Object
+  extended by org.slf4j.instrumentation.ToStringHelper
+
+
+
+
public class ToStringHelper
extends Object
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
ToStringHelper() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+static Stringrender(Object o) + +
+          Returns o.toString() unless it throws an exception (which causes it to be + stored in unrenderableClasses) or already was present in + unrenderableClasses.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+ToStringHelper

+
+public ToStringHelper()
+
+
+ + + + + + + + +
+Method Detail
+ +

+render

+
+public static String render(Object o)
+
+
Returns o.toString() unless it throws an exception (which causes it to be + stored in unrenderableClasses) or already was present in + unrenderableClasses. If so, the same string is returned as would have + been returned by Object.toString(). Arrays get special treatment as they + don't have usable toString methods. +

+

+
Parameters:
o - incoming object to render. +
Returns:
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/instrumentation/class-use/JavassistHelper.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/instrumentation/class-use/JavassistHelper.html new file mode 100644 index 0000000..2fbdf03 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/instrumentation/class-use/JavassistHelper.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.instrumentation.JavassistHelper (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.instrumentation.JavassistHelper

+
+No usage of org.slf4j.instrumentation.JavassistHelper +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/instrumentation/class-use/LogTransformer.Builder.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/instrumentation/class-use/LogTransformer.Builder.html new file mode 100644 index 0000000..b655b74 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/instrumentation/class-use/LogTransformer.Builder.html @@ -0,0 +1,206 @@ + + + + + + + +Uses of Class org.slf4j.instrumentation.LogTransformer.Builder (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.instrumentation.LogTransformer.Builder

+
+ + + + + + + + + +
+Packages that use LogTransformer.Builder
org.slf4j.instrumentationJava instrumentation routines for SLF4J. 
+  +

+ + + + + +
+Uses of LogTransformer.Builder in org.slf4j.instrumentation
+  +

+ + + + + + + + + + + + + + + + + + + + + +
Methods in org.slf4j.instrumentation that return LogTransformer.Builder
+ LogTransformer.BuilderLogTransformer.Builder.addEntryExit(boolean b) + +
+          Should each method log entry (with parameters) and exit (with parameters + and returnvalue)?
+ LogTransformer.BuilderLogTransformer.Builder.ignore(String[] strings) + +
+           
+ LogTransformer.BuilderLogTransformer.Builder.level(String level) + +
+           
+ LogTransformer.BuilderLogTransformer.Builder.verbose(boolean b) + +
+          Should LogTransformer be verbose in what it does?
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/instrumentation/class-use/LogTransformer.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/instrumentation/class-use/LogTransformer.html new file mode 100644 index 0000000..538ab41 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/instrumentation/class-use/LogTransformer.html @@ -0,0 +1,182 @@ + + + + + + + +Uses of Class org.slf4j.instrumentation.LogTransformer (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.instrumentation.LogTransformer

+
+ + + + + + + + + +
+Packages that use LogTransformer
org.slf4j.instrumentationJava instrumentation routines for SLF4J. 
+  +

+ + + + + +
+Uses of LogTransformer in org.slf4j.instrumentation
+  +

+ + + + + + + + + +
Methods in org.slf4j.instrumentation that return LogTransformer
+ LogTransformerLogTransformer.Builder.build() + +
+          Build and return the LogTransformer corresponding to the options set in + this Builder.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/instrumentation/class-use/ToStringHelper.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/instrumentation/class-use/ToStringHelper.html new file mode 100644 index 0000000..1e20d3e --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/instrumentation/class-use/ToStringHelper.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.instrumentation.ToStringHelper (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.instrumentation.ToStringHelper

+
+No usage of org.slf4j.instrumentation.ToStringHelper +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/instrumentation/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/instrumentation/package-frame.html new file mode 100644 index 0000000..0878d24 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/instrumentation/package-frame.html @@ -0,0 +1,39 @@ + + + + + + + +org.slf4j.instrumentation (SLF4J 1.7.5 API) + + + + + + + + + + + +org.slf4j.instrumentation + + + + +
+Classes  + +
+JavassistHelper +
+LogTransformer +
+LogTransformer.Builder +
+ToStringHelper
+ + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/instrumentation/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/instrumentation/package-summary.html new file mode 100644 index 0000000..2222a81 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/instrumentation/package-summary.html @@ -0,0 +1,194 @@ + + + + + + + +org.slf4j.instrumentation (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+

+Package org.slf4j.instrumentation +

+Java instrumentation routines for SLF4J. +

+See: +
+          Description +

+ + + + + + + + + + + + + + + + + + + + + +
+Class Summary
JavassistHelperHelper methods for Javassist functionality.
LogTransformer + LogTransformer does the work of analyzing each class, and if appropriate add + log statements to each method to allow logging entry/exit.
LogTransformer.BuilderBuilder provides a flexible way of configuring some of many options on the + parent class instead of providing many constructors.
ToStringHelper 
+  + +

+

+Package org.slf4j.instrumentation Description +

+ +

+

Java instrumentation routines for SLF4J.

+ +

Byte code instrumentation is an way to change behaviour of java +classes at load time. This is done in-between the original byte +codes are retrieved and the class object is constructed by the class +loader. Currently this depends on the javassist library from JBoss +(which in turn uses it extensively in their application server).

+

+ +

+

+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/instrumentation/package-tree.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/instrumentation/package-tree.html new file mode 100644 index 0000000..baab145 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/instrumentation/package-tree.html @@ -0,0 +1,155 @@ + + + + + + + +org.slf4j.instrumentation Class Hierarchy (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For Package org.slf4j.instrumentation +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/instrumentation/package-use.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/instrumentation/package-use.html new file mode 100644 index 0000000..8c2bfd2 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/instrumentation/package-use.html @@ -0,0 +1,180 @@ + + + + + + + +Uses of Package org.slf4j.instrumentation (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Package
org.slf4j.instrumentation

+
+ + + + + + + + + +
+Packages that use org.slf4j.instrumentation
org.slf4j.instrumentationJava instrumentation routines for SLF4J. 
+  +

+ + + + + + + + + + + +
+Classes in org.slf4j.instrumentation used by org.slf4j.instrumentation
LogTransformer + +
+           + LogTransformer does the work of analyzing each class, and if appropriate add + log statements to each method to allow logging entry/exit.
LogTransformer.Builder + +
+          Builder provides a flexible way of configuring some of many options on the + parent class instead of providing many constructors.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/osgi/logservice/impl/Activator.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/osgi/logservice/impl/Activator.html new file mode 100644 index 0000000..1dacdc6 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/osgi/logservice/impl/Activator.html @@ -0,0 +1,302 @@ + + + + + + + +Activator (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.osgi.logservice.impl +
+Class Activator

+
+java.lang.Object
+  extended by org.slf4j.osgi.logservice.impl.Activator
+
+
+
All Implemented Interfaces:
org.osgi.framework.BundleActivator
+
+
+
+
public class Activator
extends Object
implements org.osgi.framework.BundleActivator
+ + +

+Activator implements a simple bundle that registers a + LogServiceFactory for the creation of LogService implementations. +

+ +

+

+
Author:
+
John Conlon, Matt Bishop
+
+
+ +

+ + + + + + + + + + + +
+Constructor Summary
Activator() + +
+           
+  + + + + + + + + + + + + + + + +
+Method Summary
+ voidstart(org.osgi.framework.BundleContext bundleContext) + +
+          Implements BundleActivator.start() to register a + LogServiceFactory.
+ voidstop(org.osgi.framework.BundleContext bundleContext) + +
+          Implements BundleActivator.stop().
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+Activator

+
+public Activator()
+
+
+ + + + + + + + +
+Method Detail
+ +

+start

+
+public void start(org.osgi.framework.BundleContext bundleContext)
+           throws Exception
+
+
Implements BundleActivator.start() to register a + LogServiceFactory. +

+

+
Specified by:
start in interface org.osgi.framework.BundleActivator
+
+
+
Parameters:
bundleContext - the framework context for the bundle +
Throws: +
Exception
+
+
+
+ +

+stop

+
+public void stop(org.osgi.framework.BundleContext bundleContext)
+          throws Exception
+
+
Implements BundleActivator.stop(). +

+

+
Specified by:
stop in interface org.osgi.framework.BundleActivator
+
+
+
Parameters:
bundleContext - the framework context for the bundle +
Throws: +
Exception
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/osgi/logservice/impl/LogServiceFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/osgi/logservice/impl/LogServiceFactory.html new file mode 100644 index 0000000..2d58e10 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/osgi/logservice/impl/LogServiceFactory.html @@ -0,0 +1,297 @@ + + + + + + + +LogServiceFactory (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.osgi.logservice.impl +
+Class LogServiceFactory

+
+java.lang.Object
+  extended by org.slf4j.osgi.logservice.impl.LogServiceFactory
+
+
+
All Implemented Interfaces:
org.osgi.framework.ServiceFactory
+
+
+
+
public class LogServiceFactory
extends Object
implements org.osgi.framework.ServiceFactory
+ + +

+LogServiceFactory creates LogService implementations. +

+ +

+

+
Version:
+
$Rev$, $Date$
+
Author:
+
John Conlon
+
+
+ +

+ + + + + + + + + + + +
+Constructor Summary
LogServiceFactory() + +
+           
+  + + + + + + + + + + + + + + + +
+Method Summary
+ ObjectgetService(org.osgi.framework.Bundle bundle, + org.osgi.framework.ServiceRegistration arg1) + +
+           
+ voidungetService(org.osgi.framework.Bundle bundle, + org.osgi.framework.ServiceRegistration arg1, + Object arg2) + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+LogServiceFactory

+
+public LogServiceFactory()
+
+
+ + + + + + + + +
+Method Detail
+ +

+getService

+
+public Object getService(org.osgi.framework.Bundle bundle,
+                         org.osgi.framework.ServiceRegistration arg1)
+
+
+
Specified by:
getService in interface org.osgi.framework.ServiceFactory
+
+
+
+
+
+
+ +

+ungetService

+
+public void ungetService(org.osgi.framework.Bundle bundle,
+                         org.osgi.framework.ServiceRegistration arg1,
+                         Object arg2)
+
+
+
Specified by:
ungetService in interface org.osgi.framework.ServiceFactory
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/osgi/logservice/impl/LogServiceImpl.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/osgi/logservice/impl/LogServiceImpl.html new file mode 100644 index 0000000..b25ae08 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/osgi/logservice/impl/LogServiceImpl.html @@ -0,0 +1,372 @@ + + + + + + + +LogServiceImpl (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.osgi.logservice.impl +
+Class LogServiceImpl

+
+java.lang.Object
+  extended by org.slf4j.osgi.logservice.impl.LogServiceImpl
+
+
+
All Implemented Interfaces:
org.osgi.service.log.LogService
+
+
+
+
public class LogServiceImpl
extends Object
implements org.osgi.service.log.LogService
+ + +

+LogServiceImpl is a simple OSGi LogService implementation that delegates to a slf4j + Logger. +

+ +

+

+
Author:
+
John Conlon, Matt Bishop
+
+
+ +

+ + + + + + + +
+Field Summary
+ + + + + + + +
Fields inherited from interface org.osgi.service.log.LogService
LOG_DEBUG, LOG_ERROR, LOG_INFO, LOG_WARNING
+  + + + + + + + + + + +
+Constructor Summary
LogServiceImpl(org.osgi.framework.Bundle bundle) + +
+          Creates a new instance of LogServiceImpl.
+  + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidlog(int level, + String message) + +
+           
+ voidlog(int level, + String message, + Throwable exception) + +
+           
+ voidlog(org.osgi.framework.ServiceReference sr, + int level, + String message) + +
+           
+ voidlog(org.osgi.framework.ServiceReference sr, + int level, + String message, + Throwable exception) + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+LogServiceImpl

+
+public LogServiceImpl(org.osgi.framework.Bundle bundle)
+
+
Creates a new instance of LogServiceImpl. +

+

+
Parameters:
bundle - The bundle to create a new LogService for.
+
+ + + + + + + + +
+Method Detail
+ +

+log

+
+public void log(int level,
+                String message)
+
+
+
Specified by:
log in interface org.osgi.service.log.LogService
+
+
+
+
+
+
+ +

+log

+
+public void log(int level,
+                String message,
+                Throwable exception)
+
+
+
Specified by:
log in interface org.osgi.service.log.LogService
+
+
+
+
+
+
+ +

+log

+
+public void log(org.osgi.framework.ServiceReference sr,
+                int level,
+                String message)
+
+
+
Specified by:
log in interface org.osgi.service.log.LogService
+
+
+
+
+
+
+ +

+log

+
+public void log(org.osgi.framework.ServiceReference sr,
+                int level,
+                String message,
+                Throwable exception)
+
+
+
Specified by:
log in interface org.osgi.service.log.LogService
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/osgi/logservice/impl/class-use/Activator.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/osgi/logservice/impl/class-use/Activator.html new file mode 100644 index 0000000..3a40b87 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/osgi/logservice/impl/class-use/Activator.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.osgi.logservice.impl.Activator (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.osgi.logservice.impl.Activator

+
+No usage of org.slf4j.osgi.logservice.impl.Activator +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/osgi/logservice/impl/class-use/LogServiceFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/osgi/logservice/impl/class-use/LogServiceFactory.html new file mode 100644 index 0000000..98dc505 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/osgi/logservice/impl/class-use/LogServiceFactory.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.osgi.logservice.impl.LogServiceFactory (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.osgi.logservice.impl.LogServiceFactory

+
+No usage of org.slf4j.osgi.logservice.impl.LogServiceFactory +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/osgi/logservice/impl/class-use/LogServiceImpl.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/osgi/logservice/impl/class-use/LogServiceImpl.html new file mode 100644 index 0000000..79af94b --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/osgi/logservice/impl/class-use/LogServiceImpl.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.osgi.logservice.impl.LogServiceImpl (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.osgi.logservice.impl.LogServiceImpl

+
+No usage of org.slf4j.osgi.logservice.impl.LogServiceImpl +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/osgi/logservice/impl/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/osgi/logservice/impl/package-frame.html new file mode 100644 index 0000000..12d1bef --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/osgi/logservice/impl/package-frame.html @@ -0,0 +1,37 @@ + + + + + + + +org.slf4j.osgi.logservice.impl (SLF4J 1.7.5 API) + + + + + + + + + + + +org.slf4j.osgi.logservice.impl + + + + +
+Classes  + +
+Activator +
+LogServiceFactory +
+LogServiceImpl
+ + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/osgi/logservice/impl/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/osgi/logservice/impl/package-summary.html new file mode 100644 index 0000000..e79645d --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/osgi/logservice/impl/package-summary.html @@ -0,0 +1,168 @@ + + + + + + + +org.slf4j.osgi.logservice.impl (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+

+Package org.slf4j.osgi.logservice.impl +

+ + + + + + + + + + + + + + + + + +
+Class Summary
ActivatorActivator implements a simple bundle that registers a + LogServiceFactory for the creation of LogService implementations.
LogServiceFactoryLogServiceFactory creates LogService implementations.
LogServiceImplLogServiceImpl is a simple OSGi LogService implementation that delegates to a slf4j + Logger.
+  + +

+

+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/osgi/logservice/impl/package-tree.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/osgi/logservice/impl/package-tree.html new file mode 100644 index 0000000..0b94413 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/osgi/logservice/impl/package-tree.html @@ -0,0 +1,157 @@ + + + + + + + +org.slf4j.osgi.logservice.impl Class Hierarchy (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For Package org.slf4j.osgi.logservice.impl +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+
    +
  • java.lang.Object
      +
    • org.slf4j.osgi.logservice.impl.Activator (implements org.osgi.framework.BundleActivator) +
    • org.slf4j.osgi.logservice.impl.LogServiceFactory (implements org.osgi.framework.ServiceFactory) +
    • org.slf4j.osgi.logservice.impl.LogServiceImpl (implements org.osgi.service.log.LogService) +
    +
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/osgi/logservice/impl/package-use.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/osgi/logservice/impl/package-use.html new file mode 100644 index 0000000..9092084 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/osgi/logservice/impl/package-use.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Package org.slf4j.osgi.logservice.impl (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Package
org.slf4j.osgi.logservice.impl

+
+No usage of org.slf4j.osgi.logservice.impl +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/package-frame.html new file mode 100644 index 0000000..0de5b3e --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/package-frame.html @@ -0,0 +1,56 @@ + + + + + + + +org.slf4j (SLF4J 1.7.5 API) + + + + + + + + + + + +org.slf4j + + + + +
+Interfaces  + +
+ILoggerFactory +
+IMarkerFactory +
+Logger +
+Marker
+ + + + + + +
+Classes  + +
+LoggerFactory +
+MarkerFactory +
+MDC +
+NDC
+ + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/package-summary.html new file mode 100644 index 0000000..0623997 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/package-summary.html @@ -0,0 +1,218 @@ + + + + + + + +org.slf4j (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+

+Package org.slf4j +

+Core logging interfaces. +

+See: +
+          Description +

+ + + + + + + + + + + + + + + + + + + + + +
+Interface Summary
ILoggerFactoryILoggerFactory instances manufacture Logger + instances by name.
IMarkerFactoryImplementaitons of this interface are used to manufacture Marker + instances.
LoggerThe org.slf4j.Logger interface is the main user entry point of SLF4J API.
MarkerMarkers are named objects used to enrich log statements.
+  + +

+ + + + + + + + + + + + + + + + + + + + + +
+Class Summary
LoggerFactoryThe LoggerFactory is a utility class producing Loggers for + various logging APIs, most notably for log4j, logback and JDK 1.4 logging.
MarkerFactoryMarkerFactory is a utility class producing Marker instances as + appropriate for the logging system currently in use.
MDCThis class hides and serves as a substitute for the underlying logging + system's MDC implementation.
NDC 
+  + +

+

+Package org.slf4j Description +

+ +

+

Core logging interfaces.

+ +
+

+ +

+

+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/package-tree.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/package-tree.html new file mode 100644 index 0000000..1ba787e --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/package-tree.html @@ -0,0 +1,161 @@ + + + + + + + +org.slf4j Class Hierarchy (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For Package org.slf4j +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+ +

+Interface Hierarchy +

+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/package-use.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/package-use.html new file mode 100644 index 0000000..5c9330d --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/package-use.html @@ -0,0 +1,410 @@ + + + + + + + +Uses of Package org.slf4j (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Package
org.slf4j

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Packages that use org.slf4j
org.apache.log4jAn rather minimal but sufficient implementation redirecting all + calls to a log4j logger to a logback logger. 
org.slf4jCore logging interfaces. 
org.slf4j.bridgeBridge/route all JUL log records to the SLF4J API. 
org.slf4j.cal10nSLF4J API extensions 
org.slf4j.extLocalized logging using the CAL10N API. 
org.slf4j.helpersHelper classes. 
org.slf4j.implImplementations of core logging interfaces defined in the org.slf4j package. 
org.slf4j.profilerPoor man's profiler API 
org.slf4j.spiClasses and interfaces which are internal to SLF4J. 
+  +

+ + + + + + + + +
+Classes in org.slf4j used by org.apache.log4j
Logger + +
+          The org.slf4j.Logger interface is the main user entry point of SLF4J API.
+  +

+ + + + + + + + + + + + + + + + + +
+Classes in org.slf4j used by org.slf4j
ILoggerFactory + +
+          ILoggerFactory instances manufacture Logger + instances by name.
IMarkerFactory + +
+          Implementaitons of this interface are used to manufacture Marker + instances.
Logger + +
+          The org.slf4j.Logger interface is the main user entry point of SLF4J API.
Marker + +
+          Markers are named objects used to enrich log statements.
+  +

+ + + + + + + + +
+Classes in org.slf4j used by org.slf4j.bridge
Logger + +
+          The org.slf4j.Logger interface is the main user entry point of SLF4J API.
+  +

+ + + + + + + + +
+Classes in org.slf4j used by org.slf4j.cal10n
Logger + +
+          The org.slf4j.Logger interface is the main user entry point of SLF4J API.
+  +

+ + + + + + + + + + + +
+Classes in org.slf4j used by org.slf4j.ext
Logger + +
+          The org.slf4j.Logger interface is the main user entry point of SLF4J API.
Marker + +
+          Markers are named objects used to enrich log statements.
+  +

+ + + + + + + + + + + + + + + + + +
+Classes in org.slf4j used by org.slf4j.helpers
ILoggerFactory + +
+          ILoggerFactory instances manufacture Logger + instances by name.
IMarkerFactory + +
+          Implementaitons of this interface are used to manufacture Marker + instances.
Logger + +
+          The org.slf4j.Logger interface is the main user entry point of SLF4J API.
Marker + +
+          Markers are named objects used to enrich log statements.
+  +

+ + + + + + + + + + + + + + + + + +
+Classes in org.slf4j used by org.slf4j.impl
ILoggerFactory + +
+          ILoggerFactory instances manufacture Logger + instances by name.
IMarkerFactory + +
+          Implementaitons of this interface are used to manufacture Marker + instances.
Logger + +
+          The org.slf4j.Logger interface is the main user entry point of SLF4J API.
Marker + +
+          Markers are named objects used to enrich log statements.
+  +

+ + + + + + + + +
+Classes in org.slf4j used by org.slf4j.profiler
Logger + +
+          The org.slf4j.Logger interface is the main user entry point of SLF4J API.
+  +

+ + + + + + + + + + + + + + + + + +
+Classes in org.slf4j used by org.slf4j.spi
ILoggerFactory + +
+          ILoggerFactory instances manufacture Logger + instances by name.
IMarkerFactory + +
+          Implementaitons of this interface are used to manufacture Marker + instances.
Logger + +
+          The org.slf4j.Logger interface is the main user entry point of SLF4J API.
Marker + +
+          Markers are named objects used to enrich log statements.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/DurationUnit.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/DurationUnit.html new file mode 100644 index 0000000..f014647 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/DurationUnit.html @@ -0,0 +1,363 @@ + + + + + + + +DurationUnit (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.profiler +
+Enum DurationUnit

+
+java.lang.Object
+  extended by java.lang.Enum<DurationUnit>
+      extended by org.slf4j.profiler.DurationUnit
+
+
+
All Implemented Interfaces:
Serializable, Comparable<DurationUnit>
+
+
+
+
public enum DurationUnit
extends Enum<DurationUnit>
+ + +

+An enum of supported time units. +

+ +

+

+
Author:
+
Ceki
+
+
+ +

+ + + + + + + + + + + + + + + + + + + +
+Enum Constant Summary
MICROSECOND + +
+           
MILLISSECOND + +
+           
NANOSECOND + +
+           
SECOND + +
+           
+  + + + + + + + + + + + + + + + +
+Method Summary
+static DurationUnitvalueOf(String name) + +
+          Returns the enum constant of this type with the specified name.
+static DurationUnit[]values() + +
+          Returns an array containing the constants of this enum type, in +the order they are declared.
+ + + + + + + +
Methods inherited from class java.lang.Enum
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+ + + + + + + +
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Enum Constant Detail
+ +

+NANOSECOND

+
+public static final DurationUnit NANOSECOND
+
+
+
+
+
+ +

+MICROSECOND

+
+public static final DurationUnit MICROSECOND
+
+
+
+
+
+ +

+MILLISSECOND

+
+public static final DurationUnit MILLISSECOND
+
+
+
+
+
+ +

+SECOND

+
+public static final DurationUnit SECOND
+
+
+
+
+ + + + + + + + +
+Method Detail
+ +

+values

+
+public static DurationUnit[] values()
+
+
Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
+for (DurationUnit c : DurationUnit.values())
+    System.out.println(c);
+
+

+

+ +
Returns:
an array containing the constants of this enum type, in +the order they are declared
+
+
+
+ +

+valueOf

+
+public static DurationUnit valueOf(String name)
+
+
Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.) +

+

+
Parameters:
name - the name of the enum constant to be returned. +
Returns:
the enum constant with the specified name +
Throws: +
IllegalArgumentException - if this enum type has no constant +with the specified name +
NullPointerException - if the argument is null
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/Profiler.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/Profiler.html new file mode 100644 index 0000000..a1b3d77 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/Profiler.html @@ -0,0 +1,611 @@ + + + + + + + +Profiler (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.profiler +
+Class Profiler

+
+java.lang.Object
+  extended by org.slf4j.profiler.Profiler
+
+
+
All Implemented Interfaces:
TimeInstrument
+
+
+
+
public class Profiler
extends Object
implements TimeInstrument
+ + +

+A poor man's profiler to measure the time elapsed performing some lengthy + task. +

+ +

+

+
Author:
+
Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + +
+Constructor Summary
Profiler(String name) + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ longelapsedTime() + +
+          Time elapsed between start and stop, in nanoseconds.
+ List<TimeInstrument>getCopyOfChildTimeInstruments() + +
+          Return a copy of the child instrument list for this Profiler instance.
+ StopWatchgetCopyOfGlobalStopWatch() + +
+          Return a copy of the global stopwath of this Profiler instance.
+ LoggergetLogger() + +
+           
+ StringgetName() + +
+          All time instruments are named entities.
+ ProfilerRegistrygetProfilerRegistry() + +
+           
+ org.slf4j.profiler.TimeInstrumentStatusgetStatus() + +
+           
+ voidlog() + +
+          If the time instrument has an associated logger, then log information about + this time instrument.
+ voidprint() + +
+          Print information about this time instrument on the console.
+ voidregisterWith(ProfilerRegistry profilerRegistry) + +
+           
+ voidsetLogger(Logger logger) + +
+           
+ voidstart(String name) + +
+          Starts a child stop watch and stops any previously started time + instruments.
+ ProfilerstartNested(String name) + +
+           
+ TimeInstrumentstop() + +
+          Stop this time instrument.
+ StringtoString() + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+Profiler

+
+public Profiler(String name)
+
+
+ + + + + + + + +
+Method Detail
+ +

+getName

+
+public String getName()
+
+
Description copied from interface: TimeInstrument
+
All time instruments are named entities. +

+

+
Specified by:
getName in interface TimeInstrument
+
+
+ +
Returns:
the name of this instrument
+
+
+
+ +

+getProfilerRegistry

+
+public ProfilerRegistry getProfilerRegistry()
+
+
+
+
+
+
+
+
+
+ +

+registerWith

+
+public void registerWith(ProfilerRegistry profilerRegistry)
+
+
+
+
+
+
+
+
+
+ +

+getLogger

+
+public Logger getLogger()
+
+
+
+
+
+
+
+
+
+ +

+setLogger

+
+public void setLogger(Logger logger)
+
+
+
+
+
+
+
+
+
+ +

+start

+
+public void start(String name)
+
+
Starts a child stop watch and stops any previously started time + instruments. +

+

+
Specified by:
start in interface TimeInstrument
+
+
+
+
+
+
+ +

+startNested

+
+public Profiler startNested(String name)
+
+
+
+
+
+
+
+
+
+ +

+elapsedTime

+
+public long elapsedTime()
+
+
Description copied from interface: TimeInstrument
+
Time elapsed between start and stop, in nanoseconds. +

+

+
Specified by:
elapsedTime in interface TimeInstrument
+
+
+ +
Returns:
time elapsed in nanoseconds
+
+
+
+ +

+stop

+
+public TimeInstrument stop()
+
+
Description copied from interface: TimeInstrument
+
Stop this time instrument. +

+

+
Specified by:
stop in interface TimeInstrument
+
+
+ +
Returns:
this
+
+
+
+ +

+getStatus

+
+public org.slf4j.profiler.TimeInstrumentStatus getStatus()
+
+
+
Specified by:
getStatus in interface TimeInstrument
+
+
+
+
+
+
+ +

+print

+
+public void print()
+
+
Description copied from interface: TimeInstrument
+
Print information about this time instrument on the console. +

+

+
Specified by:
print in interface TimeInstrument
+
+
+
+
+
+
+ +

+toString

+
+public String toString()
+
+
+
Overrides:
toString in class Object
+
+
+
+
+
+
+ +

+log

+
+public void log()
+
+
Description copied from interface: TimeInstrument
+
If the time instrument has an associated logger, then log information about + this time instrument. Note that StopWatch instances cannot log while Profiler + instances can. +

+

+
Specified by:
log in interface TimeInstrument
+
+
+
+
+
+
+ +

+getCopyOfChildTimeInstruments

+
+public List<TimeInstrument> getCopyOfChildTimeInstruments()
+
+
Return a copy of the child instrument list for this Profiler instance. +

+

+
+
+
+ +
Returns:
a copy of this instance's child time instrument list
Since:
+
1.5.9
+
+
+
+
+ +

+getCopyOfGlobalStopWatch

+
+public StopWatch getCopyOfGlobalStopWatch()
+
+
Return a copy of the global stopwath of this Profiler instance. +

+

+
+
+
+ +
Returns:
a copy of this instance's global stop watch
Since:
+
1.5.9
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/ProfilerRegistry.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/ProfilerRegistry.html new file mode 100644 index 0000000..0ce0a7c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/ProfilerRegistry.html @@ -0,0 +1,339 @@ + + + + + + + +ProfilerRegistry (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.profiler +
+Class ProfilerRegistry

+
+java.lang.Object
+  extended by org.slf4j.profiler.ProfilerRegistry
+
+
+
+
public class ProfilerRegistry
extends Object
+ + +

+A minimalist registry of profilers. +

+ +

+

+
Author:
+
Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + +
+Constructor Summary
ProfilerRegistry() + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidclear() + +
+           
+ Profilerget(String name) + +
+           
+static ProfilerRegistrygetThreadContextInstance() + +
+           
+ voidput(Profiler profiler) + +
+           
+ voidput(String name, + Profiler profiler) + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+ProfilerRegistry

+
+public ProfilerRegistry()
+
+
+ + + + + + + + +
+Method Detail
+ +

+put

+
+public void put(Profiler profiler)
+
+
+
+
+
+
+ +

+put

+
+public void put(String name,
+                Profiler profiler)
+
+
+
+
+
+
+ +

+getThreadContextInstance

+
+public static ProfilerRegistry getThreadContextInstance()
+
+
+
+
+
+
+ +

+get

+
+public Profiler get(String name)
+
+
+
+
+
+
+ +

+clear

+
+public void clear()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/SpacePadder.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/SpacePadder.html new file mode 100644 index 0000000..f53cae2 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/SpacePadder.html @@ -0,0 +1,339 @@ + + + + + + + +SpacePadder (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.profiler +
+Class SpacePadder

+
+java.lang.Object
+  extended by org.slf4j.profiler.SpacePadder
+
+
+
+
public class SpacePadder
extends Object
+ + +

+


+ +

+ + + + + + + + + + + +
+Field Summary
+static StringLINE_SEP + +
+           
+  + + + + + + + + + + +
+Constructor Summary
SpacePadder() + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+static voidleftPad(StringBuffer buf, + String s, + int desiredLength) + +
+           
+static voidrightPad(StringBuffer buf, + String s, + int desiredLength) + +
+           
+static voidspacePad(StringBuffer sbuf, + int length) + +
+          Fast space padding method.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Field Detail
+ +

+LINE_SEP

+
+public static final String LINE_SEP
+
+
+
+
+ + + + + + + + +
+Constructor Detail
+ +

+SpacePadder

+
+public SpacePadder()
+
+
+ + + + + + + + +
+Method Detail
+ +

+leftPad

+
+public static final void leftPad(StringBuffer buf,
+                                 String s,
+                                 int desiredLength)
+
+
+
+
+
+
+ +

+rightPad

+
+public static final void rightPad(StringBuffer buf,
+                                  String s,
+                                  int desiredLength)
+
+
+
+
+
+
+ +

+spacePad

+
+public static final void spacePad(StringBuffer sbuf,
+                                  int length)
+
+
Fast space padding method. +

+

+
Parameters:
sbuf - the buffer to pad
length - the target size of the buffer after padding
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/StopWatch.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/StopWatch.html new file mode 100644 index 0000000..8b3c935 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/StopWatch.html @@ -0,0 +1,468 @@ + + + + + + + +StopWatch (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.profiler +
+Class StopWatch

+
+java.lang.Object
+  extended by org.slf4j.profiler.StopWatch
+
+
+
All Implemented Interfaces:
TimeInstrument
+
+
+
+
public class StopWatch
extends Object
implements TimeInstrument
+ + +

+A very basic @{link TimeInstrument} which can be started and stopped + once and only once. +

+ +

+

+
Author:
+
Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + +
+Constructor Summary
StopWatch(String name) + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ longelapsedTime() + +
+          Time elapsed between start and stop, in nanoseconds.
+ StringgetName() + +
+          All time instruments are named entities.
+ org.slf4j.profiler.TimeInstrumentStatusgetStatus() + +
+           
+ voidlog() + +
+          If the time instrument has an associated logger, then log information about + this time instrument.
+ voidprint() + +
+          Print information about this time instrument on the console.
+ voidstart(String name) + +
+          Start tis time instrument.
+ TimeInstrumentstop() + +
+          Stop this time instrument.
+ StopWatchstop(long stopTime) + +
+           
+ StringtoString() + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+StopWatch

+
+public StopWatch(String name)
+
+
+ + + + + + + + +
+Method Detail
+ +

+start

+
+public void start(String name)
+
+
Description copied from interface: TimeInstrument
+
Start tis time instrument. +

+

+
Specified by:
start in interface TimeInstrument
+
+
+
+
+
+
+ +

+getName

+
+public String getName()
+
+
Description copied from interface: TimeInstrument
+
All time instruments are named entities. +

+

+
Specified by:
getName in interface TimeInstrument
+
+
+ +
Returns:
the name of this instrument
+
+
+
+ +

+stop

+
+public TimeInstrument stop()
+
+
Description copied from interface: TimeInstrument
+
Stop this time instrument. +

+

+
Specified by:
stop in interface TimeInstrument
+
+
+ +
Returns:
this
+
+
+
+ +

+stop

+
+public StopWatch stop(long stopTime)
+
+
+
+
+
+
+
+
+
+ +

+toString

+
+public String toString()
+
+
+
Overrides:
toString in class Object
+
+
+
+
+
+
+ +

+elapsedTime

+
+public final long elapsedTime()
+
+
Description copied from interface: TimeInstrument
+
Time elapsed between start and stop, in nanoseconds. +

+

+
Specified by:
elapsedTime in interface TimeInstrument
+
+
+ +
Returns:
time elapsed in nanoseconds
+
+
+
+ +

+getStatus

+
+public org.slf4j.profiler.TimeInstrumentStatus getStatus()
+
+
+
Specified by:
getStatus in interface TimeInstrument
+
+
+
+
+
+
+ +

+print

+
+public void print()
+
+
Description copied from interface: TimeInstrument
+
Print information about this time instrument on the console. +

+

+
Specified by:
print in interface TimeInstrument
+
+
+
+
+
+
+ +

+log

+
+public void log()
+
+
Description copied from interface: TimeInstrument
+
If the time instrument has an associated logger, then log information about + this time instrument. Note that StopWatch instances cannot log while Profiler + instances can. +

+

+
Specified by:
log in interface TimeInstrument
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/TimeInstrument.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/TimeInstrument.html new file mode 100644 index 0000000..56dd62d --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/TimeInstrument.html @@ -0,0 +1,352 @@ + + + + + + + +TimeInstrument (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.profiler +
+Interface TimeInstrument

+
+
All Known Implementing Classes:
Profiler, StopWatch
+
+
+
+
public interface TimeInstrument
+ + +

+This interface sets the methods that must be implemented by + Profiler and StopWatch classes. It settles the + general feel of the profiler package. +

+ +

+

+
Author:
+
Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ longelapsedTime() + +
+          Time elapsed between start and stop, in nanoseconds.
+ StringgetName() + +
+          All time instruments are named entities.
+ org.slf4j.profiler.TimeInstrumentStatusgetStatus() + +
+           
+ voidlog() + +
+          If the time instrument has an associated logger, then log information about + this time instrument.
+ voidprint() + +
+          Print information about this time instrument on the console.
+ voidstart(String name) + +
+          Start tis time instrument.
+ TimeInstrumentstop() + +
+          Stop this time instrument.
+  +

+ + + + + + + + +
+Method Detail
+ +

+getName

+
+String getName()
+
+
All time instruments are named entities. +

+

+ +
Returns:
the name of this instrument
+
+
+
+ +

+getStatus

+
+org.slf4j.profiler.TimeInstrumentStatus getStatus()
+
+
+
+
+
+
+ +

+start

+
+void start(String name)
+
+
Start tis time instrument. +

+

+
Parameters:
name -
+
+
+
+ +

+stop

+
+TimeInstrument stop()
+
+
Stop this time instrument. +

+

+ +
Returns:
this
+
+
+
+ +

+elapsedTime

+
+long elapsedTime()
+
+
Time elapsed between start and stop, in nanoseconds. +

+

+ +
Returns:
time elapsed in nanoseconds
+
+
+
+ +

+print

+
+void print()
+
+
Print information about this time instrument on the console. +

+

+
+
+
+
+ +

+log

+
+void log()
+
+
If the time instrument has an associated logger, then log information about + this time instrument. Note that StopWatch instances cannot log while Profiler + instances can. +

+

+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/class-use/DurationUnit.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/class-use/DurationUnit.html new file mode 100644 index 0000000..1b6b937 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/class-use/DurationUnit.html @@ -0,0 +1,190 @@ + + + + + + + +Uses of Class org.slf4j.profiler.DurationUnit (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.profiler.DurationUnit

+
+ + + + + + + + + +
+Packages that use DurationUnit
org.slf4j.profilerPoor man's profiler API 
+  +

+ + + + + +
+Uses of DurationUnit in org.slf4j.profiler
+  +

+ + + + + + + + + + + + + +
Methods in org.slf4j.profiler that return DurationUnit
+static DurationUnitDurationUnit.valueOf(String name) + +
+          Returns the enum constant of this type with the specified name.
+static DurationUnit[]DurationUnit.values() + +
+          Returns an array containing the constants of this enum type, in +the order they are declared.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/class-use/Profiler.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/class-use/Profiler.html new file mode 100644 index 0000000..fd1955c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/class-use/Profiler.html @@ -0,0 +1,214 @@ + + + + + + + +Uses of Class org.slf4j.profiler.Profiler (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.profiler.Profiler

+
+ + + + + + + + + +
+Packages that use Profiler
org.slf4j.profilerPoor man's profiler API 
+  +

+ + + + + +
+Uses of Profiler in org.slf4j.profiler
+  +

+ + + + + + + + + + + + + +
Methods in org.slf4j.profiler that return Profiler
+ ProfilerProfilerRegistry.get(String name) + +
+           
+ ProfilerProfiler.startNested(String name) + +
+           
+  +

+ + + + + + + + + + + + + +
Methods in org.slf4j.profiler with parameters of type Profiler
+ voidProfilerRegistry.put(Profiler profiler) + +
+           
+ voidProfilerRegistry.put(String name, + Profiler profiler) + +
+           
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/class-use/ProfilerRegistry.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/class-use/ProfilerRegistry.html new file mode 100644 index 0000000..7ba6a2a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/class-use/ProfilerRegistry.html @@ -0,0 +1,205 @@ + + + + + + + +Uses of Class org.slf4j.profiler.ProfilerRegistry (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.profiler.ProfilerRegistry

+
+ + + + + + + + + +
+Packages that use ProfilerRegistry
org.slf4j.profilerPoor man's profiler API 
+  +

+ + + + + +
+Uses of ProfilerRegistry in org.slf4j.profiler
+  +

+ + + + + + + + + + + + + +
Methods in org.slf4j.profiler that return ProfilerRegistry
+ ProfilerRegistryProfiler.getProfilerRegistry() + +
+           
+static ProfilerRegistryProfilerRegistry.getThreadContextInstance() + +
+           
+  +

+ + + + + + + + + +
Methods in org.slf4j.profiler with parameters of type ProfilerRegistry
+ voidProfiler.registerWith(ProfilerRegistry profilerRegistry) + +
+           
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/class-use/SpacePadder.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/class-use/SpacePadder.html new file mode 100644 index 0000000..f3e9d38 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/class-use/SpacePadder.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.profiler.SpacePadder (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.profiler.SpacePadder

+
+No usage of org.slf4j.profiler.SpacePadder +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/class-use/StopWatch.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/class-use/StopWatch.html new file mode 100644 index 0000000..157ff41 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/class-use/StopWatch.html @@ -0,0 +1,189 @@ + + + + + + + +Uses of Class org.slf4j.profiler.StopWatch (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.profiler.StopWatch

+
+ + + + + + + + + +
+Packages that use StopWatch
org.slf4j.profilerPoor man's profiler API 
+  +

+ + + + + +
+Uses of StopWatch in org.slf4j.profiler
+  +

+ + + + + + + + + + + + + +
Methods in org.slf4j.profiler that return StopWatch
+ StopWatchProfiler.getCopyOfGlobalStopWatch() + +
+          Return a copy of the global stopwath of this Profiler instance.
+ StopWatchStopWatch.stop(long stopTime) + +
+           
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/class-use/TimeInstrument.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/class-use/TimeInstrument.html new file mode 100644 index 0000000..74bfdd0 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/class-use/TimeInstrument.html @@ -0,0 +1,239 @@ + + + + + + + +Uses of Interface org.slf4j.profiler.TimeInstrument (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Interface
org.slf4j.profiler.TimeInstrument

+
+ + + + + + + + + +
+Packages that use TimeInstrument
org.slf4j.profilerPoor man's profiler API 
+  +

+ + + + + +
+Uses of TimeInstrument in org.slf4j.profiler
+  +

+ + + + + + + + + + + + + +
Classes in org.slf4j.profiler that implement TimeInstrument
+ classProfiler + +
+          A poor man's profiler to measure the time elapsed performing some lengthy + task.
+ classStopWatch + +
+          A very basic @{link TimeInstrument} which can be started and stopped + once and only once.
+  +

+ + + + + + + + + + + + + + + + + +
Methods in org.slf4j.profiler that return TimeInstrument
+ TimeInstrumentTimeInstrument.stop() + +
+          Stop this time instrument.
+ TimeInstrumentStopWatch.stop() + +
+           
+ TimeInstrumentProfiler.stop() + +
+           
+  +

+ + + + + + + + + +
Methods in org.slf4j.profiler that return types with arguments of type TimeInstrument
+ List<TimeInstrument>Profiler.getCopyOfChildTimeInstruments() + +
+          Return a copy of the child instrument list for this Profiler instance.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/package-frame.html new file mode 100644 index 0000000..94b6327 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/package-frame.html @@ -0,0 +1,61 @@ + + + + + + + +org.slf4j.profiler (SLF4J 1.7.5 API) + + + + + + + + + + + +org.slf4j.profiler + + + + +
+Interfaces  + +
+TimeInstrument
+ + + + + + +
+Classes  + +
+Profiler +
+ProfilerRegistry +
+SpacePadder +
+StopWatch
+ + + + + + +
+Enums  + +
+DurationUnit
+ + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/package-summary.html new file mode 100644 index 0000000..e6d1d6c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/package-summary.html @@ -0,0 +1,216 @@ + + + + + + + +org.slf4j.profiler (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+

+Package org.slf4j.profiler +

+Poor man's profiler API +

+See: +
+          Description +

+ + + + + + + + + +
+Interface Summary
TimeInstrumentThis interface sets the methods that must be implemented by + Profiler and StopWatch classes.
+  + +

+ + + + + + + + + + + + + + + + + + + + + +
+Class Summary
ProfilerA poor man's profiler to measure the time elapsed performing some lengthy + task.
ProfilerRegistryA minimalist registry of profilers.
SpacePadder 
StopWatchA very basic @{link TimeInstrument} which can be started and stopped + once and only once.
+  + +

+ + + + + + + + + +
+Enum Summary
DurationUnitAn enum of supported time units.
+  + +

+

+Package org.slf4j.profiler Description +

+ +

+

Poor man's profiler API

+

+ +

+

+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/package-tree.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/package-tree.html new file mode 100644 index 0000000..153d159 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/package-tree.html @@ -0,0 +1,171 @@ + + + + + + + +org.slf4j.profiler Class Hierarchy (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For Package org.slf4j.profiler +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+ +

+Interface Hierarchy +

+ +

+Enum Hierarchy +

+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/package-use.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/package-use.html new file mode 100644 index 0000000..a0cf783 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/profiler/package-use.html @@ -0,0 +1,198 @@ + + + + + + + +Uses of Package org.slf4j.profiler (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Package
org.slf4j.profiler

+
+ + + + + + + + + +
+Packages that use org.slf4j.profiler
org.slf4j.profilerPoor man's profiler API 
+  +

+ + + + + + + + + + + + + + + + + + + + +
+Classes in org.slf4j.profiler used by org.slf4j.profiler
DurationUnit + +
+          An enum of supported time units.
Profiler + +
+          A poor man's profiler to measure the time elapsed performing some lengthy + task.
ProfilerRegistry + +
+          A minimalist registry of profilers.
StopWatch + +
+          A very basic @{link TimeInstrument} which can be started and stopped + once and only once.
TimeInstrument + +
+          This interface sets the methods that must be implemented by + Profiler and StopWatch classes.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/spi/LocationAwareLogger.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/spi/LocationAwareLogger.html new file mode 100644 index 0000000..6d875a5 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/spi/LocationAwareLogger.html @@ -0,0 +1,369 @@ + + + + + + + +LocationAwareLogger (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.spi +
+Interface LocationAwareLogger

+
+
All Superinterfaces:
Logger
+
+
+
All Known Implementing Classes:
JDK14LoggerAdapter, Log4jLoggerAdapter
+
+
+
+
public interface LocationAwareLogger
extends Logger
+ + +

+An optional interface helping integration with logging systems capable of + extracting location information. This interface is mainly used by SLF4J bridges + such as jcl-over-slf4j, jul-to-slf4j and log4j-over-slf4j or Logger wrappers + which need to provide hints so that the underlying logging system can extract + the correct location information (method name, line number). +

+ +

+

+
Since:
+
1.3
+
Author:
+
Ceki Gulcu
+
+
+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Field Summary
+static intDEBUG_INT + +
+           
+static intERROR_INT + +
+           
+static intINFO_INT + +
+           
+static intTRACE_INT + +
+           
+static intWARN_INT + +
+           
+ + + + + + + +
Fields inherited from interface org.slf4j.Logger
ROOT_LOGGER_NAME
+  + + + + + + + + + + + +
+Method Summary
+ voidlog(Marker marker, + String fqcn, + int level, + String message, + Object[] argArray, + Throwable t) + +
+          Printing method with support for location information.
+ + + + + + + +
Methods inherited from interface org.slf4j.Logger
debug, debug, debug, debug, debug, debug, debug, debug, debug, debug, error, error, error, error, error, error, error, error, error, error, getName, info, info, info, info, info, info, info, info, info, info, isDebugEnabled, isDebugEnabled, isErrorEnabled, isErrorEnabled, isInfoEnabled, isInfoEnabled, isTraceEnabled, isTraceEnabled, isWarnEnabled, isWarnEnabled, trace, trace, trace, trace, trace, trace, trace, trace, trace, trace, warn, warn, warn, warn, warn, warn, warn, warn, warn, warn
+  +

+ + + + + + + + +
+Field Detail
+ +

+TRACE_INT

+
+static final int TRACE_INT
+
+
+
See Also:
Constant Field Values
+
+
+ +

+DEBUG_INT

+
+static final int DEBUG_INT
+
+
+
See Also:
Constant Field Values
+
+
+ +

+INFO_INT

+
+static final int INFO_INT
+
+
+
See Also:
Constant Field Values
+
+
+ +

+WARN_INT

+
+static final int WARN_INT
+
+
+
See Also:
Constant Field Values
+
+
+ +

+ERROR_INT

+
+static final int ERROR_INT
+
+
+
See Also:
Constant Field Values
+
+ + + + + + + + +
+Method Detail
+ +

+log

+
+void log(Marker marker,
+         String fqcn,
+         int level,
+         String message,
+         Object[] argArray,
+         Throwable t)
+
+
Printing method with support for location information. +

+

+
+
+
+
Parameters:
marker - The marker to be used for this event, may be null.
fqcn - The fully qualified class name of the logger instance, + typically the logger class, logger bridge or a logger wrapper.
level - One of the level integers defined in this interface
message - The message for the log event
t - Throwable associated with the log event, may be null.
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/spi/LoggerFactoryBinder.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/spi/LoggerFactoryBinder.html new file mode 100644 index 0000000..3d645b5 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/spi/LoggerFactoryBinder.html @@ -0,0 +1,250 @@ + + + + + + + +LoggerFactoryBinder (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.spi +
+Interface LoggerFactoryBinder

+
+
+
public interface LoggerFactoryBinder
+ + +

+An internal interface which helps the static LoggerFactory + class bind with the appropriate ILoggerFactory instance. +

+ +

+

+
Author:
+
Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Method Summary
+ ILoggerFactorygetLoggerFactory() + +
+          Return the instance of ILoggerFactory that + LoggerFactory class should bind to.
+ StringgetLoggerFactoryClassStr() + +
+          The String form of the ILoggerFactory object that this + LoggerFactoryBinder instance is intended to return.
+  +

+ + + + + + + + +
+Method Detail
+ +

+getLoggerFactory

+
+ILoggerFactory getLoggerFactory()
+
+
Return the instance of ILoggerFactory that + LoggerFactory class should bind to. +

+

+ +
Returns:
the instance of ILoggerFactory that + LoggerFactory class should bind to.
+
+
+
+ +

+getLoggerFactoryClassStr

+
+String getLoggerFactoryClassStr()
+
+
The String form of the ILoggerFactory object that this + LoggerFactoryBinder instance is intended to return. + +

This method allows the developer to intterogate this binder's intention + which may be different from the ILoggerFactory instance it is able to + yield in practice. The discrepency should only occur in case of errors. +

+

+ +
Returns:
the class name of the intended ILoggerFactory instance
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/spi/MDCAdapter.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/spi/MDCAdapter.html new file mode 100644 index 0000000..ace0e06 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/spi/MDCAdapter.html @@ -0,0 +1,354 @@ + + + + + + + +MDCAdapter (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.spi +
+Interface MDCAdapter

+
+
All Known Implementing Classes:
BasicMDCAdapter, Log4jMDCAdapter, NOPMDCAdapter
+
+
+
+
public interface MDCAdapter
+ + +

+This interface abstracts the service offered by various MDC + implementations. +

+ +

+

+
Since:
+
1.4.1
+
Author:
+
Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidclear() + +
+          Clear all entries in the MDC.
+ Stringget(String key) + +
+          Get the context identified by the key parameter.
+ MapgetCopyOfContextMap() + +
+          Return a copy of the current thread's context map, with keys and + values of type String.
+ voidput(String key, + String val) + +
+          Put a context value (the val parameter) as identified with + the key parameter into the current thread's context map.
+ voidremove(String key) + +
+          Remove the the context identified by the key parameter.
+ voidsetContextMap(Map contextMap) + +
+          Set the current thread's context map by first clearing any existing + map and then copying the map passed as parameter.
+  +

+ + + + + + + + +
+Method Detail
+ +

+put

+
+void put(String key,
+         String val)
+
+
Put a context value (the val parameter) as identified with + the key parameter into the current thread's context map. + The key parameter cannot be null. The code>val parameter + can be null only if the underlying implementation supports it. + +

If the current thread does not have a context map it is created as a side + effect of this call. +

+

+
+
+
+
+ +

+get

+
+String get(String key)
+
+
Get the context identified by the key parameter. + The key parameter cannot be null. +

+

+ +
Returns:
the string value identified by the key parameter.
+
+
+
+ +

+remove

+
+void remove(String key)
+
+
Remove the the context identified by the key parameter. + The key parameter cannot be null. + +

+ This method does nothing if there is no previous value + associated with key. +

+

+
+
+
+
+ +

+clear

+
+void clear()
+
+
Clear all entries in the MDC. +

+

+
+
+
+
+ +

+getCopyOfContextMap

+
+Map getCopyOfContextMap()
+
+
Return a copy of the current thread's context map, with keys and + values of type String. Returned value may be null. +

+

+ +
Returns:
A copy of the current thread's context map. May be null.
Since:
+
1.5.1
+
+
+
+
+ +

+setContextMap

+
+void setContextMap(Map contextMap)
+
+
Set the current thread's context map by first clearing any existing + map and then copying the map passed as parameter. The context map + parameter must only contain keys and values of type String. +

+

+
Parameters:
contextMap - must contain only keys and values of type String
Since:
+
1.5.1
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/spi/MarkerFactoryBinder.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/spi/MarkerFactoryBinder.html new file mode 100644 index 0000000..b5ab22c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/spi/MarkerFactoryBinder.html @@ -0,0 +1,253 @@ + + + + + + + +MarkerFactoryBinder (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.spi +
+Interface MarkerFactoryBinder

+
+
All Known Implementing Classes:
StaticMarkerBinder
+
+
+
+
public interface MarkerFactoryBinder
+ + +

+An internal interface which helps the static MarkerFactory + class bind with the appropriate IMarkerFactory instance. +

+ +

+

+
Author:
+
Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + + + + + + +
+Method Summary
+ IMarkerFactorygetMarkerFactory() + +
+          Return the instance of IMarkerFactory that + MarkerFactory class should bind to.
+ StringgetMarkerFactoryClassStr() + +
+          The String form of the IMarkerFactory object that this + MarkerFactoryBinder instance is intended to return.
+  +

+ + + + + + + + +
+Method Detail
+ +

+getMarkerFactory

+
+IMarkerFactory getMarkerFactory()
+
+
Return the instance of IMarkerFactory that + MarkerFactory class should bind to. +

+

+ +
Returns:
the instance of IMarkerFactory that + MarkerFactory class should bind to.
+
+
+
+ +

+getMarkerFactoryClassStr

+
+String getMarkerFactoryClassStr()
+
+
The String form of the IMarkerFactory object that this + MarkerFactoryBinder instance is intended to return. + +

This method allows the developer to intterogate this binder's intention + which may be different from the IMarkerFactory instance it is able to + return. Such a discrepency should only occur in case of errors. +

+

+ +
Returns:
the class name of the intended IMarkerFactory instance
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/spi/class-use/LocationAwareLogger.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/spi/class-use/LocationAwareLogger.html new file mode 100644 index 0000000..e57ca63 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/spi/class-use/LocationAwareLogger.html @@ -0,0 +1,221 @@ + + + + + + + +Uses of Interface org.slf4j.spi.LocationAwareLogger (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Interface
org.slf4j.spi.LocationAwareLogger

+
+ + + + + + + + + + + + + +
+Packages that use LocationAwareLogger
org.slf4j.bridgeBridge/route all JUL log records to the SLF4J API. 
org.slf4j.implImplementations of core logging interfaces defined in the org.slf4j package. 
+  +

+ + + + + +
+Uses of LocationAwareLogger in org.slf4j.bridge
+  +

+ + + + + + + + + +
Methods in org.slf4j.bridge with parameters of type LocationAwareLogger
+protected  voidSLF4JBridgeHandler.callLocationAwareLogger(LocationAwareLogger lal, + LogRecord record) + +
+           
+  +

+ + + + + +
+Uses of LocationAwareLogger in org.slf4j.impl
+  +

+ + + + + + + + + + + + + +
Classes in org.slf4j.impl that implement LocationAwareLogger
+ classJDK14LoggerAdapter + +
+          A wrapper over java.util.logging.Logger in + conformity with the Logger interface.
+ classLog4jLoggerAdapter + +
+          A wrapper over org.apache.log4j.Logger in + conforming to the Logger interface.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/spi/class-use/LoggerFactoryBinder.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/spi/class-use/LoggerFactoryBinder.html new file mode 100644 index 0000000..0b31dbd --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/spi/class-use/LoggerFactoryBinder.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Interface org.slf4j.spi.LoggerFactoryBinder (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Interface
org.slf4j.spi.LoggerFactoryBinder

+
+No usage of org.slf4j.spi.LoggerFactoryBinder +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/spi/class-use/MDCAdapter.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/spi/class-use/MDCAdapter.html new file mode 100644 index 0000000..dc93a6a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/spi/class-use/MDCAdapter.html @@ -0,0 +1,265 @@ + + + + + + + +Uses of Interface org.slf4j.spi.MDCAdapter (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Interface
org.slf4j.spi.MDCAdapter

+
+ + + + + + + + + + + + + + + + + +
+Packages that use MDCAdapter
org.slf4jCore logging interfaces. 
org.slf4j.helpersHelper classes. 
org.slf4j.implImplementations of core logging interfaces defined in the org.slf4j package. 
+  +

+ + + + + +
+Uses of MDCAdapter in org.slf4j
+  +

+ + + + + + + + + +
Methods in org.slf4j that return MDCAdapter
+static MDCAdapterMDC.getMDCAdapter() + +
+          Returns the MDCAdapter instance currently in use.
+  +

+ + + + + +
+Uses of MDCAdapter in org.slf4j.helpers
+  +

+ + + + + + + + + + + + + +
Classes in org.slf4j.helpers that implement MDCAdapter
+ classBasicMDCAdapter + +
+          Basic MDC implementation, which can be used with logging systems that lack + out-of-the-box MDC support.
+ classNOPMDCAdapter + +
+          This adapter is an empty implementation of the MDCAdapter interface.
+  +

+ + + + + +
+Uses of MDCAdapter in org.slf4j.impl
+  +

+ + + + + + + + + +
Classes in org.slf4j.impl that implement MDCAdapter
+ classLog4jMDCAdapter + +
+           
+  +

+ + + + + + + + + +
Methods in org.slf4j.impl that return MDCAdapter
+ MDCAdapterStaticMDCBinder.getMDCA() + +
+          Currently this method always returns an instance of + StaticMDCBinder.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/spi/class-use/MarkerFactoryBinder.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/spi/class-use/MarkerFactoryBinder.html new file mode 100644 index 0000000..7143603 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/spi/class-use/MarkerFactoryBinder.html @@ -0,0 +1,182 @@ + + + + + + + +Uses of Interface org.slf4j.spi.MarkerFactoryBinder (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Interface
org.slf4j.spi.MarkerFactoryBinder

+
+ + + + + + + + + +
+Packages that use MarkerFactoryBinder
org.slf4j.implImplementations of core logging interfaces defined in the org.slf4j package. 
+  +

+ + + + + +
+Uses of MarkerFactoryBinder in org.slf4j.impl
+  +

+ + + + + + + + + +
Classes in org.slf4j.impl that implement MarkerFactoryBinder
+ classStaticMarkerBinder + +
+          The binding of MarkerFactory class with an actual instance of + IMarkerFactory is performed using information returned by this class.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/spi/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/spi/package-frame.html new file mode 100644 index 0000000..3578858 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/spi/package-frame.html @@ -0,0 +1,39 @@ + + + + + + + +org.slf4j.spi (SLF4J 1.7.5 API) + + + + + + + + + + + +org.slf4j.spi + + + + +
+Interfaces  + +
+LocationAwareLogger +
+LoggerFactoryBinder +
+MarkerFactoryBinder +
+MDCAdapter
+ + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/spi/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/spi/package-summary.html new file mode 100644 index 0000000..4b04071 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/spi/package-summary.html @@ -0,0 +1,191 @@ + + + + + + + +org.slf4j.spi (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+

+Package org.slf4j.spi +

+Classes and interfaces which are internal to SLF4J. +

+See: +
+          Description +

+ + + + + + + + + + + + + + + + + + + + + +
+Interface Summary
LocationAwareLoggerAn optional interface helping integration with logging systems capable of + extracting location information.
LoggerFactoryBinderAn internal interface which helps the static LoggerFactory + class bind with the appropriate ILoggerFactory instance.
MarkerFactoryBinderAn internal interface which helps the static MarkerFactory + class bind with the appropriate IMarkerFactory instance.
MDCAdapterThis interface abstracts the service offered by various MDC + implementations.
+  + +

+

+Package org.slf4j.spi Description +

+ +

+Classes and interfaces which are internal to SLF4J. Under most +circumstances SLF4J users should be oblivious even to the existence of +this package. +

+ +

+

+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/spi/package-tree.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/spi/package-tree.html new file mode 100644 index 0000000..b276dcf --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/spi/package-tree.html @@ -0,0 +1,154 @@ + + + + + + + +org.slf4j.spi Class Hierarchy (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For Package org.slf4j.spi +

+
+
+
Package Hierarchies:
All Packages
+
+

+Interface Hierarchy +

+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/spi/package-use.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/spi/package-use.html new file mode 100644 index 0000000..68c995c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/org/slf4j/spi/package-use.html @@ -0,0 +1,246 @@ + + + + + + + +Uses of Package org.slf4j.spi (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Package
org.slf4j.spi

+
+ + + + + + + + + + + + + + + + + + + + + +
+Packages that use org.slf4j.spi
org.slf4jCore logging interfaces. 
org.slf4j.bridgeBridge/route all JUL log records to the SLF4J API. 
org.slf4j.helpersHelper classes. 
org.slf4j.implImplementations of core logging interfaces defined in the org.slf4j package. 
+  +

+ + + + + + + + +
+Classes in org.slf4j.spi used by org.slf4j
MDCAdapter + +
+          This interface abstracts the service offered by various MDC + implementations.
+  +

+ + + + + + + + +
+Classes in org.slf4j.spi used by org.slf4j.bridge
LocationAwareLogger + +
+          An optional interface helping integration with logging systems capable of + extracting location information.
+  +

+ + + + + + + + +
+Classes in org.slf4j.spi used by org.slf4j.helpers
MDCAdapter + +
+          This interface abstracts the service offered by various MDC + implementations.
+  +

+ + + + + + + + + + + + + + +
+Classes in org.slf4j.spi used by org.slf4j.impl
LocationAwareLogger + +
+          An optional interface helping integration with logging systems capable of + extracting location information.
MarkerFactoryBinder + +
+          An internal interface which helps the static MarkerFactory + class bind with the appropriate IMarkerFactory instance.
MDCAdapter + +
+          This interface abstracts the service offered by various MDC + implementations.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/overview-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/overview-frame.html new file mode 100644 index 0000000..889461f --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/overview-frame.html @@ -0,0 +1,75 @@ + + + + + + + +Overview List (SLF4J 1.7.5 API) + + + + + + + + + + + + + + + +
+
+ + + + + +
All Classes +

+ +Packages +
+org.apache.commons.logging +
+org.apache.commons.logging.impl +
+org.apache.log4j +
+org.apache.log4j.helpers +
+org.apache.log4j.spi +
+org.apache.log4j.xml +
+org.slf4j +
+org.slf4j.agent +
+org.slf4j.bridge +
+org.slf4j.cal10n +
+org.slf4j.ext +
+org.slf4j.helpers +
+org.slf4j.impl +
+org.slf4j.instrumentation +
+org.slf4j.osgi.logservice.impl +
+org.slf4j.profiler +
+org.slf4j.spi +
+

+ +

+  + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/overview-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/overview-summary.html new file mode 100644 index 0000000..00ec7ef --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/overview-summary.html @@ -0,0 +1,258 @@ + + + + + + + +Overview (SLF4J 1.7.5 API) + + + + + + + + + + + + +


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+SLF4J 1.7.5 API +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+SLF4J packages
org.slf4jCore logging interfaces.
org.slf4j.helpersHelper classes.
org.slf4j.implImplementations of core logging interfaces defined in the org.slf4j package.
org.slf4j.osgi.logservice.impl 
org.slf4j.spiClasses and interfaces which are internal to SLF4J.
+ +

+  + + + + + + + + + + + + + + + + + + + + + + + + +
+SLF4J extensions
org.slf4j.agent"-javaagent" routines for SLF4J.
org.slf4j.cal10nSLF4J API extensions
org.slf4j.extLocalized logging using the CAL10N API.
org.slf4j.instrumentationJava instrumentation routines for SLF4J.
org.slf4j.profilerPoor man's profiler API
+ +

+  + + + + + + + + + + + + +
+Jakarta Commons Logging packages
org.apache.commons.loggingJakarta Commons Logging implemented over SLF4J.
org.apache.commons.logging.implSLF4J based implementation of commons-logging wrapper APIs.
+ +

+  + + + + + + + + +
+java.util.logging (JUL) to SLF4J bridge
org.slf4j.bridgeBridge/route all JUL log records to the SLF4J API.
+ +

+  + + + + + + + + + + + + + + + + + + + + +
+Apache log4j
org.apache.log4jAn rather minimal but sufficient implementation redirecting all + calls to a log4j logger to a logback logger.
org.apache.log4j.helpers 
org.apache.log4j.spi 
org.apache.log4j.xml 
+ +


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/overview-tree.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/overview-tree.html new file mode 100644 index 0000000..a66f1c6 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/overview-tree.html @@ -0,0 +1,228 @@ + + + + + + + +Class Hierarchy (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For All Packages

+
+
+
Package Hierarchies:
org.apache.commons.logging, org.apache.commons.logging.impl, org.apache.log4j, org.apache.log4j.helpers, org.apache.log4j.spi, org.apache.log4j.xml, org.slf4j, org.slf4j.agent, org.slf4j.bridge, org.slf4j.cal10n, org.slf4j.ext, org.slf4j.helpers, org.slf4j.impl, org.slf4j.instrumentation, org.slf4j.osgi.logservice.impl, org.slf4j.profiler, org.slf4j.spi
+
+

+Class Hierarchy +

+ +

+Interface Hierarchy +

+ +

+Enum Hierarchy +

+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/package-list b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/package-list new file mode 100644 index 0000000..5c83382 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/package-list @@ -0,0 +1,17 @@ +org.apache.commons.logging +org.apache.commons.logging.impl +org.apache.log4j +org.apache.log4j.helpers +org.apache.log4j.spi +org.apache.log4j.xml +org.slf4j +org.slf4j.agent +org.slf4j.bridge +org.slf4j.cal10n +org.slf4j.ext +org.slf4j.helpers +org.slf4j.impl +org.slf4j.instrumentation +org.slf4j.osgi.logservice.impl +org.slf4j.profiler +org.slf4j.spi diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/resources/inherit.gif b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/resources/inherit.gif new file mode 100644 index 0000000..c814867 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/resources/inherit.gif differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/serialized-form.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/serialized-form.html new file mode 100644 index 0000000..6dd4ade --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/serialized-form.html @@ -0,0 +1,1045 @@ + + + + + + + +Serialized Form (SLF4J 1.7.5 API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Serialized Form

+
+
+ + + + + +
+Package org.apache.commons.logging
+ +

+ + + + + +
+Class org.apache.commons.logging.LogConfigurationException extends RuntimeException implements Serializable
+ +

+serialVersionUID: 8486587136871052495L + +

+ + + + + +
+Serialized Fields
+ +

+cause

+
+Throwable cause
+
+
The underlying cause of this exception. +

+

+
+
+
+ + + + + +
+Package org.apache.commons.logging.impl
+ +

+ + + + + +
+Class org.apache.commons.logging.impl.Jdk13LumberjackLogger extends Object implements Serializable
+ +

+ + + + + +
+Serialized Fields
+ +

+name

+
+String name
+
+
+
+
+
+

+sourceClassName

+
+String sourceClassName
+
+
+
+
+
+

+sourceMethodName

+
+String sourceMethodName
+
+
+
+
+
+

+classAndMethodFound

+
+boolean classAndMethodFound
+
+
+
+
+ +

+ + + + + +
+Class org.apache.commons.logging.impl.Jdk14Logger extends Object implements Serializable
+ +

+ + + + + +
+Serialized Fields
+ +

+name

+
+String name
+
+
+
+
+ +

+ + + + + +
+Class org.apache.commons.logging.impl.Log4JLogger extends Object implements Serializable
+ +

+ + + + + +
+Serialized Fields
+ +

+name

+
+String name
+
+
+
+
+ +

+ + + + + +
+Class org.apache.commons.logging.impl.LogKitLogger extends Object implements Serializable
+ +

+ + + + + +
+Serialized Fields
+ +

+name

+
+String name
+
+
+
+
+ +

+ + + + + +
+Class org.apache.commons.logging.impl.NoOpLog extends Object implements Serializable
+ +

+serialVersionUID: 561423906191706148L + +

+ +

+ + + + + +
+Class org.apache.commons.logging.impl.SimpleLog extends Object implements Serializable
+ +

+serialVersionUID: 136942970684951178L + +

+ + + + + +
+Serialized Fields
+ +

+logName

+
+String logName
+
+
The name of this simple log instance +

+

+
+
+
+

+currentLogLevel

+
+int currentLogLevel
+
+
The current log level +

+

+
+
+
+

+shortLogName

+
+String shortLogName
+
+
The short name of this simple log instance +

+

+
+
+ +

+ + + + + +
+Class org.apache.commons.logging.impl.SLF4JLocationAwareLog extends Object implements Serializable
+ +

+serialVersionUID: -2379157579039314822L + +

+ + + + + +
+Serialization Methods
+ +

+

+readResolve

+
+protected Object readResolve()
+                      throws ObjectStreamException
+
+
Replace this instance with a homonymous (same name) logger returned by + LoggerFactory. Note that this method is only called during deserialization. +

+

+ +
Throws: +
ObjectStreamException
+
+
+ + + + + +
+Serialized Fields
+ +

+name

+
+String name
+
+
+
+
+ +

+ + + + + +
+Class org.apache.commons.logging.impl.SLF4JLog extends Object implements Serializable
+ +

+serialVersionUID: 680728617011167209L + +

+ + + + + +
+Serialization Methods
+ +

+

+readResolve

+
+protected Object readResolve()
+                      throws ObjectStreamException
+
+
Replace this instance with a homonymous (same name) logger returned by + LoggerFactory. Note that this method is only called during deserialization. +

+

+ +
Throws: +
ObjectStreamException
+
+
+ + + + + +
+Serialized Fields
+ +

+name

+
+String name
+
+
+
+
+ +

+ + + + + +
+Class org.apache.commons.logging.impl.WeakHashtable extends Hashtable implements Serializable
+ +

+ + + + + +
+Serialized Fields
+ +

+queue

+
+ReferenceQueue<T> queue
+
+
+
+
+
+

+changeCount

+
+int changeCount
+
+
+
+
+
+ + + + + +
+Package org.apache.log4j
+ +

+ + + + + +
+Class org.apache.log4j.Level extends Priority implements Serializable
+ +

+serialVersionUID: 3491141966387921974L + +

+ + + + + +
+Serialization Methods
+ +

+

+readObject

+
+private void readObject(ObjectInputStream s)
+                 throws IOException,
+                        ClassNotFoundException
+
+
Custom deserialization of Level. +

+

+ +
Throws: +
IOException - if IO exception. +
ClassNotFoundException - if class not found.
+
+
+
+

+writeObject

+
+private void writeObject(ObjectOutputStream s)
+                  throws IOException
+
+
Serialize level. +

+

+ +
Throws: +
IOException - if exception during serialization.
+
+
+
+

+readResolve

+
+private Object readResolve()
+                    throws ObjectStreamException
+
+
Resolved deserialized level to one of the stock instances. + May be overriden in classes derived from Level. +

+

+ +
Throws: +
ObjectStreamException - if exception during resolution.
+
+
+
+ + + + + +
+Package org.apache.log4j.helpers
+ +

+ + + + + +
+Class org.apache.log4j.helpers.AbsoluteTimeDateFormat extends DateFormat implements Serializable
+ +

+serialVersionUID: -388856345976723342L + +

+ +

+ + + + + +
+Class org.apache.log4j.helpers.DateTimeDateFormat extends org.apache.log4j.helpers.AbsoluteTimeDateFormat implements Serializable
+ +

+serialVersionUID: 5547637772208514971L + +

+ + + + + +
+Serialized Fields
+ +

+shortMonths

+
+String[] shortMonths
+
+
+
+
+ +

+ + + + + +
+Class org.apache.log4j.helpers.ISO8601DateFormat extends org.apache.log4j.helpers.AbsoluteTimeDateFormat implements Serializable
+ +

+serialVersionUID: -759840745298755296L + +

+ +

+ + + + + +
+Class org.apache.log4j.helpers.RelativeTimeDateFormat extends DateFormat implements Serializable
+ +

+serialVersionUID: 7055751607085611984L + +

+ + + + + +
+Serialized Fields
+ +

+startTime

+
+long startTime
+
+
+
+
+ +

+ + + + + +
+Class org.apache.log4j.helpers.UtilLoggingLevel extends Level implements Serializable
+ +

+serialVersionUID: 909301162611820211L + +

+


+ + + + + +
+Package org.apache.log4j.spi
+ +

+ + + + + +
+Class org.apache.log4j.spi.LocationInfo extends Object implements Serializable
+ +

+serialVersionUID: -1325822038990805636L + +

+ + + + + +
+Serialized Fields
+ +

+fullInfo

+
+String fullInfo
+
+
+
+
+ +

+ + + + + +
+Class org.apache.log4j.spi.ThrowableInformation extends Object implements Serializable
+ +

+serialVersionUID: -4748765566864322735L + +

+ + + + + +
+Serialized Fields
+ +

+rep

+
+String[] rep
+
+
+
+
+
+ + + + + +
+Package org.slf4j
+
+ + + + + +
+Package org.slf4j.ext
+ +

+ + + + + +
+Class org.slf4j.ext.EventData extends Object implements Serializable
+ +

+serialVersionUID: 153270778642103985L + +

+ + + + + +
+Serialized Fields
+ +

+eventData

+
+Map<K,V> eventData
+
+
+
+
+ +

+ + + + + +
+Class org.slf4j.ext.EventException extends RuntimeException implements Serializable
+ +

+serialVersionUID: -22873966112391992L + +

+


+ + + + + +
+Package org.slf4j.helpers
+ +

+ + + + + +
+Class org.slf4j.helpers.BasicMarker extends Object implements Serializable
+ +

+serialVersionUID: 1803952589649545191L + +

+ + + + + +
+Serialized Fields
+ +

+name

+
+String name
+
+
+
+
+
+

+refereceList

+
+List<E> refereceList
+
+
+
+
+ +

+ + + + + +
+Class org.slf4j.helpers.MarkerIgnoringBase extends org.slf4j.helpers.NamedLoggerBase implements Serializable
+ +

+serialVersionUID: 9044267456635152283L + +

+ +

+ + + + + +
+Class org.slf4j.helpers.NOPLogger extends MarkerIgnoringBase implements Serializable
+ +

+serialVersionUID: -517220405410904473L + +

+


+ + + + + +
+Package org.slf4j.impl
+ +

+ + + + + +
+Class org.slf4j.impl.JCLLoggerAdapter extends MarkerIgnoringBase implements Serializable
+ +

+serialVersionUID: 4141593417490482209L + +

+ + + + + +
+Serialized Fields
+ +

+log

+
+Log log
+
+
+
+
+ +

+ + + + + +
+Class org.slf4j.impl.JDK14LoggerAdapter extends MarkerIgnoringBase implements Serializable
+ +

+serialVersionUID: -8053026990503422791L + +

+ +

+ + + + + +
+Class org.slf4j.impl.Log4jLoggerAdapter extends MarkerIgnoringBase implements Serializable
+ +

+serialVersionUID: 6182834493563598289L + +

+ + + + + +
+Serialized Fields
+ +

+traceCapable

+
+boolean traceCapable
+
+
+
+
+ +

+ + + + + +
+Class org.slf4j.impl.SimpleLogger extends MarkerIgnoringBase implements Serializable
+ +

+serialVersionUID: -632788891211436180L + +

+ + + + + +
+Serialized Fields
+ +

+currentLogLevel

+
+int currentLogLevel
+
+
The current log level +

+

+
+
+ +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/stylesheet.css b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/stylesheet.css new file mode 100644 index 0000000..6ea9e51 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/apidocs/stylesheet.css @@ -0,0 +1,29 @@ +/* Javadoc style sheet */ + +/* Define colors, fonts and other style attributes here to override the defaults */ + +/* Page background color */ +body { background-color: #FFFFFF; color:#000000 } + +/* Headings */ +h1 { font-size: 145% } + +/* Table colors */ +.TableHeadingColor { background: #CCCCFF; color:#000000 } /* Dark mauve */ +.TableSubHeadingColor { background: #EEEEFF; color:#000000 } /* Light mauve */ +.TableRowColor { background: #FFFFFF; color:#000000 } /* White */ + +/* Font used in left-hand frame lists */ +.FrameTitleFont { font-size: 100%; font-family: Helvetica, Arial, sans-serif; color:#000000 } +.FrameHeadingFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif; color:#000000 } +.FrameItemFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif; color:#000000 } + +/* Navigation bar fonts and colors */ +.NavBarCell1 { background-color:#EEEEFF; color:#000000} /* Light mauve */ +.NavBarCell1Rev { background-color:#00008B; color:#FFFFFF} /* Dark Blue */ +.NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000;color:#000000;} +.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;color:#FFFFFF;} + +.NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000} +.NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000} + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/bug-reporting.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/bug-reporting.html new file mode 100644 index 0000000..64cce0d --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/bug-reporting.html @@ -0,0 +1,97 @@ + + + + + + SLF4J Bug reporting + + + + + + +
+ +
+
+ + +

Before you report a bug

+ +

The SLF4J community consists of those who use SLF4J and its + implementations, help answer questions on discussions lists, + contribute documentation and patches, and those who develop and + maintain the code for SLF4J and its implementations. Almost all + those who assist on a day to day basis resolving bug reports do + this for a wide variety of reasons, and almost all of them do this + on their own time. +

+ +

Many bugs reported end up not being a bug in SLF4J, but are due + to misconfiguration, problems caused by installed applications, + the operating system, etc. +

+ +

Before reporting a bug please make every effort to resolve the + problem yourself. Just reporting a bug will not fix it. A good + bug report includes a detailed description of the problem and a + succinct test case which can reproduce the problem. +

+ +

Review the documentation

+ +

Review the documentation for the version of component you are + using. The problem you are having may already be addressed in the + docs. +

+ +

Search the mailing list archives

+ +

It is very likely you are not the first to run into a problem. + Others may have already found a solution. Our various mailing lists are likely to have + discussed this problem before. +

+ +

Search Bugzilla

+ +

Please search the bug database to see if the bug you are seeing + has already been reported. The bug may have already been fixed + and is available in a later version. If someone else has reported + the same bug, you could add supporting information to help + reproduce and resolve the bug. +

+ + +

Reporting with Bugzilla

+ +

Onlly after you have exhausted the aforementioned steps, should + you file a formal report in bugzilla. +

+ +

Please make sure you provide as much information as + possible. Its very hard to fix a bug if the person looking into + the problem can't reproduce it. +

+ + + + + + + + +
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/changes/changes-1.3.txt b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/changes/changes-1.3.txt new file mode 100644 index 0000000..4079765 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/changes/changes-1.3.txt @@ -0,0 +1,45 @@ + +Changes in SLF4J 1.3.0 with respect to 1.2 as reported by the clirr +tool. + +slf4j-api +========= + +INFO: 6000: org.slf4j.Logger: Added public field ROOT_LOGGER_NAME +INFO: 8000: org.slf4j.LoggerFactory: Class org.slf4j.LoggerFactory added +INFO: 8000: org.slf4j.MarkerFactory: Class org.slf4j.MarkerFactory added +INFO: 8000: org.slf4j.helpers.BasicMarker: Class org.slf4j.helpers.BasicMarker added +INFO: 8000: org.slf4j.helpers.BasicMarkerFactory: Class org.slf4j.helpers.BasicMarkerFactory added +INFO: 8000: org.slf4j.helpers.MarkerIgnoringBase: Class org.slf4j.helpers.MarkerIgnoringBase added +INFO: 8000: org.slf4j.helpers.MessageFormatter: Class org.slf4j.helpers.MessageFormatter added +INFO: 8000: org.slf4j.helpers.Util: Class org.slf4j.helpers.Util added +ERROR: 8001: org.slf4j.impl.BasicMarker: Class org.slf4j.impl.BasicMarker removed +ERROR: 8001: org.slf4j.impl.BasicMarkerFactory: Class org.slf4j.impl.BasicMarkerFactory removed +ERROR: 8001: org.slf4j.impl.MarkerIgnoringBase: Class org.slf4j.impl.MarkerIgnoringBase removed +ERROR: 8001: org.slf4j.impl.MessageFormatter: Class org.slf4j.impl.MessageFormatter removed +ERROR: 8001: org.slf4j.impl.Util: Class org.slf4j.impl.Util removed +INFO: 8000: org.slf4j.spi.LocationAwareLogger: Class org.slf4j.spi.LocationAwareLogger added + +slf4j-nop +========= + +ERROR: 8001: org.slf4j.LoggerFactory: Class org.slf4j.LoggerFactory removed +ERROR: 8001: org.slf4j.MarkerFactory: Class org.slf4j.MarkerFactory removed + +slf4j-simple +============ + +ERROR: 8001: org.slf4j.LoggerFactory: Class org.slf4j.LoggerFactory removed +ERROR: 8001: org.slf4j.MarkerFactory: Class org.slf4j.MarkerFactory removed + +slf4j-log4j12 +============= + +ERROR: 8001: org.slf4j.LoggerFactory: Class org.slf4j.LoggerFactory removed +ERROR: 8001: org.slf4j.MarkerFactory: Class org.slf4j.MarkerFactory removed + +slf4j-jdk14 +=========== + +ERROR: 8001: org.slf4j.LoggerFactory: Class org.slf4j.LoggerFactory removed +ERROR: 8001: org.slf4j.MarkerFactory: Class org.slf4j.MarkerFactory removed \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/codes.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/codes.html new file mode 100644 index 0000000..b7b5690 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/codes.html @@ -0,0 +1,444 @@ + + + + + SLF4J Error Codes + + + + + + + + + + + + +
+ +
+ + +
+ +
+

SLF4J warning or error messages and their meanings

+ +
+ + +

The method + o.a.commons.logging.impl.SLF4FLogFactory#release was + invoked. +

+ +

Given the structure of the commons-logging API, in particular + as implemented by SLF4J, the + o.a.commons.logging.impl.SLF4FLogFactory#release() + method should never be called. However, depending on the + deployment of commons-logging.jar files in your servlet + container, release() method may be unexpectedly + invoked by a copy of + org.apache.commons.logging.LogFactory class shipping + with commons-logging.jar. +

+ +

This is a relatively common occurrence with recent versions of + Tomcat, especially if you place jcl-over-slf4j.jar in + WEB-INF/lib directory of your web-application instead of + $TOMCAT_HOME/common/lib, where $TOMCAT_HOME stands for + the directory where Tomcat is installed. In order to fully benefit + from the stability offered by jcl-over-slf4j.jar, we + recommend that you place jcl-over-slf4j.jar in + $TOMCAT_HOME/common/lib without placing a copy in your + web-applications. +

+ +

Please also see bug + #22.

+ + + +

Operation + [suchAndSuch] is not supported in jcl-over-slf4j. +

+ +

An UnsuportedOperationException is thrown whenever + one of the protected methods introduced in JCL 1.1 are + invoked. These methods are invoked by LogFactory + implementations shipping with + commons-logging.jar. However, the LogFactory + implemented by jcl-over-slf4j.jar, namely + SLF4FLogFactory, does not call any of these methods. +

+ +

If you observe this problem, then it is highly probable that you + have a copy of commons-logging.jar in your class path + overriding the classes shipping with + jcl-over-slf4j.jar. Note that this issue is very similar + in nature to the warning issued when the + "o.a.commons.logging.impl.SLF4FLogFactory.release()" method is + invoked, discussed in the previous item. +

+ + + +

Failedto load class + org.slf4j.impl.StaticLoggerBinder

+ +

This error is reported when the + org.slf4j.impl.StaticLoggerBinder class could not be + loaded into memory. This happens when no appropriate SLF4J + binding could be found on the class path. Placing one (and only + one) of slf4j-nop.jar, slf4j-simple.jar, + slf4j-log4j12.jar, slf4j-jdk14.jar or + logback-classic.jar on the class path should solve the + problem. +

+ +

since 1.6.0 As of SLF4J version 1.6, in the absence of a binding, SLF4J + will default to a no-operation (NOP) logger implementation. +

+ +

You can download SLF4J bindings from the project download page.

+ + + + + + + +

Multiple bindings + were found on the class path +

+ + +

SLF4J API is desinged to bind with one and only one underlying + logging framework at a time. If more than one binding is present + on the class path, SLF4J will emit a warning, listing the location + of those bindings.

+ +

When multiple bindings are available on the class path, select + one and only one binding you wish to use, and remove the other + bindings. For example, if you have both + slf4j-simple-1.7.5.jar and + slf4j-nop-1.7.5.jar on the class path and you wish + to use the nop (no-operation) binding, then remove + slf4j-simple-1.7.5.jar from the class path. +

+ +

The list of locations that SLF4J provides in this warning + usually provides sufficient information to identify the dependency + transitively pulling in an unwanted SLF4J binding into your + project. In your project's pom.xml file, exclude this SLF4J + binding when declaring the unscrupulous dependency. For example, + cassandra-all version 0.8.1 declares both log4j + and slf4j-log4j12 as compile-time dependencies. Thus, + when you include cassandra-all as a dependency in your + project, the cassandra-all declaration will cause both + slf4j-log4j12.jar and log4j.jar to be pulled in + as dependencies. In case you do not wish to use log4j as the the + SLF4J backend, you can instruct Maven to exclude these two + artifacts as shown next:

+ +
<dependencies>
+  <dependency>
+    <groupId> org.apache.cassandra</groupId>
+    <artifactId>cassandra-all</artifactId>
+    <version>0.8.1</version>
+
+    <exclusions>
+      <exclusion> 
+        <groupId>org.slf4j</groupId>
+        <artifactId>slf4j-log4j12</artifactId>
+      </exclusion>
+      <exclusion> 
+        <groupId>log4j</groupId>
+        <artifactId>log4j</artifactId>
+      </exclusion>
+    </exclusions> 
+
+  </dependency>
+</dependencies>
+ +

Note The warning emitted by + SLF4J is just that, a warning. Even when multiple bindings are + present, SLF4J will pick one logging framework/implementation and + bind with it. The way SLF4J picks a binding is determined by the + JVM and for all practical purposes should be considered random. As + of version 1.6.6, SLF4J will name the framework/implementation + class it is actually bound to.

+ +

Embedded components such as libraries or frameworks should not + declare a dependency on any SLF4J binding but only depend on + slf4j-api. When a library declares a compile-time dependency on a + SLF4J binding, it imposes that binding on the end-user, thus + negating SLF4J's purpose. When you come across an embedded + component declaring a compile-time dependency on any SLF4J binding, + please take the time to contact the authors of said + component/library and kindly ask them to mend their ways.

+ + + +

slf4j-api version + does not match that of the binding

+ +

An SLF4J binding designates an artifact such as + slf4j-jdk14.jar or slf4j-log4j12.jar used to + bind slf4j to an underlying logging framework, say, + java.util.logging and respectively log4j. +

+ +

Mixing mixing different versions of slf4j-api.jar and + SLF4J binding can cause problems. For example, if you are using + slf4j-api-1.7.5.jar, then you should also use + slf4j-simple-1.7.5.jar, using slf4j-simple-1.5.5.jar + will not work.

+ +

Note From the client's + perspective all versions of slf4j-api are compatible. Client code + compiled with slf4j-api-N.jar will run perfectly fine + with slf4j-api-M.jar for any N and M. You only need to + ensure that the version of your binding matches that of the + slf4j-api.jar. You do not have to worry about the version of + slf4j-api.jar used by a given dependency in your project. You + can always use any version of slf4j-api.jar, and as long + as the version of slf4j-api.jar and its binding match, + you should be fine. +

+ +

At initialization time, if SLF4J suspects that there may be a + api vs. binding version mismatch problem, it will emit a warning + about the suspected mismatch. +

+ + + +

Logging factory implementation + cannot be null

+ +

This error is reported when the LoggerFactory + class could not find an appropriate binding. Placing one (and only + one) of slf4j-nop.jar, slf4j-simple.jar, + slf4j-log4j12.jar, slf4j-jdk14.jar or + logback-classic.jar on the class path should prove to be + an effective remedy. +

+ + + +

Detected both + log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, + preempting StackOverflowError. +

+ +

The purpose of slf4j-log4j12 module is to delegate or redirect + calls made to an SLF4J logger to log4j. The purpose of the + log4j-over-slf4j module is to redirect calls made to a log4j + logger to SLF4J. If both slf4j-log4j12.jar and + log4j-over-slf4j.jar are present on the class path, a + StackOverflowError will inevitably occur immediately + after the first invocation of an SLF4J or a log4j logger. +

+ +

Here is how the exception might look like:

+ +
Exception in thread "main" java.lang.StackOverflowError
+  at java.util.Hashtable.containsKey(Hashtable.java:306)
+  at org.apache.log4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:36)
+  at org.apache.log4j.LogManager.getLogger(LogManager.java:39)
+  at org.slf4j.impl.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:73)
+  at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:249)
+  at org.apache.log4j.Category.<init>(Category.java:53)
+  at org.apache.log4j.Logger..<init>(Logger.java:35)
+  at org.apache.log4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:39)
+  at org.apache.log4j.LogManager.getLogger(LogManager.java:39)
+  at org.slf4j.impl.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:73)
+  at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:249)
+  at org.apache.log4j.Category..<init>(Category.java:53)
+  at org.apache.log4j.Logger..<init>(Logger.java:35)
+  at org.apache.log4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:39)
+  at org.apache.log4j.LogManager.getLogger(LogManager.java:39)
+  subsequent lines omitted...
+ +

Since 1.5.11 SLF4J software preempts + the inevitable stack overflow error by throwing an exception with + details about the actual cause of the problem. This is deemed to + be better than leaving the user wondering about the reasons of the + StackOverflowError. +

+ +

For more background on this topic see Bridging legacy APIs. +

+ + + + +

Detected both + jcl-over-slf4j.jar AND slf4j-jcl.jar on the class path, preempting + StackOverflowError. +

+ +

The purpose of slf4j-jcl module is to delegate or redirect + calls made to an SLF4J logger to jakarta commons logging + (JCL). The purpose of the jcl-over-slf4j module is to redirect + calls made to a JCL logger to SLF4J. If both + slf4j-jcl.jar and jcl-over-slf4j.jar are present + on the class path, then a StackOverflowError will + inevitably occur immediately after the first invocation of an + SLF4J or a JCL logger. +

+ +

Here is how the exception might look like:

+ +
Exception in thread "main" java.lang.StackOverflowError
+  at java.lang.String.hashCode(String.java:1482)
+  at java.util.HashMap.get(HashMap.java:300)
+  at org.slf4j.impl.JCLLoggerFactory.getLogger(JCLLoggerFactory.java:67)
+  at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:249)
+  at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
+  at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:289)
+  at org.slf4j.impl.JCLLoggerFactory.getLogger(JCLLoggerFactory.java:69)
+  at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:249)
+  at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
+  subsequent lines omitted...
+ + +

Since 1.5.11 SLF4J software preempts + the inevitable stack overflow error by throwing an exception with + details about the actual cause of the problem. This is deemed to + be better than leaving the user wondering about the reasons of the + StackOverflowError. +

+ +

For more background on this topic see Bridging legacy APIs. +

+ + + +

Failed to load + class "org.slf4j.impl.StaticMDCBinder"

+ +

This error indicates that appropriate SLF4J binding could not + be found on the class path. Placing one (and only one) of + slf4j-nop.jar, slf4j-simple.jar, + slf4j-log4j12.jar, slf4j-jdk14.jar or + logback-classic.jar on the class path should solve the + problem. +

+ + + +

MDCAdapter cannot be null +

+ +

This error is reported when org.slf4j.MDC class + has not been initialized correctly. Same cause and remedy as the + previously listed item. +

+ + + +

SLF4J versions 1.4.0 and + later requires log4j 1.2.12 or later

+ +

The trace level was added to log4j in version 1.2.12 released + on August 29, 2005. The trace level was added to the SLF4J API in + version 1.4.0 on May 16th, 2007. Thus, starting with SLF4J 1.4.0, + the log4j binding for SLF4J requires log4j version 1.2.12 or + above. +

+ +

However, as reported in bug 68, in + some environments it may be difficult to upgrade the log4j + version. To accommodate such circumstances, SLF4J's + Log4jLoggerAdapter will map the TRACE level as + DEBUG.

+ + +

Substitute loggers + were created during the default configuration phase of the + underlying logging system

+ +

Highly configurable logging systems such as logback and log4j + may create components which invoke loggers during their own + initialization. See issue lbcore-47 for a + typical occurrence. However, since the binding process with SLF4J + has not yet completed (because the underlying logging system was + not yet completely loaded into memory), it is not possible to + honor such logger creation requests, resulting in a + NullPointerException.

+ +

To avoid this chicken-and-egg problem, SLF4J substitutes a + no-operation logger factory during this initialization + phase. However, the substitute loggers returned during this phase + are not operational. They are nop implementations. +

+ +

If any substitute logger had to be created, SLF4J will emit a + warning listing such nop loggers. This warning is intended to let + you know that you should not expect any logging output from these + loggers. +

+ +

To obtain output from the listed loggers, isolate the + components invoking these loggers and to exclude them from the + default configuration. Once default configuration is finished, + those excluded components can be configured in a second-step + configuration. In principle, both logback and log4j allow + multi-step configuration. For logback, second-step configuration + is described in the + relevant section.. +

+ +

If you are not interested in the output from any of the + substitute loggers, then no action is required on your part.

+ + + + +
+ + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/compatibility.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/compatibility.html new file mode 100644 index 0000000..1af10ea --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/compatibility.html @@ -0,0 +1,269 @@ + + + + + +Compatibility report + + + + + + +
+ +
+ +
+ + +

Compatibility report

+ +

Given the very large user base of SLF4J, we take backward + compatibility very seriously. As such, changes that may cause + incompatibility problems are listed in this page. Moreover, since + slf4j-api.jar is the main entry point into SLF4J, that is the module + that will be covered in most detail. +

+ +

Please note that in many cases incompatibility problems are + caused by mixing different versions of slf4j artifacts. For example, + if you are using slf4j-api-1.5.4.jar you should also use + slf4j-simple-1.5.4.jar, using slf4j-simple-1.4.2.jar will not + work. The same goes for all other SLF4J artifacts. +

+ +

The list is computed using clirr. If you have reasons + to suspect incompatible changes not mentioned here, please kindly + contact the slf4j developers list.

+ +

Version 1.5.7 compared to 1.5.6

+ +

No breaking changes to report.

+ +

Version 1.5.6 compared to 1.5.5

+ + + + + + + + + + + + + + + +
SeverityDescriptionClassMethod / Field
ErrorThe number of parameters of SubstituteLoggerFactory + constructor has changedorg.slf4j.helpers.SubstituteLoggerFactorypublic SubstituteLoggerFactory(java.util.List)
+ +

 

+ +

The SubstituteLoggerFactory class is used internally + by the LoggerFactory class. Changes to the constructor of + SubstituteLoggerFactory should have stricly no affect on users. +

+ +

Version 1.5.5 compared to 1.5.4

+ +

No breaking changes to report.

+ +

Version 1.5.4 compared to 1.5.3

+ +

slf4j-api module, list of breaking changes:

+ + + + + + + + + + + + + + + + + + + + + + +
SeverityDescriptionClassMethod / Field
ErrorMethod 'hasReferences()' has been added to an interfaceorg.slf4j.Markerpublic boolean hasReferences()
InfoMethod 'hasChildren()' was deprecatedorg.slf4j.Markerpublic boolean hasChildren()
+ +

 

+ +

The hasChildren() and other documentation in the + Marker interface was misleading users to think in terms of parent + child relationship for markers. However, as bug 100 + illustrates, associating markers as parents and children is not very + helpful. It is much better to think of markers in terms of abstract + graphs. As such, we now say that a marker contains (zero or more) + references to other markers. +

+ +

This breaking change is justified because it corrects a + conceptual error in the design. Previously, it was all too easy for + developers to get confused and incorrectly link markers + together.

+ +

Version 1.5.3 compared to 1.5.2

+ +

slf4j-api module, list of breaking changes:

+ + + + + + + + + + + + + + + +
SeverityDescriptionClassMethod / Field
ErrorAdded final modifier to classorg.slf4j.helpers.MessageFormatter
+ +

Declaring MessageFormatter class as final should not + affect users, unless they extend this class. However, since this + class is intended to be used internally, very few users should be + affected. +

+ +

Version 1.5.2 compared to 1.5.1

+ +

No breaking changes to report.

+ +

Version 1.5.1 compared to 1.5.0

+ + +

slf4j-api module, list of breaking changes:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SeverityDescriptionClassMethod / Field
ErrorMethod 'getCopyOfContextMap()' has been added to an + interface + org.slf4j.spi.MDCAdapterpublic java.util.Map getCopyOfContextMap()
ErrorMethod 'setContextMap(Map)' has been added to an + interface + org.slf4j.spi.MDCAdapterpublic void setContextMap(java.util.Map)
ErrorMethod 'getDetachedMarker(String)' has been added to an + interface + org.slf4j.IMarkerFactorypublic org.slf4j.Marker getDetachedMarker(java.lang.String)
InfoMethod 'equals(Object)' has been added to an + interface + org.slf4j.Markerpublic boolean equals(java.lang.Object)
infoMethod 'hashCode()' has been added to an + interface + org.slf4j.Markerpublic int hashCode()
+ +

The addition of the getCopyOfContextMap() method in + the MDCAdapter class should only impact users who have + their own implementation of the said interface. Except for bindings + that ship with SLF4J and for logback-classic, which will be + naturally upgraded, there are no known other implementations of + MDCAdapter. In a rare but still possible scenario, if + the user mixes different versions for slf4j-api.jar, say version + 1.5.1. and an SLF4J binding, say slf4j-log4j12.jar version 1.5.0, + then a java.lang.AbstractMethodError will be thrown, + but only if the client code calls the newly added method. In short, although generally speaking the + addition of a method to an interface is a breaking change, we are + confident that no users will be impacted in this particular + case. +

+ +

Similar reasoning applies to the setContextMap(Map) + method.

+ +

The addition of getDetachedMarker(String) method in + the org.slf4j.IMarkerFactory should not impact users as + the only (known) implementation of this interface ships with SLF4J + itself. +

+ +

The equals() and hashCode() methods + were added to the org.slf4j.Marker interface for + documentation purposes. Given that all objects implicitly implement + these methods, their addition should theoretically not break + existing code.

+ + +

Other modules

+ +

No breaking changes to report.

+ + + +

Version 1.5.0 compared to + 1.4.3

+ +

No breaking changes to report.

+ + +

Version 1.4.3 compared to + 1.4.2

+

No breaking changes to report.

+ + +

Version 1.4.2 compared to 1.4.1

+

No breaking changes to report.

+ + +

Version 1.4.1 compared to + 1.4.0

+

No breaking changes to report.

+ +
\ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/css/anchor12.png b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/css/anchor12.png new file mode 100644 index 0000000..2cd97ac Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/css/anchor12.png differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/css/anchor16.png b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/css/anchor16.png new file mode 100644 index 0000000..c0676f4 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/css/anchor16.png differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/css/anchor20.png b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/css/anchor20.png new file mode 100644 index 0000000..76ca74b Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/css/anchor20.png differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/css/anchor24.png b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/css/anchor24.png new file mode 100644 index 0000000..13c433f Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/css/anchor24.png differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/css/maven-base.css b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/css/maven-base.css new file mode 100644 index 0000000..f39e42c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/css/maven-base.css @@ -0,0 +1,151 @@ +body { + margin: 0px; + padding: 0px; +} +img { + border:none; +} +table { + padding:0px; + width: 100%; + margin-left: -2px; + margin-right: -2px; +} +acronym { + cursor: help; + border-bottom: 1px dotted #feb; +} +table.bodyTable th, table.bodyTable td { + padding: 2px 4px 2px 4px; + vertical-align: top; +} +div.clear{ + clear:both; + visibility: hidden; +} +div.clear hr{ + display: none; +} +#bannerLeft, #bannerRight { + font-size: xx-large; + font-weight: bold; +} +#bannerLeft img, #bannerRight img { + margin: 0px; +} +.xleft, #bannerLeft img { + float:left; +} +.xright, #bannerRight { + float:right; +} +#banner { + padding: 0px; +} +#banner img { + border: none; +} +#breadcrumbs { + padding: 3px 10px 3px 10px; +} +#leftColumn { + width: 170px; + float:left; + overflow: auto; +} +#bodyColumn { + margin-right: 1.5em; + margin-left: 197px; +} +#legend { + padding: 8px 0 8px 0; +} +#navcolumn { + padding: 8px 4px 0 8px; +} +#navcolumn h5 { + margin: 0; + padding: 0; + font-size: small; +} +#navcolumn ul { + margin: 0; + padding: 0; + font-size: small; +} +#navcolumn li { + list-style-type: none; + background-image: none; + background-repeat: no-repeat; + background-position: 0 0.4em; + padding-left: 16px; + list-style-position: outside; + line-height: 1.2em; + font-size: smaller; +} +#navcolumn li.expanded { + background-image: url(../images/expanded.gif); +} +#navcolumn li.collapsed { + background-image: url(../images/collapsed.gif); +} +#poweredBy { + text-align: center; +} +#navcolumn img { + margin-top: 10px; + margin-bottom: 3px; +} +#poweredBy img { + display:block; + margin: 20px 0 20px 17px; +} +#search img { + margin: 0px; + display: block; +} +#search #q, #search #btnG { + border: 1px solid #999; + margin-bottom:10px; +} +#search form { + margin: 0px; +} +#lastPublished { + font-size: x-small; +} +.navSection { + margin-bottom: 2px; + padding: 8px; +} +.navSectionHead { + font-weight: bold; + font-size: x-small; +} +.section { + padding: 4px; +} +#footer { + padding: 3px 10px 3px 10px; + font-size: x-small; +} +#breadcrumbs { + font-size: x-small; + margin: 0pt; +} +.source { + padding: 12px; + margin: 1em 7px 1em 7px; +} +.source pre { + margin: 0px; + padding: 0px; +} +#navcolumn img.imageLink, .imageLink { + padding-left: 0px; + padding-bottom: 0px; + padding-top: 0px; + padding-right: 2px; + border: 0px; + margin: 0px; +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/css/maven-theme.css b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/css/maven-theme.css new file mode 100644 index 0000000..ec29c89 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/css/maven-theme.css @@ -0,0 +1,141 @@ +body { + padding: 0px 0px 10px 0px; +} +body, td, select, input, li{ + font-family: Verdana, Helvetica, Arial, sans-serif; + font-size: 13px; +} +code{ + font-family: Courier, monospace; + font-size: 13px; +} +a { + text-decoration: none; +} +a:link { + color:#36a; +} +a:visited { + color:#47a; +} +a:active, a:hover { + color:#69c; +} +#legend li.externalLink { + background: url(../images/external.png) left top no-repeat; + padding-left: 18px; +} +a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover { + background: url(../images/external.png) right center no-repeat; + padding-right: 18px; +} +#legend li.newWindow { + background: url(../images/newwindow.png) left top no-repeat; + padding-left: 18px; +} +a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover { + background: url(../images/newwindow.png) right center no-repeat; + padding-right: 18px; +} +h2 { + padding: 4px 4px 4px 6px; + border: 1px solid #999; + color: #900; + background-color: #ddd; + font-weight:900; + font-size: x-large; +} +h3 { + padding: 4px 4px 4px 6px; + border: 1px solid #aaa; + color: #900; + background-color: #eee; + font-weight: normal; + font-size: large; +} +h4 { + padding: 4px 4px 4px 6px; + border: 1px solid #bbb; + color: #900; + background-color: #fff; + font-weight: normal; + font-size: large; +} +h5 { + padding: 4px 4px 4px 6px; + color: #900; + font-size: normal; +} +p { + line-height: 1.3em; + font-size: small; +} +#breadcrumbs { + border-top: 1px solid #aaa; + border-bottom: 1px solid #aaa; + background-color: #ccc; +} +#leftColumn { + margin: 10px 0 0 5px; + border: 1px solid #999; + background-color: #eee; +} +#navcolumn h5 { + font-size: smaller; + border-bottom: 1px solid #aaaaaa; + padding-top: 2px; + color: #000; +} + +table.bodyTable th { + color: white; + background-color: #bbb; + text-align: left; + font-weight: bold; +} + +table.bodyTable th, table.bodyTable td { + font-size: 1em; +} + +table.bodyTable tr.a { + background-color: #ddd; +} + +table.bodyTable tr.b { + background-color: #eee; +} + +.source { + border: 1px solid #999; +} +dl { + padding: 4px 4px 4px 6px; + border: 1px solid #aaa; + background-color: #ffc; +} +dt { + color: #900; +} +#organizationLogo img, #projectLogo img, #projectLogo span{ + margin: 8px; +} +#banner { + border-bottom: 1px solid #fff; +} +.errormark, .warningmark, .donemark, .infomark { + background: url(../images/icon_error_sml.gif) no-repeat; +} + +.warningmark { + background-image: url(../images/icon_warning_sml.gif); +} + +.donemark { + background-image: url(../images/icon_success_sml.gif); +} + +.infomark { + background-image: url(../images/icon_info_sml.gif); +} + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/css/popup.css b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/css/popup.css new file mode 100644 index 0000000..2b20468 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/css/popup.css @@ -0,0 +1,67 @@ + +/* =========== popup ================== */ +#backgroundPopup { + display:none; + position:fixed; + _position:absolute; /* hack for internet explorer 6*/ + height:100%; + width:100%; + top:0; + left:0; + background:#000000; + border:1px solid #cecece; + z-index:1; +} + +#popupContents { + display:none; + position:fixed; + _position:absolute; /* hack for internet explorer 6*/ + height: 150px; + width: 408px; + background:#FFFFFF; + border: 2px solid #cecece; + z-index:2; + padding-left: 1ex; + font-size:13px; +} + +#popupContents p { + margin: 0px; +} +#popupContents h3 { + margin: 0px; +} + +#popupContactClose { + font-size:14px; + line-height:14px; + right:6px; + top:4px; + position:absolute; + color:#6fa5fd; + font-weight:700; + display:block; +} + +a.popupLink { + background: #FFF; + color: #0079C5; + font-family: "Comic Sans MS", sans-serif; + white-space: nowrap; + font-size: 14px; + font-weight: bold; + + border-top: 2px solid #DDD; + border-left: 2px solid #DDD; + border-right: 2px solid #888; + border-bottom: 2px solid #888; + padding: 0px 1em 0px 1em; + margin: 0px 0px 3px 0px; +} + +a.popupLink:hover { + background: #E0E0EF; + cursor: pointer; +} + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/css/prettify.css b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/css/prettify.css new file mode 100644 index 0000000..290a86a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/css/prettify.css @@ -0,0 +1,29 @@ +.str{color:#080} +.kwd{color:#008} +.com{color:#800} +.typ{color:#606} +.lit{color:#066} +.pun{color:#660} +.pln{color:#000} +.tag{color:#008} +.atn{color:#606} +.atv{color:#080} +.dec{color:#606} + +pre.prettyprint{ + padding:2px; + border-top: 1px solid #888; border-bottom: 1px solid #888; +} +@media print{.str{color:#060} + +.kwd{ + color:#006;font-weight:bold} + .com{color:#600;font-style:italic +} +.typ{color:#404;font-weight:bold} +.lit{color:#044} +.pun{color:#440} +.pln{color:#000} +.tag{color:#006;font-weight:bold} +.atn{color:#404} +.atv{color:#060}} \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/css/print.css b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/css/print.css new file mode 100644 index 0000000..f09d546 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/css/print.css @@ -0,0 +1,7 @@ +#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn { + display: none !important; +} +#bodyColumn, body.docs div.docs { + margin: 0 !important; + border: none !important +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/css/site.css b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/css/site.css new file mode 100644 index 0000000..a4f8ddf --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/css/site.css @@ -0,0 +1,444 @@ +html { + padding:0px; + margin:0px; +} + +body { + background-color: #fff; + font-family: Verdana, Arial, SunSans-Regular, Sans-Serif; + color: #000; + padding:0px; + margin:0px; + font-size: small; +} + +#job img { border:1px solid #DDDDDD; } +#job:hover img { border:1px solid #8888EE; } + +p, h2, pre { + margin: 0px; + padding-top: 5px; + padding-bottom: 5px; + /*padding-left: 1ex;*/ + /*padding: 5px 20px 5px 20px; */ +} + +p.rm { + padding-top: 0px; + padding-bottom: 0px; +} + +a { + color: #4183c4; + /*font-size: smaller;*/ + background-color:transparent; + text-decoration: none; +} + +#content a:hover { + text-decoration: underline; +} + +.source { + border-top: 1px solid #DDDDDD; + border-bottom: 1px solid #DDDDDD; + background:#f5f5f5; + font-family: Courier, "MS Courier New", Prestige, Everson Monocourrier, monospace; + padding-bottom: 0.5ex; + padding-top: 0.5ex; + padding-left: 1ex; + + margin-left: 0ex; + margin-top: 0.5ex; + margin-bottom: 0.5ex; + white-space: pre; + + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +pre { + background-color:transparent; + font-family: Monaco, Andale Mono, Courier New, monospace; +} + +.alignright { + margin-top: 0; + text-align: right; + font-size: 10px; +} + +h1, h2, h3, h4 { + color: #333; +} + +h2 { + padding-top:10px; + background-color: transparent; + font-weight: 900; + font-size: x-large; +} + +h3 { + padding-top: 5px; + background-color: transparent; + font-weight: normal; + font-size: large; +} + +h4 { + padding-top:5px; + background-color: transparent; + font-weight: normal; + font-size: large; +} + +table.footer { + width: 100%; +} + +.footer { + text-align: right; + color: #564b47; + background-color: #fff; + padding:0px; + border-top: 1px solid #CCCCCC; + margin-top: 3ex; + font-size: smaller; +} + + +strong { + /*font-size: 13px;*/ + font-weight: bold; +} + +/* positioning-layers static and absolute */ + +#breadcrumbs { + padding: 3px 10px 3px 10px; + margin: 0px 4px 0px 4px; + font-size: small; + border: 1px solid #CCCCCC; + /*border-bottom: 1px solid #aaa; + /* background-color: #ccc; lime; + border-color: #663300;*/ + background-color: #ffd0a0; + /*max-width: 77em;*/ +} + +#left { + position: absolute; + left: 0px; + width: 15em; + margin: 4px 0px 0px 4px; + padding: 0px; + font-size: 80%; + background-color: #ffffff; +} + +.menuGroup { + border: 1px solid #cccccc; + background-color: #fff8e8; + color: #564b47; + border: 1px solid #cccccc; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +.menuGroup a { + display: block; + width: 95.5%; + margin: 0px; + padding: 2px; + border: solid 1px #fff8e8; + color: #0066cc; + text-decoration: none; +} + +.menuGroup a:hover { + border: solid 1px #FFFFFF; + background-color: #3333CC; + color: #ffffff; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +.pub { + text-align: center; +} + +#left a:hover, #right a:hover { + border: solid 1px #FFFFFF; + background-color: #3333CC; + color: #ffffff; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +#left div.jobadd { + font-size: 160%; + color: #fff; + margin: 0px; + padding: 1ex; + + text-align: center; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + + background-image: -ms-linear-gradient(bottom right, #FFBB55 0%, #FF8822 100%); + background-image: -moz-linear-gradient(bottom right, #FFBB55 0%, #FF8822 100%); + background-image: -o-linear-gradient(bottom right, #FFBB55 0%, #FF8822 100%); + background-image: -webkit-gradient(linear, right bottom, left top, color-stop(0, #FFBB55), color-stop(1, #FF8822)); + background-image: -webkit-linear-gradient(bottom right, #FFBB55 0%, #FF8822 100%); + background-image: linear-gradient(to top left, #FFBB55 0%, #FF8822 100%); +} + +#left div.jobadd a, div.jobadd a:hover { + background-color: transparent; + color: #fff; + border-width: 0px; +} + +p.menu_header { + margin: 0px; + padding: 2px; + font-weight: normal; + background-color: #ffd0a0; + border-top: solid 1px #CCCCCC; + border-bottom: solid 1px #CCCCCC; +} + +#content { + margin: 0px 12em 0px 16em; + padding: 0px; + background-color: #ffffff; +} + + +#content img { + border:none; + margin-left: auto; + margin-right: auto; + display: block; +} + +.author { + text-align: left; + font-weight: bold; +} + +.definition { + padding-left: 5px; + padding-right: 5px; + margin: 5px 50px 5px 50px; + text-align: justify; + background-color: #E6E64C; +} + +.deftitle { + font-weight: bold; +} + +.big { + font-size: 130%; +} + +.green { + color: green; +} +.blue { + color: blue; +} + +.red { + color: red; +} + +.bold { + font-weight: bold; +} + +.redBold { + color: red; + font-weight: bold; +} +.greenBold { + color: green; + font-weight: bold; +} + +code { + font-family: Courier, monospace; +} + + +.option { + border: 1px solid black; + font-family: Arial, sans-serif; +} +.highlight { + width: 18em; + float: right; + display: inline; + font-size: 110%; + + border: 2px solid #711; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + background:#FFE0B0; + padding-top: 1ex; + padding-left: 1ex; + padding-right: 1ex; + padding-bottom: 1ex; + margin-left: 1em; + margin-right: 0em; + margin-bottom: 1ex; +} + + +.survey { + font-weight: bolder; + font-size: larger; + + border:1px solid #cccccc; + background:#FFCC99; + padding-left: 1ex; + padding-right: 1ex; +} +/* ========== body table ============ */ +table.bodyTable { + padding: 0px; + margin-left: -2px; + margin-right: -2px; +} + +table.bodyTable th { + color: white; + background-color: #bbb; + font-weight: bold; +} + + +table.bodyTable td { + padding-left: 0.5ex; + padding-bottom: 0.5ex; +} + + +/* apply to tr elements of tables which are both bodytable and dark */ +table[class="bodyTable dark"] tr { + background-color: #ddd; +} + +/* apply to tr elements of tables which are both bodytable and dark */ +table[class="bodyTable properties"] tr { + vertical-align: top; +} + +table.bodyTable tr.a { + background-color: #ddd; +} + +table.bodyTable tr.b { + background-color: #eee; +} + +table.bodyTable tr.alt { + background-color: #eee; +} + +.striped tr:nth-child(odd) td { + background-color: #f9f9f9; +} +.striped td { + background-color: #f0f0f0; +} + +/* EOF =============== bodyTable =============== */ + +.label { + padding: 1px 3px 2px; + font-size: 9.75px; + font-weight: bold; + color: #ffffff; + text-transform: uppercase; + white-space: nowrap; + background-color: #bfbfbf; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} +.label.notice { + background-color: #62cffc; +} + + +/* ------------------------------------ */ + +dt { + border-top: 2px solid #888888; + color: #333; + padding-bottom: 1ex; + padding-top: 1ex; + font-weight: bold; +} +dd { + margin-top: 1ex; + margin-bottom: 1ex; +} + +/* ------------------------------------ */ +.anchor { display:none; } + +h1 .anchor:before {content:url(anchor24.png);} +h2 .anchor:before {content:url(anchor20.png);} +h3 .anchor:before {content:url(anchor16.png);} +h4 .anchor:before {content:url(anchor12.png);} +td .anchor:before {content:url(anchor12.png);} +dt .anchor:before {content:url(anchor12.png);} + +h1:hover .anchor { margin-left: -24px; } +h2:hover .anchor { margin-left: -20px; } +h3:hover .anchor { margin-left: -16px; } +h4:hover .anchor { margin-left: -12px; } +td:hover .anchor { margin-left: -12px; } +dt:hover .anchor { margin-left: -12px; } + +h1:hover .anchor, +h2:hover .anchor, +h3:hover .anchor, +h4:hover .anchor, +td:hover .anchor, +dt:hover .anchor { + display: inline-block; + text-decoration: none; +} + + +/* ------------ twitter botton ------- */ +.twitter_button { + vertical-align: text-bottom; + padding-top: 3px; + padding-right: 16px; + float: left; + height: 18px; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); + white-space: nowrap; + background-color: white; + background-image: -moz-linear-gradient(top, #ffffff, #dedede); + background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#dedede)); + background-image: -ms-linear-gradient(top, #ffffff, #dedede); + background-image: linear-gradient(top, #ffffff, #dedede); + background-image: -o-linear-gradient(top, #ffffff, #dedede); + border: #CCC solid 1px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/docs.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/docs.html new file mode 100644 index 0000000..18fa5cf --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/docs.html @@ -0,0 +1,160 @@ + + + + + + SLF4J Documentation + + + + + + +
+ + +
+
+ +

Documentation

+ +

Given the small size of SLF4J, its documentation is not very + lengthy.

+ + + +

Articles, blogs & presentations

+ + + + + +

In French

+ + + +

Conferences

+ + + + + + + + + + +
+ Jazoon, June 22-25, 2009 Zurich
+ + Jazoon 2009 + +
+ Devoxx, November 16-20, 2009 Antwerp
+ + Devoxx 2009 + +
+ + + + + +
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/download.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/download.html new file mode 100644 index 0000000..abbeec1 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/download.html @@ -0,0 +1,115 @@ + + + + + + SLF4J Binary files + + + + + + + + + + + +
+ + +
+ +
+

Would you like to subscribe to the QOS.CH announcements mailing + list?

+ + +

The list is reserved for announcements related to QOS.CH + projects such as cal10n, logback, mistletoe and SLF4J.

+
+ + + + + +
Yes, I'd like to subscribe.No, thanks.
+
+
+ + +
+ +

Latest official SLF4J distribution

+ + +

Download version 1.7.5 including full source code, + class files and documentation in ZIP or TAR.GZ format:

+ + + + +

Previous versions

+ +

Previous versions of SLF4J can be downloaded from the main repository. +

+ +

javadoc downloads

+ +

For each slf4j module, the corresponding javadoc artifacts can be + downloaded from the Maven central + repository as javadoc.jar files. +

+ +

Closely related projects

+ +
    +
  • The sysout-over-slf4j + module redirects all calls to System.out and System.err to an + SLF4J defined logger with the name of the fully qualified class in + which the System.out.println (or similar) call was made, at + configurable levels.
  • +
+ +

Additional SLF4J-related software

+ + + + +

+ + + +
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/extensions.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/extensions.html new file mode 100644 index 0000000..c4d24f8 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/extensions.html @@ -0,0 +1,886 @@ + + + + + + SLF4J extensions + + + + + + + + +
+ +
+
+ +

SLF4J extensions

+ +

SLF4J extensions are packaged within slf4j-ext.jar + which ships with SLF4J.

+ + + + +

Profilers

+ +

What is a profiler?

+ +

According to wikipedia, profiling + is the investigation of a program's behavior using information + gathered as the program runs, i.e. it is a form of dynamic program + analysis, as opposed to static code analysis. The usual goal of + performance analysis is to determine which parts of a program to + optimize for speed or memory usage. +

+ +

SLF4J profilers, a.k.a. poor man's profilers, will help the + developer gather performance data. Essentially, a profiler + consists of one or more stopwatches. Stopwatches are driven + (started/stopped) by statements in the source code. An + example should make the point clearer. +

+ +

Basic example

+ + + Example: Using the profiler: BasicProfilerDemo + +
[omitted]
+32  public class BasicProfilerDemo {
+33  
+34    public static void main(String[] args) {
+35      // create a profiler called "BASIC"
+36      Profiler profiler = new Profiler("BASIC");
+37      profiler.start("A");
+38      doA();
+39  
+40      profiler.start("B");
+41      doB();
+42      
+43      profiler.start("OTHER");
+44      doOther();
+45      profiler.stop().print();
+46    }
+[omitted]
+ + +

Running the above example will output the following output.

+ +

+ Profiler [BASIC] +|-- elapsed time [A] 220.487 milliseconds. +|-- elapsed time [B] 2499.866 milliseconds. +|-- elapsed time [OTHER] 3300.745 milliseconds. +|-- Total [BASIC] 6022.568 milliseconds.

+ +

Instantiating a profiler starts a global stopwatch. Each call to + the start() method starts a new and named stopwatch. In addition to + starting a named stopwatch, the start() method also causes the + previous stopwatch to stop. Thus, the call to + profiler.start("A") starts a stopwatch named "A". The + subsequent call to profiler.start("B") starts + stopwatch "B" and simultaneously stops the stopwatch named + "A". Invoking the stop() on a profiler stops the last + stopwatch as well as the global stopwatch which was started when + the profiler was instantiated. +

+ + +

Profiler nesting

+ +

Profilers can also be nested. By nesting profilers, it is + possible to measure a task which itself has subtasks that need to + be timed and measured. +

+ +

Starting a nested profiler will stop any previously started + stopwatch or nested profiler associated with the parent profiler. +

+ +

Often times, the subtask is implemented by a different class as + the class hosting the parent profiler. Using the + ProfilerRegistry is a convenient way of passing a + nested profiler to an object outside the current object. Each + thread has its own profiler registry which can be retrieved by + invoking the getThreadContextInstance() method. +

+ + Example: NestedProfilerDemo + + +
33  public class NestedProfilerDemo {
+34    
+35    public static void main(String[] args) {
+36      // create a profiler called "DEMO"
+37      Profiler profiler = new Profiler("DEMO");
+38      
+39      // register this profiler in the thread context's profiler registry
+40      ProfilerRegistry profilerRegistry = ProfilerRegistry.getThreadContextInstance();
+41      profiler.registerWith(profilerRegistry);
+42      
+43      // start a stopwatch called "RANDOM"
+44      profiler.start("RANDOM");
+45      RandomIntegerArrayGenerator riaGenerator = new RandomIntegerArrayGenerator();
+46      int n = 1000*1000;
+47      int[] randomArray = riaGenerator.generate(n);
+48      
+49      // create and start a nested profiler called "SORT_AND_PRUNE"
+50      // By virtue of its parent-child relationship with the "DEMO"
+51      // profiler, and the previous registration of the parent profiler, 
+52      // this nested profiler will be automatically registered
+53      // with the thread context's profiler registry
+54      profiler.startNested(SortAndPruneComposites.NESTED_PROFILER_NAME);
+55      
+56      SortAndPruneComposites pruner = new SortAndPruneComposites(randomArray);
+57      pruner.sortAndPruneComposites();
+58      
+59      // stop and print the "DEMO" printer
+60      profiler.stop().print();
+61    }
+62  }
+ +

Here is the relevant excerpt from the SortAndPruneComposites + class. +

+ +
[omitted]
+6   public class SortAndPruneComposites {
+7   
+8     static String NESTED_PROFILER_NAME = "SORT_AND_PRUNE";
+9     
+10    final int[] originalArray;
+11    final int originalArrrayLength;
+12    
+13    public SortAndPruneComposites(int[] randomArray) {
+14      this.originalArray = randomArray;
+15      this.originalArrrayLength = randomArray.length;
+16     
+17    }
+18    
+19    public int[] sortAndPruneComposites() {
+20      // retrieve previously registered profiler named "SORT_AND_PRUNE"
+21      ProfilerRegistry profilerRegistry = ProfilerRegistry.getThreadContextInstance();
+22      Profiler sortProfiler = profilerRegistry.get(NESTED_PROFILER_NAME);
+23  
+24      // start a new stopwatch called SORT
+25      sortProfiler.start("SORT");
+26      int[] sortedArray = sort();
+27      // start a new stopwatch called PRUNE_COMPOSITES
+28      sortProfiler.start("PRUNE_COMPOSITES");
+29      int result[] = pruneComposites(sortedArray);
+30      
+31      return result;
+32    }
+[omitted] 
+ + +

On a Dual-Core Intel CPU clocked at 3.2 GHz, running the + ProfilerDemo application yields the following output:

+ +

+ Profiler [DEMO] +|-- elapsed time [RANDOM] 70.524 milliseconds. +|---+ Profiler [SORT_AND_PRUNE] + |-- elapsed time [SORT] 665.281 milliseconds. + |-- elapsed time [PRUNE_COMPOSITES] 5695.515 milliseconds. + |-- Subtotal [SORT_AND_PRUNE] 6360.866 milliseconds. +|-- elapsed time [SORT_AND_PRUNE] 6360.866 milliseconds. +|-- Total [DEMO] 6433.922 milliseconds.

+ +

From the above, we learn that generating 1'000'000 random + integers takes 70 ms, sorting them 665 ms, and pruning the composite + (non-prime) integers 5695 ms, for a grand total of 6433 ms. Given + that pruning composites takes most of the CPU effort, any future + optimizations efforts would be directed at the pruning part. +

+ +

With just a few well-placed profiler calls we were able to + identify hot-spots in our application. Also note that passing a + profiler to a target class could be achieved by registering it in a + profiler registry and then retrieving it in the target class. +

+ +

Printing using a logger

+ +

Invoking profiler.print will always print the + output on the console. If you wish to leave the profiler code in + production, then you probably need more control over the output + destination. This can be accomplished by associating a logger of + your choice with a profiler. +

+ +

After you have associated a logger with a profiler, you would + invoke the log() method instead of print() + previously, as the next example illustrates. +

+ + Profiler with a logger: NestedProfilerDemo2 + + +
[omitted]
+17  public class NestedProfilerDemo2 {
+18  
+19    static Logger logger = LoggerFactory.getLogger(NestedProfilerDemo2.class);
+20    
+21    public static void main(String[] args) {
+22      Profiler profiler = new Profiler("DEMO");
+23      // associate a logger with the profiler
+24      profiler.setLogger(logger);
+25      
+26      ProfilerRegistry profilerRegistry = ProfilerRegistry.getThreadContextInstance();
+27      profiler.registerWith(profilerRegistry);
+28      
+29      profiler.start("RANDOM");
+30      RandomIntegerArrayGenerator riaGenerator = new RandomIntegerArrayGenerator();
+31      int n = 10*1000;
+32      int[] randomArray = riaGenerator.generate(n);
+33      
+34      profiler.startNested(SortAndPruneComposites.NESTED_PROFILER_NAME);
+35      
+36      SortAndPruneComposites pruner = new SortAndPruneComposites(randomArray);
+37      pruner.sortAndPruneComposites();
+38      
+39      // stop and log
+40      profiler.stop().log();
+41    }
+42  } 
+ +

The output generated by this example will depend on the logging + environment, but should be very similar to the output generated by + the previous NestedProfilerDemo example. +

+ +

The log() method logs at level DEBUG using a marker named + "PROFILER".

+ +

If your logging system supports markers, e.g. logback, you could + specifically enable or disable output generated by SLF4J + profilers. Here is logback configuration file disabling output for + any logging event bearing the "PROFILER" marker, even if the logger + used by the profiler is enabled for the debug level. +

+ + + logback configuration disabling logging from profilers, and only + profilers + +
<configuration>
+
+  <turboFilter class="ch.qos.logback.classic.turbo.MarkerFilter">
+    <Marker>PROFILER</Marker>
+    <OnMatch>DENY</OnMatch>
+  </turboFilter>
+    
+  <appender name="STDOUT"
+    class="ch.qos.logback.core.ConsoleAppender">
+    <layout class="ch.qos.logback.classic.PatternLayout">
+      <Pattern>%-5level %logger{36} - %msg%n</Pattern>
+    </layout>
+  </appender>
+
+  <root>
+    <level value="DEBUG" />
+    <appender-ref ref="STDOUT" />
+  </root>
+</configuration>  
+ + + + +

MDCStrLookup

+ +

StrLookup is a class defined in Apache Commons Lang. It is used + in conjunction with the StrSubstitutor class to allow Strings to + have tokens in the Strings dynamically replaced at run time. There + are many cases where it is desirable to merge the values for keys + in the SLF4J MDC into Strings. MDCStrLookup makes this possible. +

+

+ Apache Commons Configuration provides a ConfigurationInterpolator + class. This class allows new StrLookups to be registered and the + values can then be used to merge with both the configuration of + Commons Configuration as well as the configuration files it manages. +

+

+ StrLookup obviously has a dependency on Commons Lang. The Maven + pom.xml for slf4j-ext lists this dependency as optional so + that those wishing to use other extensions are not required to + unnecessarily package the commons lang jar. Therefore, when using + MDCStrLookup the dependency for commons-lang must be explicitly + declared along with slf4j-ext. +

+ + + +

Extended Logger

+ +

The XLogger + class provides a few extra logging methods that are quite useful + for following the execution path of applications. These methods + generate logging events that can be filtered separately from other + debug logging. Liberal use of these methods is encouraged as the + output has been found to +

+ +
    +
  • aid in problem diagnosis in development without requiring a + debug session
  • + +
  • aid in problem diagnosis in production where no debugging is + possible
  • + +
  • help educate new deveopers in learning the application.
  • +
+ + +

The two most used methods are the entry() and + exit() methods. entry() should be placed + at the beginning of methods, except perhaps for simple getters and + setters. entry() can be called passing from 0 to 4 + parameters. Typically these will be parameters passed to the + method. The entry() method logs with a level of TRACE + and uses a Marker with a name of "ENTER" which is also + a "FLOW" Marker. +

+ +

The exit() method should be placed before any + return statement or as the last statement of methods without a + return. exit() can be called with or without a + parameter. Typically, methods that return void will use + exit() while methods that return an Object will use + exit(Object obj). The entry() method logs with a + level of TRACE and uses a Marker with a name of "EXIT" which is + also a "FLOW" Marker. +

+ +

The throwing() method can be used by an application when it is + throwing an exception that is unlikely to be handled, such as a + RuntimeExcpetion. This will insure that proper diagnostics are + available if needed. The logging event generated will have a level + of ERROR and will have an associated Marker with a name of + "THROWING" which is also an "EXCEPTION" Marker. +

+ +

The catching() method can be used by an application when it + catches an Exception that it is not going to rethrow, either + explicitly or attached to another Exception. The logging event + generated will have a level of ERROR and will have an associated + Marker with a name of "CATCHING" which is also an "EXCEPTION" + Marker. +

+ +

By using these extended methods applications that standardize on + SLF4J can be assured that they will be able to perform diagnostic + logging in a standardized manner. +

+ +

Note that XLogger instances are obtained to through the + XLoggerFactory + utility class.

+ +

The following example shows a simple application using these + methods in a fairly typcial manner. The throwing() + method is not present since no Exceptions are explicitly thrown and + not handled. +

+ +
package com.test;
+
+import org.slf4j.ext.XLogger;
+import org.slf4j.ext.XLoggerFactory;
+
+import java.util.Random;
+
+public class TestService {
+  private XLogger logger = XLoggerFactory.getXLogger(TestService.class
+      .getName());
+
+  private String[] messages = new String[] { "Hello, World",
+      "Goodbye Cruel World", "You had me at hello" };
+
+  private Random rand = new Random(1);
+
+  public String retrieveMessage() {
+    logger.entry();
+
+    String testMsg = getMessage(getKey());
+
+    logger.exit(testMsg);
+    return testMsg;
+  }
+
+  public void exampleException() {
+    logger.entry();
+    try {
+      String msg = messages[messages.length];
+      logger.error("An exception should have been thrown");
+    } catch (Exception ex) {
+      logger.catching(ex);
+    }
+    logger.exit();
+  }
+
+  public String getMessage(int key) {
+    logger.entry(key);
+
+    String value = messages[key];
+
+    logger.exit(value);
+    return value;
+  }
+
+  private int getKey() {
+    logger.entry();
+    int key = rand.nextInt(messages.length);
+    logger.exit(key);
+    return key;
+  }
+}
+ +

This test application uses the preceding service to generate + logging events. +

+ +
package com.test;
+
+public class App {
+  public static void main( String[] args )    {
+    TestService service = new TestService();
+    service.retrieveMessage();
+    service.retrieveMessage();
+    service.exampleException();
+  }
+} 
+ +

The configuration below will cause all output to be routed to + target/test.log. The pattern for the FileAppender includes the + class name, line number and method name. Including these in the + pattern are critical for the log to be of value. +

+ +
<?xml version='1.0' encoding='UTF-8'?>
+<configuration>
+  <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+      <level>ERROR</level>
+      <onMatch>ACCEPT</onMatch>
+      <onMismatch>DENY</onMismatch>
+    </filter>
+    <layout class="ch.qos.logback.classic.PatternLayout">
+      <Pattern>%d{HH:mm:ss.SSS} %-5level %class{36}:%L %M - %msg%n</Pattern>
+    </layout>
+  </appender>
+  <appender name="log" class="ch.qos.logback.core.FileAppender">
+    <File>target/test.log</File>
+    <Append>false</Append>
+    <layout class="ch.qos.logback.classic.PatternLayout">
+      <Pattern>%d{HH:mm:ss.SSS} %-5level %class{36}:%L %M - %msg%n</Pattern>
+    </layout>
+  </appender>
+
+  <root>
+    <level value="trace" />
+    <appender-ref ref="log" />
+  </root>
+</configuration>
+
+

+ Here is the output that results from the Java classes and configuration above. +

+

00:07:57.725 TRACE com.test.TestService:22 retrieveMessage - entry +00:07:57.738 TRACE com.test.TestService:57 getKey - entry +00:07:57.739 TRACE com.test.TestService:59 getKey - exit with (0) +00:07:57.741 TRACE com.test.TestService:47 getMessage - entry with (0) +00:07:57.741 TRACE com.test.TestService:51 getMessage - exit with (Hello, World) +00:07:57.742 TRACE com.test.TestService:26 retrieveMessage - exit with (Hello, World) +00:07:57.742 TRACE com.test.TestService:22 retrieveMessage - entry +00:07:57.742 TRACE com.test.TestService:57 getKey - entry +00:07:57.743 TRACE com.test.TestService:59 getKey - exit with (1) +00:07:57.745 TRACE com.test.TestService:47 getMessage - entry with (1) +00:07:57.745 TRACE com.test.TestService:51 getMessage - exit with (Goodbye Cruel World) +00:07:57.746 TRACE com.test.TestService:26 retrieveMessage - exit with (Goodbye Cruel World) +00:07:57.746 TRACE com.test.TestService:32 exampleException - entry +00:07:57.750 ERROR com.test.TestService:40 exampleException - catching +java.lang.ArrayIndexOutOfBoundsException: 3 + at com.test.TestService.exampleException(TestService.java:35) + at com.test.AppTest.testApp(AppTest.java:39) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) + at java.lang.reflect.Method.invoke(Method.java:585) + at junit.framework.TestCase.runTest(TestCase.java:154) + at junit.framework.TestCase.runBare(TestCase.java:127) + at junit.framework.TestResult$1.protect(TestResult.java:106) + at junit.framework.TestResult.runProtected(TestResult.java:124) + at junit.framework.TestResult.run(TestResult.java:109) + at junit.framework.TestCase.run(TestCase.java:118) + at junit.framework.TestSuite.runTest(TestSuite.java:208) + at junit.framework.TestSuite.run(TestSuite.java:203) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) + at java.lang.reflect.Method.invoke(Method.java:585) + at org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:213) + at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140) + at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127) + at org.apache.maven.surefire.Surefire.run(Surefire.java:177) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) + at java.lang.reflect.Method.invoke(Method.java:585) + at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:338) + at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:997) +00:07:57.750 TRACE com.test.TestService:42 exampleException - exit

+ +

Simply changing the root logger level to DEBUG in the example + above will reduce the output considerably. +

+

00:28:06.004 ERROR com.test.TestService:40 exampleException - catching +java.lang.ArrayIndexOutOfBoundsException: 3 + at com.test.TestService.exampleException(TestService.java:35) + at com.test.AppTest.testApp(AppTest.java:39) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) + at java.lang.reflect.Method.invoke(Method.java:585) + at junit.framework.TestCase.runTest(TestCase.java:154) + at junit.framework.TestCase.runBare(TestCase.java:127) + at junit.framework.TestResult$1.protect(TestResult.java:106) + at junit.framework.TestResult.runProtected(TestResult.java:124) + at junit.framework.TestResult.run(TestResult.java:109) + at junit.framework.TestCase.run(TestCase.java:118) + at junit.framework.TestSuite.runTest(TestSuite.java:208) + at junit.framework.TestSuite.run(TestSuite.java:203) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) + at java.lang.reflect.Method.invoke(Method.java:585) + at org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:213) + at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140) + at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127) + at org.apache.maven.surefire.Surefire.run(Surefire.java:177) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) + at java.lang.reflect.Method.invoke(Method.java:585) + at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:338) + at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:997)

+ + + +

Event Logging

+ +

The EventLogger class provides a simple mechansim for logging events that occur in an application. + While the EventLogger is useful as a way of initiating events that should be processed by an audit + Logging system, it does not implement any of the features an audit logging system would require + such as guaranteed delivery.

+ +

The recommended way of using the EventLogger in a typical web application is to populate + the SLF4J MDC with data that is related to the entire lifespan of the request such as the user's id, + the user's ip address, the product name, etc. This can easily be done in a servlet fileter where + the MDC can also be cleared at the end of the request. When an event that needs to be recorded + occurs an EventData object should be created and populated. Then call EventLogger.logEvent(data) + where data is a reference to the EventData object.

+ +
import org.slf4j.MDC;
+import org.apache.commons.lang.time.DateUtils;
+
+import javax.servlet.Filter;
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.FilterChain;
+import javax.servlet.http.HttpSession;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.TimeZone;
+
+public class RequestFilter implements Filter
+{
+  private FilterConfig filterConfig;
+  private static String TZ_NAME = "timezoneOffset";
+
+  public void init(FilterConfig filterConfig) throws ServletException {
+    this.filterConfig = filterConfig;
+  }
+
+  /**
+   * Sample filter that populates the MDC on every request.
+   */
+  public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,
+                       FilterChain filterChain) throws IOException, ServletException {
+    HttpServletRequest request = (HttpServletRequest)servletRequest;
+    HttpServletResponse response = (HttpServletResponse)servletResponse;
+    MDC.put("ipAddress", request.getRemoteAddr());
+    HttpSession session = request.getSession(false);
+    TimeZone timeZone = null;
+    if (session != null) {
+      // Something should set this after authentication completes
+      String loginId = (String)session.getAttribute("LoginId");
+      if (loginId != null) {
+        MDC.put("loginId", loginId);
+      }
+      // This assumes there is some javascript on the user's page to create the cookie.
+      if (session.getAttribute(TZ_NAME) == null) {
+        if (request.getCookies() != null) {
+          for (Cookie cookie : request.getCookies()) {
+            if (TZ_NAME.equals(cookie.getName())) {
+              int tzOffsetMinutes = Integer.parseInt(cookie.getValue());
+              timeZone = TimeZone.getTimeZone("GMT");
+              timeZone.setRawOffset((int)(tzOffsetMinutes * DateUtils.MILLIS_PER_MINUTE));
+              request.getSession().setAttribute(TZ_NAME, tzOffsetMinutes);
+              cookie.setMaxAge(0);
+              response.addCookie(cookie);
+            }
+          }
+        }
+      }
+    }
+    MDC.put("hostname", servletRequest.getServerName());
+    MDC.put("productName", filterConfig.getInitParameter("ProductName"));
+    MDC.put("locale", servletRequest.getLocale().getDisplayName());
+    if (timeZone == null) {
+      timeZone = TimeZone.getDefault();
+    }
+    MDC.put("timezone", timeZone.getDisplayName());
+    filterChain.doFilter(servletRequest, servletResponse);
+    MDC.clear();
+  }
+
+  public void destroy() {
+  }
+} 
+ +

Sample class that uses EventLogger.

+
import org.slf4j.ext.EventData;
+import org.slf4j.ext.EventLogger;
+
+import java.util.Date;
+import java.util.UUID;
+
+public class MyApp {
+
+  public String doFundsTransfer(Account toAccount, Account fromAccount, long amount) {
+    toAccount.deposit(amount);
+    fromAccount.withdraw(amount);
+    EventData data = new EventData();
+    data.setEventDateTime(new Date());
+    data.setEventType("transfer");
+    String confirm = UUID.randomUUID().toString();
+    data.setEventId(confirm);
+    data.put("toAccount", toAccount);
+    data.put("fromAccount", fromAccount);
+    data.put("amount", amount);
+    EventLogger.logEvent(data);
+    return confirm;
+  }
+}  
+ +

The EventLogger class uses a Logger named "EventLogger". EventLogger uses a logging level + of INFO. The following shows a configuraton using Logback.

+
<configuration>
+  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+    <layout class="ch.qos.logback.classic.PatternLayout">
+      <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern>
+    </layout>
+  </appender>
+
+  <appender name="events" class="ch.qos.logback.core.ConsoleAppender">
+    <layout class="ch.qos.logback.classic.PatternLayout">
+      <Pattern>%d{HH:mm:ss.SSS} %X - %msg%n</Pattern>
+    </layout>
+  </appender>
+
+  <logger name="EventLogger" additivity="false">
+    <level value="INFO"/>
+    <appender appender-ref="events"/>
+  </logger>
+
+  <root level="DEBUG">
+    <appender-ref ref="STDOUT" />
+  </root>
+
+</configuration>  
+ + + +

Adding logging with Java agent

+ +

NOTE: BETA RELEASE, NOT PRODUCTION QUALITY

+ +

Quickstart for the impatient:

+ +
    +
  1. Use Java 5 or later.
  2. +
  3. Download slf4j-ext-1.7.5.jar and javassist.jar, and put them + both in the same directory.
  4. +
  5. Ensure your application is properly configured with + slf4j-api-1.7.5.jar and a suitable backend.
  6. + +
  7. Instead of "java ..." use "java --javaagent:PATH/slf4j-ext-1.7.5.jar=time,verbose,level=info ..." +
    + (replace PATH with the path to the jar) +
  8. +
  9. That's it!
  10. +
+ +

In some applications logging is used to trace the actual + execution of the application as opposed to log an occasional event. + One approach is using the extended + logger to add statements as appropriately, but another is to use + a tool which modifies compiled bytecode to add these statements! + Many exist, and the one included in slf4j-ext is not intended to + compete with these, but merely provide a quick way to get very basic + trace information from a given application. +

+ +

Java 5 added the Java Instrumentation mechanism, which allows you + to provide "Java agents" that can inspect and modify the byte code + of the classes as they are loaded. This allows the original class + files to remain unchanged, and the transformations done on the byte + codes depend on the needs at launch time. +

+ +

Given the well-known "Hello World" example:

+ +
public class HelloWorld {
+  public static void main(String args[]) {
+    System.out.println("Hello World");
+  }
+}
+ +

a typical transformation would be similar to: (imports omitted)

+ +
public class LoggingHelloWorld {
+  final static Logger _log = LoggerFactory.getLogger(LoggingHelloWorld.class.getName());
+
+  public static void main(String args[]) {
+    if (_log.isInfoEnabled()) {
+      _log.info("> main(args=" + Arrays.asList(args) + ")");
+    }
+    System.out.println("Hello World");
+    if (_log.isInfoEnabled()) {
+      _log.info("< main()");
+    }
+  }
+}
+ +

which in turn produces the following result when run similar to + "java LoggingHelloWorld 1 2 3 4": +

+ +

1 [main] INFO LoggingHelloWorld - > main(args=[1, 2, 3, 4]) +Hello World +1 [main] INFO LoggingHelloWorld - < main()

+ +

The same effect could have been had by using this command (with + the relative path to javassist.jar and + slf4j-ext-1.7.5.jar being ../jars):

+ +

java -javaagent:../jars/slf4j-ext-1.7.5.jar HelloWorld 1 2 3 4

+ +

+ + +

How to use

+

The javaagent may take one or more options separated by comma. The following options + are currently supported:

+ +
+
level=X
+
The log level to use for the generated log statements. X is + one of "info", "debug" or "trace". Default is "info".
+ +
time
+
Print out the current date at program start, and again when + the program ends plus the execution time in milliseconds.
+ +
verbose
+
Print out when a class is processed as part of being loaded
+ +
ignore=X:Y:...
+
(Advanced) Provide full list of colon separated prefixes of + class names NOT to add logging to. The default list is + "org/slf4j/:ch/qos/logback/:org/apache/log4j/". This does not override the fact that a class must be able to access the + slf4j-api classes in order to do logging, so if these classes are not visible to a given class it is not instrumented. +
+
+ + +

Some classes may misbehave when being rendered with "object.toString()" so they may be explicitly disabled + in the logback configuration file permanently. For instance the ToStringBuilder in the Apache Jakarta commons lang + package is a prime candidate for this. For logback add this snippet to logback.xml: +

<logger name="org.apache.commons.lang.builder" level="OFF" />
+

+ + + +

Note: These are not finalized yet, and may change.

+ +

Locations of jar files

+ +

The javassist library is used for the actual byte code + manipulation and must be available to be able to add any logging + statements. slf4j-ext-1.7.5 has been configured to + look for the following: +

+ +
    +
  • "javassist-3.4.GA.jar" relatively to + slf4j-ext-1.7.5.jar as would be if Maven had downloaded + both from the repository and slf4j-ext-1.7.5.jar was + referenced directly in the Maven repository in the + "-javaagent"-argument.
  • +
  • "javassist-3.4.GA.jar" in the same directory as slf4j-ext
  • +
  • "javassist.jar" in the same directory as slf4j-ext
  • +
+ +

A warning message is printed if the javassist library was not + found by the agent, and options requiring byte code transformations will not work. +

+ + +

Misc notes

+ +
    +
  • A java agent is not invoked on any classes already loaded by the + class loader.
  • +
  • Exceptions in the java agent that would normally have been + printed, may be silently swallowed by the JVM.
  • +
  • The javaagent only logs to System.err.
  • +
  • The name of the logger variable is fixed (to a value unlikely to be used) so if that + name is already used, a failure occures. This should be changed to determine + an unused name and use that instead.
  • +
  • Empty methods are not instrumented (an incorrect check for an interface). They should be
  • + +
+ +

(The agent is an adaption of the java.util.logging version + described in http://today.java.net/pub/a/today/2008/04/24/add-logging-at-class-load-time-with-instrumentation.html) +

+ + +
+ + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/faq.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/faq.html new file mode 100644 index 0000000..2d63c84 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/faq.html @@ -0,0 +1,1615 @@ + + + + + + SLF4J FAQ + + + + + + + + + + + + +
+ +
+ +
+ +

Frequently Asked Questions about SLF4J

+ +

Generalities

+ +
    +
  1. What is SLF4J?
  2. + +
  3. When should SLF4J be used?
  4. + +
  5. Is SLF4J yet another loggingfacade?
  6. + +
  7. If SLF4J fixes JCL, then why + wasn't the fix made in JCL instead of creating a new project? + +
  8. + +
  9. When using SLF4J, do I have to + recompile my application to switch to a different logging + system? + +
  10. + +
  11. What are SLF4J's requirements?
  12. + +
  13. Are SLF4J versions backward + compatible?
  14. + +
  15. I am getting + IllegalAccessError exceptions when using SLF4J. Why + is that?
  16. + + +
  17. + Why is SLF4J licensed under X11 type + license instead of the Apache Software License? + +
  18. + +
  19. + Where can I get a particular + SLF4J binding? + +
  20. + +
  21. + Should my library attempt to + configure logging? + +
  22. + +
  23. + In order to reduce the number of + dependencies of our software we would like to make SLF4J an + optional dependency. Is that a good idea? + +
  24. + +
  25. + What about Maven transitive + dependencies? + +
  26. + +
  27. + How do I exclude commons-logging as a + Maven dependency? + +
  28. +
+ + + About the SLF4J API + +
    + +
  1. + Why don't the printing methods + in the Logger interface accept message of type Object, but only + messages of type String? + +
  2. + +
  3. + + Can I log an exception without an accompanying message? + +
  4. + + +
  5. + What is the fastest way of + (not) logging? + +
  6. + +
  7. + How can I log the string contents + of a single (possibly complex) object? + +
  8. + + +
  9. Why doesn't the + org.slf4j.Logger interface have methods for the + FATAL level?
  10. + +
  11. Why was the TRACE level introduced only in + SLF4J version 1.4.0?
  12. + +
  13. Does the SLF4J logging API support I18N + (internationalization)?
  14. + + +
  15. Is it possible to retrieve loggers + without going through the static methods in + LoggerFactory?
  16. + +
  17. In the presence of an + exception/throwable, is it possible to parametizere a logging + statement?
  18. + +
+ + + + Implementing the SLF4J API + +
    + +
  1. How do I make my logging + framework SLF4J compatible?
  2. + +
  3. How can my logging system add + support for the Marker interface?
  4. + +
  5. How does SLF4J's version check + mechanism work?
  6. + + +
+ + + General questions about logging + + +
    + +
  1. Should Logger members of a class + be declared as static?
  2. + + +
  3. Is there a recommended idiom + for declaring a loggers in a class?
  4. + +
+ +

Generalities

+ +
+
What is SLF4J?
+
+

SLF4J is a simple facade for logging systems allowing the + end-user to plug-in the desired logging system at deployment + time. +

+
+ +
When should SLF4J be used?
+ +
+

In short, libraries and other embedded components should + consider SLF4J for their logging needs because libraries cannot + afford to impose their choice of logging framework on the + end-user. On the other hand, it does not necessarily make sense + for stand-alone applications to use SLF4J. Stand-alone + applications can invoke the logging framework of their choice + directly. In the case of logback, the question is moot because + logback exposes its logger API via SLF4J. +

+ +

SLF4J is only a facade, meaning that it does not provide a + complete logging solution. Operations such as configuring + appenders or setting logging levels cannot be performed with + SLF4J. Thus, at some point in time, any non-trivial + application will need to directly invoke the underlying + logging system. In other words, complete independence from the + API underlying logging system is not possible for a + stand-alone application. Nevertheless, SLF4J reduces the + impact of this dependence to near-painless levels. +

+ +

Suppose that your CRM application uses log4j for its + logging. However, one of your important clients request that + logging be performed through JDK 1.4 logging. If your + application is riddled with thousands of direct log4j calls, + migration to JDK 1.4 would be a relatively lengthy and + error-prone process. Even worse, you would potentially need to + maintain two versions of your CRM software. Had you been + invoking SLF4J API instead of log4j, the migration could be + completed in a matter of minutes by replacing one jar file with + another. +

+ +

SLF4J lets component developers to defer the choice of the + logging system to the end-user but eventually a choice needs + to be made. +

+ + + +
+ +
Is SLF4J yet + another logging facade?
+ +
+

SLF4J is conceptually very similar to JCL. As such, it can + be thought of as yet another logging facade. However, SLF4J is + much simpler in design and arguably more robust. In a + nutshell, SLF4J avoid the class loader issues that plague JCL. +

+ + + +
+
If SLF4J fixes JCL, + then why wasn't the fix made in JCL instead of creating a new + project? +
+ +
+

This is a very good question. First, SLF4J static binding + approach is very simple, perhaps even laughably so. It was + not easy to convince developers of the validity of that + approach. It is only after SLF4J was released and started to + become accepted did it gain respectability in the relevant + community. +

+ +

Second, SLF4J offers two enhancements which tend to be + underestimated. Parameterized log messages solve an important + problem associated with logging performance, in a pragmatic + way. Marker objects, which are supported by the + org.slf4j.Logger interface, pave the way for + adoption of advanced logging systems and still leave the door + open to switching back to more traditional logging systems if + need be. +

+ + +
+ +
When using SLF4J, do + I have to recompile my application to switch to a different + logging system? +
+ +
+

No, you do not need to recompile your application. You can + switch to a different logging system by removing the previous + SLF4J binding and replacing it with the binding of your choice. +

+ +

For example, if you were using the NOP implementation and + would like to switch to log4j version 1.2, simply replace + slf4j-nop.jar with slf4j-log4j12.jar on + your class path but do not forget to add log4j-1.2.x.jar as + well. Want to switch to JDK 1.4 logging? Just replace + slf4j-log4j12.jar with slf4j-jdk14.jar. +

+ + +
+ +
What are SLF4J's + requirements? +
+ +
+ +

As of version 1.7.0, SLF4J requires JDK 1.5 or later. Earlier + SLF4J versions, namely SLF4J 1.4, 1.5. and 1.6, required JDK + 1.4. +

+ +

 

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BindingRequirements
slf4j-nopJDK 1.5
slf4j-simpleJDK 1.5
slf4j-log4j12JDK 1.5, plus any other library + dependencies required by the log4j appenders in use
slf4j-jdk14JDK 1.5 or later
logback-classicJDK 1.5 or later, plus any other library dependencies + required by the logback appenders in use
+ + +
+ + + + +
Are SLF4J versions + backward compatible? +
+ +
+

From the clients perspective, the SLF4J API is backward + compatible for all versions. This means than you can upgrade + from SLF4J version 1.0 to any later version without + problems. Code compiled with slf4j-api-versionN.jar + will work with slf4j-api-versionM.jar for any versionN + and any versionM. To date, binary compatibility in slf4j-api + has never been broken.

+ +

However, while the SLF4J API is very stable from the client's + perspective, SLF4J bindings, e.g. slf4j-simple.jar or + slf4j-log4j12.jar, may require a specific version of slf4j-api. + Mixing different versions of slf4j artifacts can be problematic + and is strongly discouraged. For instance, if you are using + slf4j-api-1.5.6.jar, then you should also use + slf4j-simple-1.5.6.jar, using slf4j-simple-1.4.2.jar will not + work. +

+ +

At initialization time, if SLF4J suspects that there may be a + version mismatch problem, it emits a warning about the said + mismatch. +

+ + +
+ + + +
I am getting + IllegalAccessError exceptions when using SLF4J. Why + is that? +
+ +
+ +

Here are the exception details.

+ +
Exception in thread "main" java.lang.IllegalAccessError: tried to access field
+org.slf4j.impl.StaticLoggerBinder.SINGLETON from class org.slf4j.LoggerFactory
+   at org.slf4j.LoggerFactory.<clinit>(LoggerFactory.java:60)
+ +

This error is caused by the static initilizer of the + LoggerFactory class attempting to directly access + the SINGLETON field of + org.slf4j.impl.StaticLoggerBinder. While this was + allowed in SLF4J 1.5.5 and earlier, in 1.5.6 and later the + SINGLETON field has been marked as private access. +

+ + +

If you get the exception shown above, then you are using an + older version of slf4j-api, e.g. 1.4.3, with a new version of a + slf4j binding, e.g. 1.5.6. Typically, this occurs when your + Maven pom.ml file incoprporates hibernate 3.3.0 which + declares a dependency on slf4j-api version 1.4.2. If your + pom.xml declares a dependency on an slf4j binding, say + slf4j-log4j12 version 1.5.6, then you will get illegal access + errors. +

+ +

To see which version of slf4j-api is pulled in by Maven, use + the maven dependency plugin as follows.

+ +

mvn dependency:tree

+ +

If you are usig Eclipse, please do not rely on the dependency + tree shown by m2eclipse.

+ +

In your pom.xml file, excplicitly declaring a + dependecy on slf4j-api matching the version of the declared + binding will make the problem go away. +

+ +

Please also read the FAQ entry on backward compatibility for a more + general explanation.

+ + +
+ + + + +
Why is SLF4J licensed under + X11 type license instead of the Apache Software License? +
+ +
+

SLF4J is licensed under a permissive X11 type license + instead of the ASL or the LGPL + because the X11 license is deemed by both the Apache Software + Foundation as well as the Free Software Foundation as + compatible with their respective licenses. +

+ + +
+ + +
Where can I get a + particular SLF4J binding? +
+ +
+ +

SLF4J bindings for SimpleLogger, + NOPLogger, Log4jLoggerAdapter + and JDK14LoggerAdapter + are contained within the files slf4j-nop.jar, + slf4j-simple.jar, slf4j-log4j12.jar, and + slf4j-jdk14.jar. These files ship with the official SLF4J distribution. Please + note that all bindings depend on slf4j-api.jar. +

+ +

The binding for logback-classic ships with the logback + distribution. However, as with all other bindings, the + logback-classic binding requires slf4j-api.jar. +

+ + +
+ +
Should my library + attempt to configure logging? +
+ +
+

Embedded components such as libraries not only do not need + to configure the underlying logging framework, they really + should not do so. They should invoke SLF4J to log but should + let the end-user configure the logging environment. When + embedded components try to configure logging on their own, they + often override the end-user's wishes. At the end of the day, it + is the end-user who has to read the logs and process them. She + should be the person to decide how she wants her logging + configured. +

+ + +
+ + + +
In order to reduce + the number of dependencies of our software we would like to make + SLF4J an optional dependency. Is that a good idea? +
+ +
+

This + question pops up whenever a software project reaches a point + where it needs to devise a logging strategy. +

+ +

Let Wombat be a software library with very few + dependencies. If SLF4J is chosen as Wombat's logging API, then a + new dependency on slf4j-api.jar will be added to + Wombat's list of dependencies. Given that writing a logging + wrapper does not seem that hard, some developers will be tempted + to wrap SLF4J and link with it only if it is already present on + the classpath, making SLF4J an optional dependency of Wombat. In + addition to solving the dependency problem, the wrapper will + isolate Wombat from SLF4J's API ensuring that logging in Wombat + is future-proof. +

+ +

On the other hand, any SLF4J-wrapper by definition depends on + SLF4J. It is bound to have the same general API. If in the + future a new and significantly different logging API comes + along, code that uses the wrapper will be equally difficult to + migrate to the new API as code that used SLF4J directly. Thus, + the wrapper is not likely to future-proof your code, but to make + it more complex by adding an additional indirection on top of + SLF4J, which is an indirection in itself. +

+ +

increased vulnerability It is + actually worse than that. Wrappers will need to depend on + certain internal SLF4J interfaces which change from time to + time, contrary to the client-facing API which never + changes. Thus, wrappers are usually dependent on the major + version they were compiled with. A wrapper compiled against + SLF4J version 1.5.x will not work with SLF4J 1.6 whereas client + code using org.slf4j.Logger, + LoggerFactory, MarkerFactory, + org.slf4j.Marker, and MDC will work + fine with any SLF4J version from version 1.0 and onwards. +

+ +

It is reasonable to assume that in most projects Wombat will + be one dependency among many. If each library had its own + logging wrapper, then each wrapper would presumably need to be + configured separately. Thus, instead of having to deal with one + logging framework, namely SLF4J, the user of Wombat would have + to detail with Wombat's logging wrapper as well. The problem + will be compounded by each framework that comes up with its own + wrapper in order to make SLF4J optional. (Configuring or + dealing with the intricacies of five different logging wrappers + is not exactly exciting nor endearing.) +

+ +

The logging + strategy adopted by the Velocity project is a good example + of the "custom logging abstraction" anti-pattern. By adopting an + independent logging abstraction strategy, Velocity developers + have made life harder for themselves, but more importantly, they + made life harder for their users. +

+ +

Some projects try to detect the presence of SLF4J on the + class path and switch to it if present. While this approach + seems transperent enough, it will result in erroneous location + information. Underlying logging frameworks will print the + location (class name and line number) of the wrapper instead of + the real caller. Then there is the question of API coverage as + SLF4J support MDC and markers in addition to parameterized + logging. While one can come up with a seemingly working + SLF4J-wrapper within hours, many technical issues will emerge + over time which Wombat developers will have to deal with. Note + that SLF4J has evolved over several years and has 260 bug + reports filed against it.

+ +

For the above reasons, developers of frameworks should resist + the temptation to write their own logging wrapper. Not only is + it a waste of time of the developer, it will actually make life + more difficult for the users of said frameworks and make logging + code paradoxically more vulnerable to change. +

+
+ + + + +
What about Maven transitive + dependencies? +
+ +
+

As an author of a library built with Maven, you might want to + test your application using a binding, say slf4j-log4j12 or + logback-classic, without forcing log4j or logback-classic as a + dependency upon your users. This is rather easy to accomplish. +

+ +

Given that your library's code depends on the SLF4J API, you + will need to declare slf4j-api as a compile-time (default scope) + dependency. +

+
<dependency>
+  <groupId>org.slf4j</groupId>
+  <artifactId>slf4j-api</artifactId>
+  <version>1.7.5</version>
+</dependency>
+ +

Limiting the transitivity of the SLF4J binding used in your + tests can be accomplished by declaring the scope of the + SLF4J-binding dependency as "test". Here is an example:

+ +
<dependency>
+  <groupId>org.slf4j</groupId>
+  <artifactId>slf4j-log4j12</artifactId>
+  <version>1.7.5</version>
+  <scope>test</scope>
+</dependency>
+ +

Thus, as far as your users are concerned you are exporting + slf4j-api as a transitive dependency of your library, but not + any SLF4J-binding or any underlying logging system. +

+ +

Note that as of SLF4J version 1.6, in the absence of an SLF4J + binding, slf4j-api will default to a no-operation + implementation. +

+ + + +
+ + +
How do I exclude + commons-logging as a Maven dependency? +
+ +
+

alternative 1) explicit exlusion

+ +

Many software projects using Maven declare commons-logging as + a dependency. Therefore, if you wish to migrate to SLF4J or use + jcl-over-slf4j, you would need to exclude commons-logging in all + of your project's dependencies which transitively depend on + commons-logging. Dependency + exclusion is described in the Maven documentation. Excluding + commons-logging explicitly for multiple dependencies distributed + on several pom.xml files can be a cumbersome and a + relatively error prone process. +

+ +

alternative 2) provided scope

+ +

Commons-logging can be rather simply and conveniently + excluded as a dependency by declaring it in the + provided scope within the pom.xml file of your + project. The actual commons-logging classes would be provided by + jcl-over-slf4j. This translates into the following pom file + snippet:

+ +
<dependency>
+  <groupId>commons-logging</groupId>
+  <artifactId>commons-logging</artifactId>
+  <version>1.1.1</version>
+  <scope>provided</scope>
+</dependency>
+
+<dependency>
+  <groupId>org.slf4j</groupId>
+  <artifactId>jcl-over-slf4j</artifactId>
+  <version>1.7.5</version>
+</dependency>
+ +

The first dependency declaration essentially states that + commons-logging will be "somehow" provided by your + environment. The second decleration includes jcl-over-slf4j into + your project. As jcl-over-slf4j is a perfect binary-compatible + replacement for commons-logging, the first assertion becomes + true. +

+ +

Unfortunately, while declaring commons-logging in the + provided scope gets the job done, your IDE, e.g. Eclipse, will + still place commons-logging.jar on your projet's class + path as seen by your IDE. You would need to make sure that + jcl-over-slf4j.jar is visible before + commons-logging.jar by your IDE. +

+ +

alternative 3) empty artifacts

+ +

An alternative approach is to depend on an empty + commons-logging.jar artifact. This clever approach + first was imagined and initially supported by Erik van + Oosten. +

+ +

The empty artifact is available from a http://version99.qos.ch a + high-availability Maven repository, replicated on several hosts + located in different geographical regions.

+ +

The following decleration adds the version99 repository to + the set of remote repositories searched by Maven. This + repository contains empty artifacts for commons-logging and + log4j. By the way, if you use the version99 repository, please + drop us a line at <version99 AT qos.ch>. +

+ +
<repositories>
+  <repository>
+    <id>version99</id>
+    <!-- highly available repository serving empty artifacts -->
+    <url>http://version99.qos.ch/</url>
+  </repository>
+</repositories>
+ +

Declaring version 99-empty of commons-logging in the + <dependencyManagement> section of your project + will direct all transtive dependencies for commons-logging to + import version 99-empty, thus nicely addressing the + commons-logging exclusion problem. The classes for commons-logging + will be provided by jcl-over-slf4j. The following lines declare + commons-logging version 99-empty (in the dependency management + section) and declare jcl-over-slf4j as a dependency. +

+ +
<dependencyManagement>
+  <dependencies>
+    <dependency>
+      <groupId>commons-logging</groupId>
+      <artifactId>commons-logging</artifactId>
+      <version>99-empty</version>
+    </dependency>
+    ... other declarations...
+  </dependencies>
+</dependencyManagement>
+
+<!-- Do not forget to declare a dependency on jcl-over-slf4j in the        -->
+<!-- dependencies section. Note that the dependency on commons-logging     -->
+<!-- will be imported transitively. You don't have to declare it yourself. -->
+<dependencies>
+  <dependency>
+    <groupId>org.slf4j</groupId>
+    <artifactId>jcl-over-slf4j</artifactId>
+    <version>1.7.5</version>
+  </dependency>
+  ... other dependency declarations
+</dependencies>
+
+ + +
+ + + +
+ + +

About the SLF4J API

+ +
+ +
Why don't the + printing methods in the Logger interface accept message of type + Object, but only messages of type String? +
+ +
+ +

In SLF4J 1.0beta4, the printing methods such as debug(), + info(), warn(), error() in the Logger interface were + modified so as to accept only messages of type String + instead of Object. +

+ +

Thus, the set of printing methods for the DEBUG level + became:

+ +
debug(String msg); 
+debug(String format, Object arg); 
+debug(String format, Object arg1, Object arg2);           
+debug(String msg, Throwable t);
+ +

Previously, the first argument in the above methods was of + type Object.

+ +

This change enforces the notion that logging systems are + about decorating and handling messages of type String, and not + any arbitrary type (Object). +

+ +

Just as importantly, the new set of method signatures offer + a clearer differentiation between the overloaded methods + whereas previously the choice of the invoked method due to + Java overloading rules were not always easy to follow.

+ +

It was also easy to make mistakes. For example, previously + it was legal to write:

+ +
logger.debug(new Exception("some error"));
+ +

Unfortunately, the above call did not print the stack trace + of the exception. Thus, a potentially crucial piece of + information could be lost. When the first parameter is + restricted to be of type String, then only the method +

+ +
debug(String msg, Throwable t);
+ +

can be used to log exceptions. Note that this method + ensures that every logged exception is accompanied with a + descriptive message.

+ + +
+ + + +
Can I log an + exception without an accompanying message? +
+ +
+

In short, no.

+ +

If e is an Exception, and you + would like to log an exception at the ERROR level, you must + add an accompanying message. For example,

+ +
logger.error("some accompanying message", e);
+ +

You might legitimately argue that not all exceptions have a + meaningful message to accompany them. Moreover, a good exception + should already contain a self explanatory description. The + accompanying message may therefore be considered redundant. +

+ + +

While these are valid arguments, there are three opposing + arguments also worth considering. First, on many, albeit not + all occasions, the accompanying message can convey useful + information nicely complementing the description contained + in the exception. Frequently, at the point where the + exception is logged, the developer has access to more + contextual information than at the point where the exception + is thrown. Second, it is not difficult to imagine more or + less generic messages, e.g. "Exception caught", "Exception + follows", that can be used as the first argument for + error(String msg, Throwable t) invocations. + Third, most log output formats display the message on a + line, followed by the exception on a separate line. Thus, + the message line would look inconsistent without a message. +

+ +

In short, if the user were allowed to log an exception + without an accompanying message, it would be the job of the + logging system to invent a message. This is actually what + the throwing(String + sourceClass, String sourceMethod, Throwable thrown) + method in java.util.logging package does. (It decides on its + own that accompanying message is the string "THROW".) +

+ +

It may initially appear strange to require an accompanying + message to log an exception. Nevertheless, this is common + practice in all log4j derived systems such as + java.util.logging, logkit, etc. and of course log4j itself. It + seems that the current consensus considers requiring an + accompanying message as a good a thing (TM). +

+ +
+ + + + +
What is the + fastest way of (not) logging? +
+ +
+

SLF4J supports an advanced feature called parameterized + logging which can significantly boost logging performance for + disabled logging statement.

+ +

For some Logger logger, writing,

+
logger.debug("Entry number: " + i + " is " + String.valueOf(entry[i]));
+ +

incurs the cost of constructing the message parameter, that + is converting both integer i and + entry[i] to a String, and concatenating + intermediate strings. This, regardless of whether the message + will be logged or not. +

+ +

One possible way to avoid the cost of parameter + construction is by surrounding the log statement with a + test. Here is an example.

+ +
if(logger.isDebugEnabled()) {
+  logger.debug("Entry number: " + i + " is " + String.valueOf(entry[i]));
+}
+ + +

This way you will not incur the cost of parameter + construction if debugging is disabled for + logger. On the other hand, if the logger is + enabled for the DEBUG level, you will incur the cost of + evaluating whether the logger is enabled or not, twice: once in + debugEnabled and once in debug. This + is an insignificant overhead because evaluating a logger takes + less than 1% of the time it takes to actually log a statement. +

+ +

Better yet, use parameterized messages

+ +

There exists a very convenient alternative based on message + formats. Assuming entry is an object, you can write: +

+ + +
Object entry = new SomeObject();
+logger.debug("The entry is {}.", entry);
+ +

After evaluating whether to log or not, and only if the + decision is affirmative, will the logger implementation format + the message and replace the '{}' pair with the string value of + entry. In other words, this form does not incur + the cost of parameter construction in case the log statement is + disabled. +

+ +

The following two lines will yield the exact same + output. However, the second form will outperform the first + form by a factor of at least 30, in case of a + disabled logging statement. +

+ +
logger.debug("The new entry is "+entry+".");
+logger.debug("The new entry is {}.", entry);
+ + +

A two + argument variant is also available. For example, you can + write:

+ + +
logger.debug("The new entry is {}. It replaces {}.", entry, oldEntry);
+ +

If three or more arguments need to be passed, you can make + use of the Object... + variant of the printing methods. For example, you can + write:

+ +
logger.debug("Value {} was inserted between {} and {}.", newVal, below, above);
+ +

This form incurs the hidden cost of construction of an + Object[] (object array) which is usually very small. The one and + two argument variants do not incur this hidden cost and exist + solely for this reason (efficiency). The slf4j-api would be + smaller/cleaner with only the Object... variant.

+ + +

Array type arguments, including multi-dimensional arrays, + are also supported.

+ +

SLF4J uses its own message formatting implementation which + differs from that of the Java platform. This is justified by + the fact that SLF4J's implementation performs about 10 times + faster but at the cost of being non-standard and less + flexible. +

+ +

Escaping the "{}" pair

+ +

The "{}" pair is called the formatting anchor. It + serves to designate the location where arguments need to be + substituted within the message pattern. +

+ +

SLF4J only cares about the formatting anchor, that + is the '{' character immediately followed by '}'. Thus, in + case your message contains the '{' or the '}' character, you + do not have to do anything special unless the '}' character + immediately follows '}'. For example, +

+ +
logger.debug("Set {1,2} differs from {}", "3");
+ +

which will print as "Set {1,2} differs from 3".

+ +

You could have even written,

+
logger.debug("Set {1,2} differs from {{}}", "3");
+

which would have printed as "Set {1,2} differs from {3}".

+ +

In the extremely rare case where the the "{}" pair occurs + naturally within your text and you wish to disable the special + meaning of the formatting anchor, then you need to escape the + '{' character with '\', that is the backslash character. Only + the '{' character should be escaped. There is no need to + escape the '}' character. For example, +

+ +
logger.debug("Set \\{} differs from {}", "3");
+ +

will print as "Set {} differs from 3". Note that within + Java code, the backslash cracacter needs to be written as + '\\'.

+ +

In the rare case where the "\{}" occurs naturally in the + message, you can double escape the formatting anchor so that + it retains its original meaning. For example,

+ + +
logger.debug("File name is C:\\\\{}.", "file.zip");
+

will print as "File name is C:\file.zip".

+ +
+ + + +
How can I log the + string contents of a single (possibly complex) object?
+ +
+

In relatively rare cases where the message to be logged + is the string form of an object, then the parameterized + printing method of the appropriate level can be + used. Assuming complexObject is an object of + certain complexity, for a log statement of level DEBUG, you + can write: +

+ +
logger.debug("{}", complexObject);
+ + +

The logging system will invoke + complexObject.toString() method only after it + has ascertained that the log statement was + enabled. Otherwise, the cost of + complexObject.toString() conversion will be + advantageously avoided. +

+ + + +
+ + + + +
Why doesn't the + org.slf4j.Logger interface have methods for the FATAL + level? +
+ +
+

The Marker + interface, part of the org.slf4j package, renders + the FATAL level largely redundant. If a given error requires + attention beyond that allocated for ordinary errors, simply mark + the logging statement with a specially designated marker which + can be named "FATAL" or any other name to your liking. +

+ +

Here is an example,

+ +
import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.slf4j.Marker;
+import org.slf4j.MarkerFactory;
+
+class Bar {
+  void foo() {
+    Marker fatal = MarkerFactory.getMarker("FATAL");
+    Logger logger = LoggerFactory.getLogger("aLogger");
+
+    try {
+      ... obtain a JDBC connection
+    } catch (JDBException e) {
+      logger.error(fatal, "Failed to obtain JDBC connection", e);
+    }
+  }
+}
+ + +

While markers are part of the SLF4J API, only logback + supports markers off the shelf. For example, if you add the + %marker conversion word to its pattern, logback's + PatternLayout will add marker data to its + output. Marker data can be used to filter + messages or even trigger + an outgoing email at + the end of an individual transaction. +

+ +

In combination with logging frameworks such as log4j and + java.util.logging which do not support markers, marker data will + be silently ignored.

+ +

Markers add a new dimension with infinite possible values for + processing log statements compared to five values, namely ERROR, + WARN, INFO, DEBUG and TRACE, allowed by levels. At present time, + only logback supports marker data. However, nothing prevents + other logging frameworks from making use of marker data. +

+ +
+ + +
Why was the TRACE level + introduced only in SLF4J version 1.4.0?
+ +
+ +

The addition of the TRACE level has been frequently and + hotly debated request. By studying various projects, we + observed that the TRACE level was used to disable logging + output from certain classes without needing to + configure logging for those classes. Indeed, the TRACE level + is by default disabled in log4j and logback as well most other + logging systems. The same result can be achieved by adding the + appropriate directives in configuration files. +

+ +

Thus, in many of cases the TRACE level carried the same + semantic meaning as DEBUG. In such cases, the TRACE level + merely saves a few configuration directives. In other, more + interesting occasions, where TRACE carries a different meaning + than DEBUG, Marker + objects can be put to use to convey the desired + meaning. However, if you can't be bothered with markers and + wish to use a logging level lower than DEBUG, the TRACE level + can get the job done. +

+ +

Note that while the cost of evaluating a disabled log + request is in the order of a few nanoseconds, the + use of the TRACE level (or any other level for that matter) is + discouraged in tight loops where the log request might be + evaluated millions of times. If the log request is enabled, + then it will overwhelm the target destination with massive + output. If the request is disabled, it will waste resources. +

+ +

In short, although we still discourage the use of the TRACE + level because alternatives exist or because in many cases log + requests of level TRACE are wasteful, given that people kept + asking for it, we decided to bow to popular demand. +

+ + +
+ + +
Does the SLF4J logging API + support I18N (internationalization)? +
+ +
+

Yes, as of version 1.5.9, SLF4J ships with a package called + org.slf4j.cal10n which adds localized/internationalized logging + support as a thin layer built upon the CAL10N API.

+ + +
+ + + +
Is it possible to + retrieve loggers without going through the static methods in + LoggerFactory? +
+ +
+ +

Yes. LoggerFactory is essentially a wrapper + around an ILoggerFactory + instance. The ILoggerFactory instance in use is + determined according to the static binding conventions of the + SLF4J framework. See the getSingleton() + method in LoggerFactory for details. +

+ +

However, nothing prevents you from using your own + ILoggerFactory instance. Note that you can also + obtain a reference to the ILoggerFactory that the + LoggerFactory class is using by invoking the + LoggerFactory.getILoggerFactory() method. +

+ +

Thus, if SLF4J binding conventions do not fit your needs, or + if you need additional flexibility, then do consider using the + ILoggerFactory interface as an alternative to + inventing your own logging API.

+
+ + + +
In the presence of an + exception/throwable, is it possible to parametizere a logging + statement?
+ + +
+

Yes, as of SLF4J 1.6.0, but not in previous versions. The + SLF4J API supports parametrization in the presence of an + exception, assuming the exception is the last parameter. Thus, +

+
String s = "Hello world";
+try {
+  Integer i = Integer.valueOf(s);
+} catch (NumberFormatException e) {
+  logger.error("Failed to format {}", s, e);
+}
+ +

will print the NumberFormatException with its + stack trace as expected. The java compiler will invoke the error + method taking a String and two Object arguments. SLF4J, in + accordance with the programmer's most probable intention, will + interpret NumberFormatException instance as a + throwable instead of an unused Object parameter. In + SLF4J versions prior to 1.6.0, the + NumberFormatException instance was simply ignored. +

+ +

If the exception is not the last argument, it will be treated + as a plain object and its stack trace will NOT be printed. + However, such situations should not occur in practice. +

+ +
+
+ + + +

Implementing the SLF4J API

+ +
+ + + +
How do I make my + logging framework SLF4J compatible? +
+ + +
+ +

Adding supporting for the SLF4J is surprisingly + easy. Essentially, you coping an existing binding and tailoring + it a little (as explained below) does the trick. +

+ +

Assuming your logging system has notion of a + logger, called say MyLogger, you need to provide + an adapter for MyLogger to + org.slf4j.Logger interface. Refer to slf4j-jcl, + slf4j-jdk14, and slf4j-log4j12 modules for examples of + adapters. +

+ +

Once you have written an appropriate adapter, say + MyLoggerAdapter, you need to provide a factory + class implementing the org.slf4j.ILoggerFactory + interface. This factory should return instances + MyLoggerAdapter. Let MyLoggerFactory + be the name of your factory class. +

+ +

Once you have the adapter, namely + MyLoggerAdapter, and a factory, namely + MyLoggerFactory, the last remaining step is to + modify the StaticLoggerBinder class so that it + returns an new instance of MyLoggerFactory. You + will also need to modify the + loggerFactoryClassStr variable. +

+ +

For Marker or MDC support, you could use the one of the + existing NOP implementations. +

+ +

In summary, to create an SLF4J binding for your logging + system, follow these steps:

+ +
    +
  1. start with a copy of an existing module,
  2. +
  3. create an adapter between your logging system and + org.slf4j.Logger interface +
  4. +
  5. create a factory for the adapter created in the previous step,
  6. +
  7. modify StaticLoggerBinder class to use the + factory you created in the previous step
  8. +
+ + +
+ + + +
How can my logging + system add support for the Marker interface? +
+
+ +

Markers constitute a revolutionary concept which is + supported by logback but not other existing logging + systems. Consequently, SLF4J conforming logging systems are + allowed to ignore marker data passed by the user. +

+ +

However, even though marker data may be ignored, the user + must still be allowed to specify marker data. Otherwise, users + would not be able to switch between logging systems that + support markers and those that do not. +

+ +

The MarkerIgnoringBase class can serve as a + base for adapters or native implementations of logging + systems lacking marker support. In + MarkerIgnoringBase, methods taking marker data + simply invoke the corresponding method without the Marker + argument, discarding any Marker data passed as + argument. Your SLF4J adapters can extend + MarkerIgnoringBase to quickly implement the + methods in org.slf4j.Logger which take a + Marker as the first argument. +

+ + +
+ + + +
How does SLF4J's + version check mechanism work? +
+ +
+

The version check performed by SLF4J API during its + initialization is an elective process. Conforming SLF4J + implementations may choose not to participate, in which + case, no version check will be performed. +

+ +

However, if an SLF4J implementation decides to participate, + than it needs to declare a variable called + REQUESTED_API_VERSION within its copy of the + StaticLoggerBinder class. The value of this + variable should be equal to the version of the slf4j-api.jar + it is compiled with. If the implementation is upgraded to a + newer version of slf4j-api, than you also need to update the + value of REQUESTED_API_VERSION. +

+ +

For each version, SLF4J API maintains a list of compatible + versions. SLF4J will emit a version mismatch warning only if + the requested version is not found in the compatibility + list. So even if your SLF4J binding has a different release + schedule than SLF4J, assuming you update the SLF4J version you + use every 6 to 12 months, you can still participate in the + version check without incurring a mismatch warning. For + example, logback has a different release schedule but still + participates in version checks.

+ +

As of SLF4J 1.5.5, all bindings shipped within the + SLF4J distribution, e.g. slf4j-logj12, slf4j-simple and + slf4j-jdk14, declare the REQUESTED_API_VERSION field with a + value equal to their SLF4J version. It follows that, for example + if slf4j-simple-1.5.8.jar is mixed with slf4j-api-1.6.0.jar, + given that 1.5.8 is not on the compatibility list of SLF4J + version 1.6.x, a version mismatch warning will be issued. +

+ +

Note that SLF4J versions prior to 1.5.5 did not have a + version check mechanism. Only slf4j-api-1.5.5.jar and later can + emit version mismatch warnings. +

+ + +
+ +
+ +

General questions about logging

+ + + +
+ + +
Should Logger members + of a class be declared as static? +
+
+ +

We used to recommend that loggers members be + declared as instance variables instead of static. After further + analysis, we no longer recommend one approach over the + other. +

+ +

Here is a summary of the pros and cons of each approach. +

+ + + + + + + + + + + + + + + + + + + + + + +
Advantages for declaring loggers as staticDisadvantages for declaring loggers as static
+
    +
  1. common and well-established idiom
  2. +
  3. less CPU overhead: loggers are retrieved and + assigned only once, at hosting class + initialization
  4. +
  5. less memory overhead: logger declaration will + consume one reference per class
  6. +
+
+
    +
  1. For libraries shared between applications, not + possible to take advantage of repository selectors. It + should be noted that if the SLF4J binding and the + underlying API ships with each application (not shared + between applications), then each application will still + have its own logging environment. +
  2. +
  3. not IOC-friendly
  4. +
+
Advantages for declaring loggers as instance variablesDisadvantages for declaring loggers as + instance variables
+
    +
  1. Possible to take advantage of repository selectors + even for libraries shared between applications. However, + repository selectors only work if the underlying logging + system is logback-classic. Repository selectors do not + work for the SLF4J+log4j combination. +
  2. +
  3. IOC-friendly
  4. +
+
+
    +
  1. Less common idiom than declaring loggers as static + variables
  2. + +
  3. higher CPU overhead: loggers are retrieved and + assigned for each instance of the hosting class
  4. + +
  5. higher memory overhead: logger declaration will + consume one reference per instance of the hosting class
  6. +
+
+ + +

Explanation

+ +

Static logger members cost a single variable reference for + all instances of the class whereas an instance logger member + will cost a variable reference for every instance of the + class. For simple classes instantiated thousands of times + there might be a noticeable difference. +

+ +

However, more recent logging systems, e.g log4j or logback, + support a distinct logger context for each application running + in the application server. Thus, even if a single copy of + log4j.jar or logback-classic.jar is deployed + in the server, the logging system will be able to differentiate + between applications and offer a distinct logging environment + for each application. +

+ +

More specifically, each time a logger is retrieved by + invoking LoggerFactory.getLogger() method, the + underlying logging system will return an instance appropriate + for the current application. Please note that within the + same application retrieving a logger by a given name + will always return the same logger. For a given name, a + different logger will be returned only for different + applications. +

+ +

If the logger is static, then it will only be retrieved once + when the hosting class is loaded into memory. If the hosting + class is used in only in one application, there is not much to + be concerned about. However, if the hosting class is shared + between several applications, then all instances of the shared + class will log into the context of the application which + happened to first load the shared class into memory - hardly the + behavior expected by the user. +

+ +

Unfortunately, for non-native implementations of the SLF4J + API, namely with slf4j-log4j12, log4j's repository selector will + not be able to do its job properly because slf4j-log4j12, a + non-native SLF4J binding, will store logger instances in a map, + short-circuiting context-dependent logger retrieval. For native + SLF4J implementations, such as logback-classic, repository + selectors will work as expected. +

+ +

The Apache Commons wiki contains an informative + article covering the same question.

+ +

Logger serialization

+ +

Contrary to static variables, instance variables are + serialized by default. As of SLF4J version 1.5.3, logger + instances survive serialization. Thus, serialization of the host + class no longer requires any special action, even when loggers + are declared as instance variables. In previous versions, logger + instances needed to be declared as transient in the + host class.

+ +

Summary

+ +

In summary, declaring logger members as static variables + requires less CPU time and have a slightly smaller memory + footprint. On the other hand, declaring logger members as + instance variables requires more CPU time and have a slighlty + higher memory overhead. However, instance variables make it + possible to create a distinct logger environment for each + application, even for loggers declared in shared + libraries. Perhaps more important than previously mentioned + considerations, instance variables are IOC-friendly whereas + static variables are not. +

+ +

See also related + discussion in the commons-logging wiki. +

+ +
+
+ + +
+
Is there a + recommended idiom for declaring a logger in a class? +
+ +
+

The following is the recommended logger declaration + idiom. For reasons explained + above, it is left to the user to determine whether loggers + are declared as static variables or not.

+ +
package some.package;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+      
+public class MyClass {
+  final (static) Logger logger = LoggerFactory.getLogger(MyClass.class);
+  ... etc
+}
+ +

Unfortunately, give that the name of the hosting class is + part of the logger declaration, the above logger declaration + idiom is not is not resistant to cut-and-pasting + between classes. +

+
+
+ + +
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/PythonPowered.png b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/PythonPowered.png new file mode 100644 index 0000000..2e9d99c Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/PythonPowered.png differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/bindings.png b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/bindings.png new file mode 100644 index 0000000..4021c09 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/bindings.png differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/bridging.png b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/bridging.png new file mode 100644 index 0000000..b61c0a7 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/bridging.png differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/buyDirect.jpg b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/buyDirect.jpg new file mode 100644 index 0000000..dd2ff4c Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/buyDirect.jpg differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/collapsed.gif b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/collapsed.gif new file mode 100644 index 0000000..6e71084 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/collapsed.gif differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/concrete-bindings.png b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/concrete-bindings.png new file mode 100644 index 0000000..8af5e5b Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/concrete-bindings.png differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/devoxx09.jpeg b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/devoxx09.jpeg new file mode 100644 index 0000000..f6f38eb Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/devoxx09.jpeg differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/expanded.gif b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/expanded.gif new file mode 100644 index 0000000..0fef3d8 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/expanded.gif differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/external.png b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/external.png new file mode 100644 index 0000000..3f999fc Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/external.png differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/gnu-head-tiny.jpg b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/gnu-head-tiny.jpg new file mode 100644 index 0000000..441be50 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/gnu-head-tiny.jpg differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/icon_error_sml.gif b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/icon_error_sml.gif new file mode 100644 index 0000000..61132ef Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/icon_error_sml.gif differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/icon_info_sml.gif b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/icon_info_sml.gif new file mode 100644 index 0000000..c6cb9ad Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/icon_info_sml.gif differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/icon_success_sml.gif b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/icon_success_sml.gif new file mode 100644 index 0000000..52e85a4 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/icon_success_sml.gif differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/icon_warning_sml.gif b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/icon_warning_sml.gif new file mode 100644 index 0000000..873bbb5 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/icon_warning_sml.gif differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/jazoon09.gif b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/jazoon09.gif new file mode 100644 index 0000000..f386387 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/jazoon09.gif differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/legacy.png b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/legacy.png new file mode 100644 index 0000000..7a9d386 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/legacy.png differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/logos/build-by-maven-black.png b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/logos/build-by-maven-black.png new file mode 100644 index 0000000..919fd0f Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/logos/build-by-maven-black.png differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/logos/build-by-maven-white.png b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/logos/build-by-maven-white.png new file mode 100644 index 0000000..7d44c9c Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/logos/build-by-maven-white.png differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/logos/maven-feather.png b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/logos/maven-feather.png new file mode 100644 index 0000000..b5ada83 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/logos/maven-feather.png differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/logos/qosLogo.png b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/logos/qosLogo.png new file mode 100644 index 0000000..52b216e Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/logos/qosLogo.png differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/logos/qoslogo.gif b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/logos/qoslogo.gif new file mode 100644 index 0000000..d06ec29 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/logos/qoslogo.gif differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/logos/slf4j-logo.jpg b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/logos/slf4j-logo.jpg new file mode 100644 index 0000000..62295c9 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/logos/slf4j-logo.jpg differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/logos/slf4j-small.jpg b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/logos/slf4j-small.jpg new file mode 100644 index 0000000..a26ab0c Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/logos/slf4j-small.jpg differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/logos/valid-html401.png b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/logos/valid-html401.png new file mode 100644 index 0000000..7cd17ee Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/logos/valid-html401.png differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/mailman.jpg b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/mailman.jpg new file mode 100644 index 0000000..94a4c01 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/mailman.jpg differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/myjob.png b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/myjob.png new file mode 100644 index 0000000..40b50d4 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/myjob.png differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/newwindow.png b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/newwindow.png new file mode 100644 index 0000000..6287f72 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/newwindow.png differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/slf4j-migrator.gif b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/slf4j-migrator.gif new file mode 100644 index 0000000..27c126e Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/slf4j-migrator.gif differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/twitter-bird-light-bgs.png b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/twitter-bird-light-bgs.png new file mode 100644 index 0000000..188597e Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/images/twitter-bird-light-bgs.png differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/inde_base.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/inde_base.html new file mode 100644 index 0000000..2addd7b --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/inde_base.html @@ -0,0 +1,28 @@ + + + + +SLF4J + + + + + + +
+ +
+ +
+ + + + + +
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/index.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/index.html new file mode 100644 index 0000000..75a6933 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/index.html @@ -0,0 +1,170 @@ + + + + + + SLF4J + + + + + + + +
+ + +
+ +
+ + +

Simple Logging Facade for Java (SLF4J)

+ +

The Simple Logging Facade for Java or (SLF4J) serves as a simple + facade or abstraction for various logging frameworks, e.g. + java.util.logging, log4j and logback, allowing the end user to plug + in the desired logging framework at deployment + time.

+ +

Before you start using SLF4J, we highly recommend that you read + the two-page SLF4J user manual. +

+ +

Note that SLF4J-enabling your library implies the addition of + only a single mandatory dependency, namely slf4j-api.jar. + If no binding is found on the class path, then SLF4J will default to + a no-operation implementation. +

+ +

In case you wish to migrate your Java source files to SLF4J, + consider our migrator tool which can + migrate your project into SLF4J in minutes.

+ +

In case an externally-maintained component you depend on uses a + logging API other than SLF4J, such as commons logging, log4j or + java.util.logging, have a look at SLF4J's binary-support for legacy APIs. +

+ +

Projects depending on SLF4J

+ +

Here is a non-exhaustive list of projects known to depend on + SLF4J, in alphabetical order: +

+ + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+ + + + + +
+ + +
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/js/decorator.js b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/js/decorator.js new file mode 100644 index 0000000..362712e --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/js/decorator.js @@ -0,0 +1,101 @@ + + +//

Logger context

+ +function decorate() { + var anchor = findAnchorInURL(document.URL); + decoratePropertiesInTables(anchor); + decorateDoAnchor(anchor); + decorateConversionWordInTables(anchor); +} + +// ---------------------------------------------- +function findAnchorInURL(url) { + + if(url == null) return null + var index = url.lastIndexOf("#"); + if(index != -1 && (index+1) < url.length) + return url.substr(index+1); + else + return null; +} + +// ---------------------------------------------- +function decoratePropertiesInTables(anchor) { + + //if(1==1) return; + var elems = $('tr td:first-child span.prop'); + + for(var i = 0; i < elems.length; i++) { + var e = elems[i]; + var p = e.parentNode; + if(p == null) continue; + + var tmpHTML = p.innerHTML; + var propName = e.innerHTML; + var nameAttr = $(e).attr('name') + + if(nameAttr == null) { + var containerAttr = $(e).attr('container') + if(containerAttr != null) + nameAttr = containerAttr+capitaliseFirstLetter(propName); + else + nameAttr = propName; + } + + p.innerHTML = "" +tmpHTML +""; + scrollIfMatch(p, nameAttr, anchor); + } // for +} + +function decorateConversionWordInTables(anchor) { + var elems = $('tr td.word'); + for(var i = 0; i < elems.length; i++) { + var e = elems[i]; + var tmpHTML = e.innerHTML; + var nameAttr = $(e).attr('name') + if(nameAttr == null) + continue; + e.innerHTML = "" +tmpHTML; + scrollIfMatch(e, nameAttr, anchor); + } +} + + +function decorateDoAnchor(anchor) { + var elems = $('.doAnchor'); + for(var i = 0; i < elems.length; i++) { + var e = elems[i]; + var tmpHTML = e.innerHTML; + var nameAttr = $(e).attr('name') + if(nameAttr == null) { + nameAttr = camelCase($.trim(tmpHTML)) + } + e.innerHTML = "" +tmpHTML; + scrollIfMatch(e, nameAttr, anchor); + } +} + +function scrollIfMatch(element, nameAttr, anchor) { + if(anchor != null && nameAttr.toString() == anchor) + element.scrollIntoView(true); + + +} + +function capitaliseFirstLetter(str) { + return str.charAt(0).toUpperCase() + str.slice(1); +} + + +function camelCase(str) { + var res = str.trim().replace(/\s\w/g, function(match) { + return match.trim().toUpperCase(); + }); + return res; +} + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/js/jquery-min.js b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/js/jquery-min.js new file mode 100644 index 0000000..16ad06c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/js/jquery-min.js @@ -0,0 +1,4 @@ +/*! jQuery v1.7.2 jquery.com | jquery.org/license */ +(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cu(a){if(!cj[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),b.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write((f.support.boxModel?"":"")+""),cl.close();d=cl.createElement(a),cl.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ck)}cj[a]=e}return cj[a]}function ct(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function cs(){cq=b}function cr(){setTimeout(cs,0);return cq=f.now()}function ci(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ch(){try{return new a.XMLHttpRequest}catch(b){}}function cb(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){if(c!=="border")for(;e=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?+d:j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.2",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){if(typeof c!="string"||!c)return null;var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c
a",d=p.getElementsByTagName("*"),e=p.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=p.getElementsByTagName("input")[0],b={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:p.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,pixelMargin:!0},f.boxModel=b.boxModel=c.compatMode==="CSS1Compat",i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete p.test}catch(r){b.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",function(){b.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),i.setAttribute("name","t"),p.appendChild(i),j=c.createDocumentFragment(),j.appendChild(p.lastChild),b.checkClone=j.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,j.removeChild(i),j.appendChild(p);if(p.attachEvent)for(n in{submit:1,change:1,focusin:1})m="on"+n,o=m in p,o||(p.setAttribute(m,"return;"),o=typeof p[m]=="function"),b[n+"Bubbles"]=o;j.removeChild(p),j=g=h=p=i=null,f(function(){var d,e,g,h,i,j,l,m,n,q,r,s,t,u=c.getElementsByTagName("body")[0];!u||(m=1,t="padding:0;margin:0;border:",r="position:absolute;top:0;left:0;width:1px;height:1px;",s=t+"0;visibility:hidden;",n="style='"+r+t+"5px solid #000;",q="
"+""+"
",d=c.createElement("div"),d.style.cssText=s+"width:0;height:0;position:static;top:0;margin-top:"+m+"px",u.insertBefore(d,u.firstChild),p=c.createElement("div"),d.appendChild(p),p.innerHTML="
t
",k=p.getElementsByTagName("td"),o=k[0].offsetHeight===0,k[0].style.display="",k[1].style.display="none",b.reliableHiddenOffsets=o&&k[0].offsetHeight===0,a.getComputedStyle&&(p.innerHTML="",l=c.createElement("div"),l.style.width="0",l.style.marginRight="0",p.style.width="2px",p.appendChild(l),b.reliableMarginRight=(parseInt((a.getComputedStyle(l,null)||{marginRight:0}).marginRight,10)||0)===0),typeof p.style.zoom!="undefined"&&(p.innerHTML="",p.style.width=p.style.padding="1px",p.style.border=0,p.style.overflow="hidden",p.style.display="inline",p.style.zoom=1,b.inlineBlockNeedsLayout=p.offsetWidth===3,p.style.display="block",p.style.overflow="visible",p.innerHTML="
",b.shrinkWrapBlocks=p.offsetWidth!==3),p.style.cssText=r+s,p.innerHTML=q,e=p.firstChild,g=e.firstChild,i=e.nextSibling.firstChild.firstChild,j={doesNotAddBorder:g.offsetTop!==5,doesAddBorderForTableAndCells:i.offsetTop===5},g.style.position="fixed",g.style.top="20px",j.fixedPosition=g.offsetTop===20||g.offsetTop===15,g.style.position=g.style.top="",e.style.overflow="hidden",e.style.position="relative",j.subtractsBorderForOverflowNotVisible=g.offsetTop===-5,j.doesNotIncludeMarginInBodyOffset=u.offsetTop!==m,a.getComputedStyle&&(p.style.marginTop="1%",b.pixelMargin=(a.getComputedStyle(p,null)||{marginTop:0}).marginTop!=="1%"),typeof d.style.zoom!="undefined"&&(d.style.zoom=1),u.removeChild(d),l=p=d=null,f.extend(b,j))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e1,null,!1)},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e={};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){var d=2;typeof a!="string"&&(c=a,a="fx",d--);if(arguments.length1)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,f.prop,a,b,arguments.length>1)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.type]||f.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.type]||f.valHooks[g.nodeName.toLowerCase()];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h,i=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;i=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/(?:^|\s)hover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function( +a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler,g=p.selector),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;le&&j.push({elem:this,matches:d.slice(e)});for(k=0;k0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));o.match.globalPOS=p;var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/]","i"),bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div
","
"]),f.fn.extend({text:function(a){return f.access(this,function(a){return a===b?f.text(this):this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f +.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){return f.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>");try{for(;d1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||f.isXMLDoc(a)||!bc.test("<"+a.nodeName+">")?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g,h,i,j=[];b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);for(var k=0,l;(l=a[k])!=null;k++){typeof l=="number"&&(l+="");if(!l)continue;if(typeof l=="string")if(!_.test(l))l=b.createTextNode(l);else{l=l.replace(Y,"<$1>");var m=(Z.exec(l)||["",""])[1].toLowerCase(),n=bg[m]||bg._default,o=n[0],p=b.createElement("div"),q=bh.childNodes,r;b===c?bh.appendChild(p):U(b).appendChild(p),p.innerHTML=n[1]+l+n[2];while(o--)p=p.lastChild;if(!f.support.tbody){var s=$.test(l),t=m==="table"&&!s?p.firstChild&&p.firstChild.childNodes:n[1]===""&&!s?p.childNodes:[];for(i=t.length-1;i>=0;--i)f.nodeName(t[i],"tbody")&&!t[i].childNodes.length&&t[i].parentNode.removeChild(t[i])}!f.support.leadingWhitespace&&X.test(l)&&p.insertBefore(b.createTextNode(X.exec(l)[0]),p.firstChild),l=p.childNodes,p&&(p.parentNode.removeChild(p),q.length>0&&(r=q[q.length-1],r&&r.parentNode&&r.parentNode.removeChild(r)))}var u;if(!f.support.appendChecked)if(l[0]&&typeof (u=l.length)=="number")for(i=0;i1)},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=by(a,"opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=bu.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(by)return by(a,c)},swap:function(a,b,c){var d={},e,f;for(f in b)d[f]=a.style[f],a.style[f]=b[f];e=c.call(a);for(f in b)a.style[f]=d[f];return e}}),f.curCSS=f.css,c.defaultView&&c.defaultView.getComputedStyle&&(bz=function(a,b){var c,d,e,g,h=a.style;b=b.replace(br,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b))),!f.support.pixelMargin&&e&&bv.test(b)&&bt.test(c)&&(g=h.width,h.width=c,c=e.width,h.width=g);return c}),c.documentElement.currentStyle&&(bA=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f==null&&g&&(e=g[b])&&(f=e),bt.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),by=bz||bA,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth!==0?bB(a,b,d):f.swap(a,bw,function(){return bB(a,b,d)})},set:function(a,b){return bs.test(b)?b+"px":b}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bq.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bp,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bp.test(g)?g.replace(bp,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){return f.swap(a,{display:"inline-block"},function(){return b?by(a,"margin-right"):a.style.marginRight})}})}),f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)}),f.each({margin:"",padding:"",border:"Width"},function(a,b){f.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bx[d]+b]=e[d]||e[d-2]||e[0];return f}}});var bC=/%20/g,bD=/\[\]$/,bE=/\r?\n/g,bF=/#.*$/,bG=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bH=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bI=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bJ=/^(?:GET|HEAD)$/,bK=/^\/\//,bL=/\?/,bM=/)<[^<]*)*<\/script>/gi,bN=/^(?:select|textarea)/i,bO=/\s+/,bP=/([?&])_=[^&]*/,bQ=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bR=f.fn.load,bS={},bT={},bU,bV,bW=["*/"]+["*"];try{bU=e.href}catch(bX){bU=c.createElement("a"),bU.href="",bU=bU.href}bV=bQ.exec(bU.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bR)return bR.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
").append(c.replace(bM,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bN.test(this.nodeName)||bH.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bE,"\r\n")}}):{name:b.name,value:c.replace(bE,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b$(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b$(a,b);return a},ajaxSettings:{url:bU,isLocal:bI.test(bV[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bW},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bY(bS),ajaxTransport:bY(bT),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?ca(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cb(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bG.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bF,"").replace(bK,bV[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bO),d.crossDomain==null&&(r=bQ.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bV[1]&&r[2]==bV[2]&&(r[3]||(r[1]==="http:"?80:443))==(bV[3]||(bV[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bZ(bS,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bJ.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bL.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bP,"$1_="+x);d.url=y+(y===d.url?(bL.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bW+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bZ(bT,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)b_(g,a[g],c,e);return d.join("&").replace(bC,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cc=f.now(),cd=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cc++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=typeof b.data=="string"&&/^application\/x\-www\-form\-urlencoded/.test(b.contentType);if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cd.test(b.url)||e&&cd.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cd,l),b.url===j&&(e&&(k=k.replace(cd,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var ce=a.ActiveXObject?function(){for(var a in cg)cg[a](0,1)}:!1,cf=0,cg;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ch()||ci()}:ch,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,ce&&delete cg[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n);try{m.text=h.responseText}catch(a){}try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cf,ce&&(cg||(cg={},f(a).unload(ce)),cg[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cj={},ck,cl,cm=/^(?:toggle|show|hide)$/,cn=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,co,cp=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cq;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(ct("show",3),a,b,c);for(var g=0,h=this.length;g=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);f.fn[a]=function(e){return f.access(this,function(a,e,g){var h=cy(a);if(g===b)return h?c in h?h[c]:f.support.boxModel&&h.document.documentElement[e]||h.document.body[e]:a[e];h?h.scrollTo(d?f(h).scrollLeft():g,d?g:f(h).scrollTop()):a[e]=g},a,e,arguments.length,null)}}),f.each({Height:"height",Width:"width"},function(a,c){var d="client"+a,e="scroll"+a,g="offset"+a;f.fn["inner"+a]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,c,"padding")):this[c]():null},f.fn["outer"+a]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,c,a?"margin":"border")):this[c]():null},f.fn[c]=function(a){return f.access(this,function(a,c,h){var i,j,k,l;if(f.isWindow(a)){i=a.document,j=i.documentElement[d];return f.support.boxModel&&j||i.body&&i.body[d]||j}if(a.nodeType===9){i=a.documentElement;if(i[d]>=i[e])return i[d];return Math.max(a.body[e],i[e],a.body[g],i[g])}if(h===b){k=f.css(a,c),l=parseFloat(k);return f.isNumeric(l)?l:k}f(a).css(c,h)},c,a,arguments.length,null)}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window); \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/js/jquery.cookies.2.2.0.js b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/js/jquery.cookies.2.2.0.js new file mode 100644 index 0000000..c6dec07 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/js/jquery.cookies.2.2.0.js @@ -0,0 +1,450 @@ +/** + * Copyright (c) 2005 - 2010, James Auldridge + * All rights reserved. + * + * Licensed under the BSD, MIT, and GPL (your choice!) Licenses: + * http://code.google.com/p/cookies/wiki/License + * + */ +var jaaulde = window.jaaulde || {}; +jaaulde.utils = jaaulde.utils || {}; +jaaulde.utils.cookies = ( function() +{ + var resolveOptions, assembleOptionsString, parseCookies, constructor, defaultOptions = { + expiresAt: null, + path: '/', + domain: null, + secure: false + }; + /** + * resolveOptions - receive an options object and ensure all options are present and valid, replacing with defaults where necessary + * + * @access private + * @static + * @parameter Object options - optional options to start with + * @return Object complete and valid options object + */ + resolveOptions = function( options ) + { + var returnValue, expireDate; + + if( typeof options !== 'object' || options === null ) + { + returnValue = defaultOptions; + } + else + { + returnValue = { + expiresAt: defaultOptions.expiresAt, + path: defaultOptions.path, + domain: defaultOptions.domain, + secure: defaultOptions.secure + }; + + if( typeof options.expiresAt === 'object' && options.expiresAt instanceof Date ) + { + returnValue.expiresAt = options.expiresAt; + } + else if( typeof options.hoursToLive === 'number' && options.hoursToLive !== 0 ) + { + expireDate = new Date(); + expireDate.setTime( expireDate.getTime() + ( options.hoursToLive * 60 * 60 * 1000 ) ); + returnValue.expiresAt = expireDate; + } + + if( typeof options.path === 'string' && options.path !== '' ) + { + returnValue.path = options.path; + } + + if( typeof options.domain === 'string' && options.domain !== '' ) + { + returnValue.domain = options.domain; + } + + if( options.secure === true ) + { + returnValue.secure = options.secure; + } + } + + return returnValue; + }; + /** + * assembleOptionsString - analyze options and assemble appropriate string for setting a cookie with those options + * + * @access private + * @static + * @parameter options OBJECT - optional options to start with + * @return STRING - complete and valid cookie setting options + */ + assembleOptionsString = function( options ) + { + options = resolveOptions( options ); + + return ( + ( typeof options.expiresAt === 'object' && options.expiresAt instanceof Date ? '; expires=' + options.expiresAt.toGMTString() : '' ) + + '; path=' + options.path + + ( typeof options.domain === 'string' ? '; domain=' + options.domain : '' ) + + ( options.secure === true ? '; secure' : '' ) + ); + }; + /** + * parseCookies - retrieve document.cookie string and break it into a hash with values decoded and unserialized + * + * @access private + * @static + * @return OBJECT - hash of cookies from document.cookie + */ + parseCookies = function() + { + var cookies = {}, i, pair, name, value, separated = document.cookie.split( ';' ), unparsedValue; + for( i = 0; i < separated.length; i = i + 1 ) + { + pair = separated[i].split( '=' ); + name = pair[0].replace( /^\s*/, '' ).replace( /\s*$/, '' ); + + try + { + value = decodeURIComponent( pair[1] ); + } + catch( e1 ) + { + value = pair[1]; + } + + if( typeof JSON === 'object' && JSON !== null && typeof JSON.parse === 'function' ) + { + try + { + unparsedValue = value; + value = JSON.parse( value ); + } + catch( e2 ) + { + value = unparsedValue; + } + } + + cookies[name] = value; + } + return cookies; + }; + + constructor = function(){}; + + /** + * get - get one, several, or all cookies + * + * @access public + * @paramater Mixed cookieName - String:name of single cookie; Array:list of multiple cookie names; Void (no param):if you want all cookies + * @return Mixed - Value of cookie as set; Null:if only one cookie is requested and is not found; Object:hash of multiple or all cookies (if multiple or all requested); + */ + constructor.prototype.get = function( cookieName ) + { + var returnValue, item, cookies = parseCookies(); + + if( typeof cookieName === 'string' ) + { + returnValue = ( typeof cookies[cookieName] !== 'undefined' ) ? cookies[cookieName] : null; + } + else if( typeof cookieName === 'object' && cookieName !== null ) + { + returnValue = {}; + for( item in cookieName ) + { + if( typeof cookies[cookieName[item]] !== 'undefined' ) + { + returnValue[cookieName[item]] = cookies[cookieName[item]]; + } + else + { + returnValue[cookieName[item]] = null; + } + } + } + else + { + returnValue = cookies; + } + + return returnValue; + }; + /** + * filter - get array of cookies whose names match the provided RegExp + * + * @access public + * @paramater Object RegExp - The regular expression to match against cookie names + * @return Mixed - Object:hash of cookies whose names match the RegExp + */ + constructor.prototype.filter = function( cookieNameRegExp ) + { + var cookieName, returnValue = {}, cookies = parseCookies(); + + if( typeof cookieNameRegExp === 'string' ) + { + cookieNameRegExp = new RegExp( cookieNameRegExp ); + } + + for( cookieName in cookies ) + { + if( cookieName.match( cookieNameRegExp ) ) + { + returnValue[cookieName] = cookies[cookieName]; + } + } + + return returnValue; + }; + /** + * set - set or delete a cookie with desired options + * + * @access public + * @paramater String cookieName - name of cookie to set + * @paramater Mixed value - Any JS value. If not a string, will be JSON encoded; NULL to delete + * @paramater Object options - optional list of cookie options to specify + * @return void + */ + constructor.prototype.set = function( cookieName, value, options ) + { + if( typeof options !== 'object' || options === null ) + { + options = {}; + } + + if( typeof value === 'undefined' || value === null ) + { + value = ''; + options.hoursToLive = -8760; + } + + else if( typeof value !== 'string' ) + { + if( typeof JSON === 'object' && JSON !== null && typeof JSON.stringify === 'function' ) + { + value = JSON.stringify( value ); + } + else + { + throw new Error( 'cookies.set() received non-string value and could not serialize.' ); + } + } + + + var optionsString = assembleOptionsString( options ); + + document.cookie = cookieName + '=' + encodeURIComponent( value ) + optionsString; + }; + /** + * del - delete a cookie (domain and path options must match those with which the cookie was set; this is really an alias for set() with parameters simplified for this use) + * + * @access public + * @paramater MIxed cookieName - String name of cookie to delete, or Bool true to delete all + * @paramater Object options - optional list of cookie options to specify ( path, domain ) + * @return void + */ + constructor.prototype.del = function( cookieName, options ) + { + var allCookies = {}, name; + + if( typeof options !== 'object' || options === null ) + { + options = {}; + } + + if( typeof cookieName === 'boolean' && cookieName === true ) + { + allCookies = this.get(); + } + else if( typeof cookieName === 'string' ) + { + allCookies[cookieName] = true; + } + + for( name in allCookies ) + { + if( typeof name === 'string' && name !== '' ) + { + this.set( name, null, options ); + } + } + }; + /** + * test - test whether the browser is accepting cookies + * + * @access public + * @return Boolean + */ + constructor.prototype.test = function() + { + var returnValue = false, testName = 'cT', testValue = 'data'; + + this.set( testName, testValue ); + + if( this.get( testName ) === testValue ) + { + this.del( testName ); + returnValue = true; + } + + return returnValue; + }; + /** + * setOptions - set default options for calls to cookie methods + * + * @access public + * @param Object options - list of cookie options to specify + * @return void + */ + constructor.prototype.setOptions = function( options ) + { + if( typeof options !== 'object' ) + { + options = null; + } + + defaultOptions = resolveOptions( options ); + }; + + return new constructor(); +} )(); + +( function() +{ + if( window.jQuery ) + { + ( function( $ ) + { + $.cookies = jaaulde.utils.cookies; + + var extensions = { + /** + * $( 'selector' ).cookify - set the value of an input field, or the innerHTML of an element, to a cookie by the name or id of the field or element + * (field or element MUST have name or id attribute) + * + * @access public + * @param options OBJECT - list of cookie options to specify + * @return jQuery + */ + cookify: function( options ) + { + return this.each( function() + { + var i, nameAttrs = ['name', 'id'], name, $this = $( this ), value; + + for( i in nameAttrs ) + { + if( ! isNaN( i ) ) + { + name = $this.attr( nameAttrs[ i ] ); + if( typeof name === 'string' && name !== '' ) + { + if( $this.is( ':checkbox, :radio' ) ) + { + if( $this.attr( 'checked' ) ) + { + value = $this.val(); + } + } + else if( $this.is( ':input' ) ) + { + value = $this.val(); + } + else + { + value = $this.html(); + } + + if( typeof value !== 'string' || value === '' ) + { + value = null; + } + + $.cookies.set( name, value, options ); + + break; + } + } + } + } ); + }, + /** + * $( 'selector' ).cookieFill - set the value of an input field or the innerHTML of an element from a cookie by the name or id of the field or element + * + * @access public + * @return jQuery + */ + cookieFill: function() + { + return this.each( function() + { + var n, getN, nameAttrs = ['name', 'id'], name, $this = $( this ), value; + + getN = function() + { + n = nameAttrs.pop(); + return !! n; + }; + + while( getN() ) + { + name = $this.attr( n ); + if( typeof name === 'string' && name !== '' ) + { + value = $.cookies.get( name ); + if( value !== null ) + { + if( $this.is( ':checkbox, :radio' ) ) + { + if( $this.val() === value ) + { + $this.attr( 'checked', 'checked' ); + } + else + { + $this.removeAttr( 'checked' ); + } + } + else if( $this.is( ':input' ) ) + { + $this.val( value ); + } + else + { + $this.html( value ); + } + } + + break; + } + } + } ); + }, + /** + * $( 'selector' ).cookieBind - call cookie fill on matching elements, and bind their change events to cookify() + * + * @access public + * @param options OBJECT - list of cookie options to specify + * @return jQuery + */ + cookieBind: function( options ) + { + return this.each( function() + { + var $this = $( this ); + $this.cookieFill().change( function() + { + $this.cookify( options ); + } ); + } ); + } + }; + + $.each( extensions, function( i ) + { + $.fn[i] = this; + } ); + + } )( window.jQuery ); + } +} )(); \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/js/popup.js b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/js/popup.js new file mode 100644 index 0000000..788a6de --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/js/popup.js @@ -0,0 +1,102 @@ +/***************************/ +//@Author: Adrian "yEnS" Mato Gondelle +//@website: www.yensdesign.com +//@email: yensamg@gmail.com +//@license: Feel free to use it, but keep this credits please! +/***************************/ + +//SETTING UP OUR POPUP +//0 means disabled; 1 means enabled; +var popupStatus = 0; + +//loading popup with jQuery magic! +function loadPopup() { + var surveyCookie = $.cookies.get("SURVEY"); + if(surveyCookie) { + popupStatus = 0; + return; + } + //loads popup only if it is disabled + if(popupStatus==0){ + $("#backgroundPopup").css({ + "opacity": "0.7" + }); + $("#backgroundPopup").fadeIn("slow"); + $("#popupContents").fadeIn("slow"); + popupStatus = 1; + } +} + +function getDateInSixMonths() { + var date = new Date(); + date.setDate(date.getDate()+180); + return date; +} + +//disabling popup with jQuery magic! +function disablePopup(){ + //disables popup only if it is enabled + if(popupStatus==1){ + $("#backgroundPopup").fadeOut("slow"); + $("#popupContents").fadeOut("slow"); + popupStatus = 0; + $.cookies.set("SURVEY", "NO", {expiresAt: getDateInSixMonths()}); + } +} + +//centering popup +function centerPopup(){ + //request data for centering + var windowWidth = document.documentElement.clientWidth; + var windowHeight = document.documentElement.clientHeight; + var popupHeight = $("#popupContents").height(); + var popupWidth = $("#popupContents").width(); + //centering + $("#popupContents").css({ + "position": "absolute", + "top": windowHeight/2-popupHeight/2, + "left": windowWidth/2-popupWidth/2 + }); + //only need force for IE6 + + $("#backgroundPopup").css({ + "height": windowHeight + }); + +} + + +//CONTROLLING EVENTS IN jQuery +$(document).ready(function(){ + + //LOADING POPUP + //Click the button event! + $("#button").click(function(){ + //centering with css + centerPopup(); + //load popup + loadPopup(); + }); + + //CLOSING POPUP + //Click the x event! + $("#popupContentsClose").click(function(){ + disablePopup(); + }); + //Click out event! + $("#backgroundPopup").click(function(){ + //disablePopup(); + }); + //Press Escape event! + $(document).keypress(function(e){ + if(e.keyCode==27 && popupStatus==1){ + disablePopup(); + } + }); + + $("#announce").click(function(){ + $.cookies.set("SURVEY", "YES", {expiresAt: getDateInSixMonths()}); + window.location='http://www.qos.ch/mailman/listinfo/announce'; + }); +}); + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/js/prettify.js b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/js/prettify.js new file mode 100644 index 0000000..8fc4c93 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/js/prettify.js @@ -0,0 +1,23 @@ +function H(){var x=navigator&&navigator.userAgent&&/\bMSIE 6\./.test(navigator.userAgent);H=function(){return x};return x}(function(){function x(b){b=b.split(/ /g);var a={};for(var c=b.length;--c>=0;){var d=b[c];if(d)a[d]=null}return a}var y="break continue do else for if return while ",U=y+"auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile ",D=U+"catch class delete false import new operator private protected public this throw true try ", +I=D+"alignof align_union asm axiom bool concept concept_map const_cast constexpr decltype dynamic_cast explicit export friend inline late_check mutable namespace nullptr reinterpret_cast static_assert static_cast template typeid typename typeof using virtual wchar_t where ",J=D+"boolean byte extends final finally implements import instanceof null native package strictfp super synchronized throws transient ",V=J+"as base by checked decimal delegate descending event fixed foreach from group implicit in interface internal into is lock object out override orderby params readonly ref sbyte sealed stackalloc string select uint ulong unchecked unsafe ushort var ", +K=D+"debugger eval export function get null set undefined var with Infinity NaN ",L="caller delete die do dump elsif eval exit foreach for goto if import last local my next no our print package redo require sub undef unless until use wantarray while BEGIN END ",M=y+"and as assert class def del elif except exec finally from global import in is lambda nonlocal not or pass print raise try with yield False True None ",N=y+"alias and begin case class def defined elsif end ensure false in module next nil not or redo rescue retry self super then true undef unless until when yield BEGIN END ", +O=y+"case done elif esac eval fi function in local set then until ",W=I+V+K+L+M+N+O;function X(b){return b>="a"&&b<="z"||b>="A"&&b<="Z"}function u(b,a,c,d){b.unshift(c,d||0);try{a.splice.apply(a,b)}finally{b.splice(0,2)}}var Y=(function(){var b=["!","!=","!==","#","%","%=","&","&&","&&=","&=","(","*","*=","+=",",","-=","->","/","/=",":","::",";","<","<<","<<=","<=","=","==","===",">",">=",">>",">>=",">>>",">>>=","?","@","[","^","^=","^^","^^=","{","|","|=","||","||=","~","break","case","continue", +"delete","do","else","finally","instanceof","return","throw","try","typeof"],a="(?:(?:(?:^|[^0-9.])\\.{1,3})|(?:(?:^|[^\\+])\\+)|(?:(?:^|[^\\-])-)";for(var c=0;c:&])/g,"\\$1")}a+="|^)\\s*$";return new RegExp(a)})(),P=/&/g,Q=//g,Z=/\"/g;function $(b){return b.replace(P,"&").replace(Q,"<").replace(R,">").replace(Z,""")}function E(b){return b.replace(P,"&").replace(Q,"<").replace(R,">")}var aa= +/</g,ba=/>/g,ca=/'/g,da=/"/g,ea=/&/g,fa=/ /g;function ga(b){var a=b.indexOf("&");if(a<0)return b;for(--a;(a=b.indexOf("&#",a+1))>=0;){var c=b.indexOf(";",a);if(c>=0){var d=b.substring(a+3,c),g=10;if(d&&d.charAt(0)==="x"){d=d.substring(1);g=16}var e=parseInt(d,g);if(!isNaN(e))b=b.substring(0,a)+String.fromCharCode(e)+b.substring(c+1)}}return b.replace(aa,"<").replace(ba,">").replace(ca,"'").replace(da,'"').replace(ea,"&").replace(fa," ")}function S(b){return"XMP"===b.tagName} +function z(b,a){switch(b.nodeType){case 1:var c=b.tagName.toLowerCase();a.push("<",c);for(var d=0;d");for(var e=b.firstChild;e;e=e.nextSibling)z(e,a);if(b.firstChild||!/^(?:br|link|img)$/.test(c))a.push("");break;case 2:a.push(b.name.toLowerCase(),'="',$(b.value),'"');break;case 3:case 4:a.push(E(b.nodeValue));break}}var F=null;function ha(b){if(null===F){var a=document.createElement("PRE"); +a.appendChild(document.createTextNode('\n'));F=!/=0;i-=" ".length)d.push(" ".substring(0,i));g=e+1;break; +case "\n":a=0;break;default:++a}}if(!d)return c;d.push(c.substring(g));return d.join("")}}var ja=/(?:[^<]+| + + + +

slf4j-announcements list

+ +

+ Low Traffic: + Subscribe | + Unsubscribe +
+ Archives: + Pipermail | + MARC | + Nabble +

+

The announcements list is reserved for important SLF4J API + related announcements. As such, the traffic on this list is + guaranteed to be very low. +

+ +

Given that implementations are expected to statically bind with + the SLF4J API, we recommend that any implementor of the SLF4J API + be subscribed at least to the announcements list. +

+ +

slf4j-user list

+ +

+ Medium Traffic: + Subscribe | + Unsubscribe +
+ Archives: + Pipermail | + Gmane | + MARC | + Nabble | + MailArchive + + +

+ +

This is the list for users of slf4j. It is also a good forum for + asking questions about how slf4j works, and how it can be + used. SLF4J developers are usually subscribed to to this list in + order to offer support.

+ + +

slf4j-dev list

+ +

+ Medium Traffic: + Subscribe | + Unsubscribe +
+ Archives: + Pipermail | + Gmane | + MARC | + Nabble | + MailArchive +

+

 

+ + +
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/manual.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/manual.html new file mode 100644 index 0000000..66032c6 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/manual.html @@ -0,0 +1,519 @@ + + + + + + SLF4J Manual + + + + + + + + + +
+ +
+
+ + +

SLF4J user manual

+ +

The Simple Logging Facade for Java or (SLF4J) serves as a + simple facade or abstraction for various logging frameworks, such + as java.util.logging, log4j and logback. SLF4J allows the end-user + to plug in the desired logging framework at deployment + time. Note that SLF4J-enabling your library/application implies + the addition of only a single mandatory dependency, namely + slf4j-api-1.7.5.jar.

+ +

since 1.6.0 If no binding is found on the + class path, then SLF4J will default to a no-operation + implementation. +

+ +

since 1.7.0 Printing methods in the + Logger + interface now offer variants accepting varargs + instead of Object[]. This change implies that SLF4J + requires JDK 1.5 or later. Under the hood the Java compiler + transforms the varargs part in methods into + Object[]. Thus, the Logger interface generated by the + compiler is indistinguishable in 1.7.0 from its 1.6.0 + counterpart. It follows that SLF4J version 1.7.0 is totally 100% + no-ifs-or-buts compatible with SLF4J version 1.6.x. +

+ +

since 1.7.5 Significant improvement + in logger retrieval times. Given the extent of the improvement, + users are highly encouraged to migrate to SLF4J 1.7.5 or later. +

+ +

Hello World

+ +

As customary in programming tradition, here is an example + illustrating the simplest way to output "Hello world" using SLF4J. + It begins by getting a logger with the name "HelloWorld". This + logger is in turn used to log the message "Hello World". +

+ +
import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class HelloWorld {
+  public static void main(String[] args) {
+    Logger logger = LoggerFactory.getLogger(HelloWorld.class);
+    logger.info("Hello World");
+  }
+}
+ +

To run this example, you first need to download the slf4j distribution, and + then to unpack it. Once that is done, add the file + slf4j-api-1.7.5.jar to your class path.

+ +

Compiling and running HelloWorld will result in the + following output being printed on the console.

+ +
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
+SLF4J: Defaulting to no-operation (NOP) logger implementation
+SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
+ +

This warning is printed because no slf4j binding could be + found on your class path.

+ +

The warning will disappear as soon as you add a binding to + your class path. Assuming you add + slf4j-simple-1.7.5.jar so that your class + path contains:

+ +
    +
  • slf4j-api-1.7.5.jar
  • +
  • slf4j-simple-1.7.5.jar
  • +
+ +

Compiling and running HelloWorld will now result in + the following output on the console.

+ +
0 [main] INFO HelloWorld - Hello World
+ +

Typical usage + pattern

+ +

The sample code below illustrates the typical usage pattern + for SLF4J. Note the use of {}-placeholders on line 15. See the + question "What is the + fastest way of logging?" in the FAQ for more details. +

+ +

+ +
 1: import org.slf4j.Logger;
+ 2: import org.slf4j.LoggerFactory;
+ 3: 
+ 4: public class Wombat {
+ 5:  
+ 6:   final Logger logger = LoggerFactory.getLogger(Wombat.class);
+ 7:   Integer t;
+ 8:   Integer oldT;
+ 9:
+10:   public void setTemperature(Integer temperature) {
+11:    
+12:     oldT = t;        
+13:     t = temperature;
+14:
+15:     logger.debug("Temperature set to {}. Old temperature was {}.", t, oldT);
+16:
+17:     if(temperature.intValue() > 50) {
+18:       logger.info("Temperature has risen above 50 degrees.");
+19:     }
+20:   }
+21: } 
+ + + +

Binding with a logging + framework at deployment time

+ +

As mentioned previously, SLF4J supports various logging + frameworks. The SLF4J distribution ships with several jar files + referred to as "SLF4J bindings", with each binding corresponding + to a supported framework.

+ +
+ +
slf4j-log4j12-1.7.5.jar +
+
Binding for log4j + version 1.2, a widely used logging framework. You also + need to place log4j.jar on your class path.

+ +
slf4j-jdk14-1.7.5.jar
+
Binding for java.util.logging, also referred to as JDK 1.4 + logging

+ +
slf4j-nop-1.7.5.jar
+
Binding for NOP, + silently discarding all logging.

+ +
slf4j-simple-1.7.5.jar
+
Binding for Simple + implementation, which outputs all events to + System.err. Only messages of level INFO and higher are + printed. This binding may be useful in the context of small + applications.

+ +
slf4j-jcl-1.7.5.jar
+ +
Binding for Jakarta Commons + Logging. This binding will delegate all SLF4J logging to + JCL.

+

+
+ +

There are also SLF4J bindings external to the SLF4J project, + e.g. logback which + implements SLF4J natively. Logback's + + ch.qos.logback.classic.Logger class is a direct + implementation of SLF4J's + + org.slf4j.Logger interface. Thus, using SLF4J + in conjunction with logback involves strictly zero memory and + computational overhead. +

+ + +

To switch logging frameworks, just replace slf4j bindings on + your class path. For example, to switch from java.util.logging + to log4j, just replace slf4j-jdk14-1.7.5.jar with + slf4j-log4j12-1.7.5.jar. +

+ +

SLF4J does not rely on any special class loader machinery. In + fact, each SLF4J binding is hardwired at compile time + to use one and only one specific logging framework. For + example, the slf4j-log4j12-1.7.5.jar binding is + bound at compile time to use log4j. In your code, in addition + to slf4j-api-1.7.5.jar, you simply drop + one and only one binding of your choice onto the + appropriate class path location. Do not place more than one + binding on your class path. Here is a graphical illustration of + the general idea. +

+ +

+ click to enlarge +

+ +

The SLF4J interfaces and their various adapters are extremely + simple. Most developers familiar with the Java language should + be able to read and fully understand the code in less than one + hour. No knowledge of class loaders is necessary as SLF4J does + not make use nor does it directly access any class loaders. As a + consequence, SLF4J suffers from none of the class loader + problems or memory leaks observed with Jakarta Commons Logging + (JCL). +

+ +

Given the simplicity of the SLF4J interfaces and its + deployment model, developers of new logging frameworks should + find it very easy to write SLF4J bindings. +

+ +

Libraries

+ +

Authors of widely-distributed components and libraries may + code against the SLF4J interface in order to avoid imposing an + logging framework on the end-user of the component or library. + Thus, the end-user may choose the desired logging framework at + deployment time by inserting the corresponding slf4j binding on + the classpath, which may be changed later by replacing an + existing binding with another on the class path and restarting + the application. This approach has proven to be simple and very + robust. +

+ +

As of SLF4J version 1.6.0, if no binding is found on + the class path, then slf4j-api will default to a no-operation + implementation discarding all log requests. Thus, instead of + throwing a NoClassDefFoundError because the + org.slf4j.impl.StaticLoggerBinder class is missing, + SLF4J version 1.6.0 and later will emit a single warning message + about the absence of a binding and proceed to discard all log + requests without further protest. For example, let Wombat be + some biology-related framework depending on SLF4J for + logging. In order to avoid imposing a logging framework on the + end-user, Wombat's distribution includes slf4j-api.jar + but no binding. Even in the absence of any SLF4J binding on the + class path, Wombat's distribution will still work + out-of-the-box, and without requiring the end-user to download a + binding from SLF4J's web-site. Only when the end-user decides to + enable logging will she need to install the SLF4J binding + corresponding to the logging framework chosen by her. +

+ + +

Declaring project + dependencies for logging

+ +

Please note that embedded components such as libraries or + frameworks should not declare a dependency on any SLF4J binding + but only depend on slf4j-api. SLF4J usage in embedded + components is also discussed in the FAQ in relation with logging configuration, dependency reduction and + testing.

+ +

Given Maven's transitive dependency rules, for "regular" + projects (not libraries or frameworks) declaring logging + dependencies can be accomplished with a single dependency + declaration. +

+ +

logback-classic If you wish + to use logback-classic as the underlying logging framework, all + you need to do is to declare "ch.qos.logback:logback-classic" as + a dependency in your pom.xml file as shown below. In + addition to logback-classic-1.0.7.jar, + this will pull slf4j-api-1.7.5.jar as well + as logback-core-1.0.7.jar into your + project. Note that explicitly declaring a dependency on + logback-core-1.0.7 or + slf4j-api-1.7.5.jar is not wrong and may + be necessary to impose the correct version of said artifacts by + virtue of Maven's "nearest definition" dependency mediation + rule. +

+ +
<dependency> 
+  <groupId>ch.qos.logback</groupId>
+  <artifactId>logback-classic</artifactId>
+  <version>1.0.7</version>
+</dependency>
+ +

+ +

log4j If you wish to use + log4j as the underlying logging framework, all you need to do is + to declare "org.slf4j:slf4j-log4j12" as a dependency in your + pom.xml file as shown below. In addition to + slf4j-log4j12-1.7.5.jar, this will pull + slf4j-api-1.7.5.jar as well as + log4j-1.2.17.jar into your project. Note + that explicitly declaring a dependency on + log4j-1.2.17.jar or + slf4j-api-1.7.5.jar is not wrong and may + be necessary to impose the correct version of said artifacts by + virtue of Maven's "nearest definition" dependency mediation + rule.

+ +
<dependency> 
+  <groupId>org.slf4j</groupId>
+  <artifactId>slf4j-log4j12</artifactId>
+  <version>1.7.5</version>
+</dependency>
+ +

+ +

java.util.logging If you + wish to use java.util.logging as the underlying logging + framework, all you need to do is to declare + "org.slf4j:slf4j-jdk14" as a dependency in your pom.xml + file as shown below. In addition to + slf4j-jdk14-1.7.5.jar, this will pull + slf4j-api-1.7.5.jar into your project. + Note that explicitly declaring a dependency on + slf4j-api-1.7.5.jar is not wrong and may + be necessary to impose the correct version of said artifact by + virtue of Maven's "nearest definition" dependency mediation + rule.

+ +
<dependency> 
+  <groupId>org.slf4j</groupId>
+  <artifactId>slf4j-jdk14</artifactId>
+  <version>1.7.5</version>
+</dependency>
+ + + +

Binary + compatibility

+ +

An SLF4J binding designates an artifact such as + slf4j-jdk14.jar or slf4j-log4j12.jar used to + bind slf4j to an underlying logging framework, say, + java.util.logging and respectively log4j. +

+ +

From the client's perspective all versions + of slf4j-api are compatible. Client code compiled with + slf4j-api-N.jar will run perfectly fine with slf4j-api-M.jar for + any N and M. You only need to ensure that the version of your + binding matches that of the slf4j-api.jar. You do not have to + worry about the version of slf4j-api.jar used by a given + dependency in your project.

+ + +

Mixing different versions of slf4j-api.jar and SLF4J + binding can cause problems. For example, if you are using + slf4j-api-1.7.5.jar, then you should also use + slf4j-simple-1.7.5.jar, using + slf4j-simple-1.5.5.jar will not work.

+ + +

However, from the client's perspective all versions of + slf4j-api are compatible. Client code compiled with + slf4j-api-N.jar will run perfectly fine with + slf4j-api-M.jar for any N and M. You only need to + ensure that the version of your binding matches that of the + slf4j-api.jar. You do not have to worry about the version of + slf4j-api.jar used by a given dependency in your project. You + can always use any version of slf4j-api.jar, and as + long as the version of slf4j-api.jar and its binding + match, you should be fine. +

+ +

At initialization time, if SLF4J suspects that there may be + an slf4j-api vs. binding version mismatch problem, it will emit + a warning about the suspected mismatch. +

+ + +

Consolidate logging via + SLF4J

+ +

Often times, a given project will depend on various + components which rely on logging APIs other than SLF4J. It is + common to find projects depending on a combination of JCL, + java.util.logging, log4j and SLF4J. It then becomes desirable to + consolidate logging through a single channel. SLF4J caters for + this common use-case by providing bridging modules for JCL, + java.util.logging and log4j. For more details, please refer to + the page on Bridging legacy + APIs. +

+ +

Mapped Diagnostic Context (MDC) support

+ +

"Mapped Diagnostic Context" is essentially a map maintained + by the logging framework where the application code provides + key-value pairs which can then be inserted by the logging + framework in log messages. MDC data can also be highly helpful + in filtering messages or triggering certain actions.

+ +

SLF4J supports MDC, or mapped diagnostic context. If the + underlying logging framework offers MDC functionality, then + SLF4J will delegate to the underlying framework's MDC. Note that + at this time, only log4j and logback offer MDC functionality. If + the underlying framework does not offer MDC, for example + java.util.logging, then SLF4J will still store MDC data but the + information therein will need to be retrieved by custom user + code.

+ +

Thus, as a SLF4J user, you can take advantage of MDC + information in the presence of log4j or logback, but without + forcing these logging frameworks upon your users as + dependencies. +

+ +

For more information on MDC please see the chapter on MDC + in the logback manual. +

+ + + +

Executive summary

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AdvantageDescription
Select your logging framework at deployment timeThe desired logging framework can be plugged in at + deployment time by inserting the appropriate jar file + (binding) on your class path. +
Fail-fast operationDue to the way that classes are loaded by the JVM, the + framework binding will be verified automatically very early + on. If SLF4J cannot find a binding on the class path it + will emit a signle warning message and default to + no-operation implementation. +
Bindings for popular logging frameworks + SLF4J supports popular logging frameworks, namely log4j, + java.util.logging, Simple logging and NOP. The logback project supports + SLF4J natively.
Bridging legacy logging APIs +

The implementation of JCL over SLF4J, i.e + jcl-over-slf4j.jar, will allow your project to + migrate to SLF4J piecemeal, without breaking compatibility + with existing software using JCL. Similarly, + log4j-over-slf4j.jar and jul-to-slf4j modules will allow + you to redirect log4j and respectively java.util.logging + calls to SLF4J. See the page on Bridging legacy APIs for more + details. +

+
Migrate your source codeThe slf4j-migrator utility + can help you migrate your source to use SLF4J. +
Support for parameterized log messagesAll SLF4J bindings support parameterized log messages + with significantly improved performance + results.
+ + + + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/migrator.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/migrator.html new file mode 100644 index 0000000..3ba38c4 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/migrator.html @@ -0,0 +1,226 @@ + + + + + + SLF4J Migrator + + + + + + +
+ +
+
+ + +

SLF4J Migrator

+ +

The SLF4J migrator is a small Java tool for migrating Java source + files from the Jakarta Commons Logging (JCL) API to SLF4J. It can + also migrate from the log4j API to SLF4J, or from + java.util.logging API to SLF4J. +

+ +

The SLF4J migrator consists of a single jar file that can be + launched as a stand-alone java application. Here is the command: +

+ +

java -jar slf4j-migrator-1.7.5.jar

+ +
+ +

Once the application is launched, a window similar to the + following should appear. +

+ +

slf4j-migrator.gif

+ +

Use of the application should be self-explanatory. Please note that + this migration tool does in-place replacement of Java files, meaning + that there will be no back-up copies of modified files. It is + your responsibility to backup your files before using SLF4J + Migrator. +

+ + +

Limitations

+ +

SLF4J migrator is intended as a simple tool to help you to + migrate your project source using JCL, log4j or JUL to SLF4J. It can + only perform elementary conversion steps. Essentially, it will + replace appropriate import lines and logger declarations. +

+ +

MyClass is a sample class using JCL. Here it is before:

+ +

package some.package; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +public MyClass { + + Log logger = LogFactory.getLog(MyClass.class); + + public void someMethod() { + logger.info("Hello world"); + } +}

+ +

and after migration:

+ +

package some.package; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public MyClass { + + Logger logger = LoggerFactory.getLogger(MyClass.class); + + public void someMethod() { + logger.info("Hello world"); + } +}

+ +
+ +

Altough its conversion rules are elementary, the SLF4J migrator + can still alleviate much of the grunt-work involved in migrating a + Java project from JCL to SLF4J. +

+ +

Migration rules from log4j to SLF4J, or from JUL to SLF4J are + similar.

+ +

General limitations

+ +
    + +
  • Build scipts are not modified + +

    Your Ant/Maven/Ivy build scripts need to be modified manualy to + use SLF4J instead of JCL or log4j.

    + +

    +
  • + +
  • only messages of type String are supported + +

    If one of your log statements contains a non-string object as + its sole parameter, you will have to manually add a toString() + method call on the object. +

    + +

    For example,

    +

    logger.debug(new Object());

    +

    has to be manually re-written as

    +

    logger.debug(new Object().toString());

    + +

    +
  • + +
  • the FATAL level is not supported. + +

    You have to convert them manually. This is limitation is not + deemed very serious because there are usually very few log + statements bearing the FATAL level. +

    + +

    +

    +
  • + +
  • if a method declares multipe loggers on the same line, the + conversion will not be complete. Example: + +

    public void someMethod(Log l1, Log l2) { + ... + } + +will be converted as + + public void someMethod(Log l1, Logger l2) { + ... + }

    +
  • +
+ +

Limitations when migrating from log4j

+ +
    +
  • NDC statements are left as-is + +

    Since NDC is not supported by SLF4J, the migrator cannot + properly handle NDC statements. You have to migrate them to MDC + manually. Again, this limitation is not deemed serious bebause + there are usually very few NDC statements even in large projects. +

    + +

    Please note that contrary to NDC, MDC statements are migrated + correctly because SLF4J suports such statements.

    + +

    +
  • + +
  • Calls to PropertyConfigurator or + DomConfigurator cannot be migrated since they have no + SLF4J equivalents. + +

    +

    + +
  • +
+ +

Limitations when migrating from JUL

+ + +
    +
  • Calls to finest(), finer() or + finest() methods of + java.util.loggging.Logger are left as is. + +

    Given that finest(), finer() or + finest() calls could map to both trace() or debug() + calls in SLF4J, it is impossible to guess how the user wants to + map these calls. +

    + +

    +

    + +
  • + + +
  • All strings matching ".severe(" are replaced by the string + ".error(" without any contexual analysys. Similarly, all strings + matching ".warning(" are replaced by ".warn(". + +

    Since the match/replace operation is not contextual, if your + code contains methods named "severe" or "warning", then the + migration results will have compilation errors. Fortunately, such + errors should be rare and easy to identify. +

    + +

    +

    + +
  • + +
  • Invocations of the following methods defined in the + java.util.logging.Logger class need to be migrated + manually: log, logp, logrb, + entering, exiting. + +
  • +
+ + +
+ + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/news.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/news.html new file mode 100644 index 0000000..5a360b1 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/news.html @@ -0,0 +1,1488 @@ + + + + + + SLF4J News + + + + + + + + +
+ +
+
+ + +

SLF4J News

+ +

Please note that you can receive SLF4J related announcements by + subscribing to the QOS.ch + announce mailing list. +

+ +
+ +

25th of March, 2013 - Release of SLF4J 1.7.5

+ +

Given the significance of these performance + improvements, users are highly encouraged to migrate to SLF4J + version 1.7.5 or later.

+ +

performance improvements The + logger factories in most SLF4J modules namely in jcl-over-slf4j, + log4j-over-slf4j, slf4j-jcl, slf4j-jdk14, slf4j-log4j12, and + slf4j-simple now use a ConcurrentHashMap instead of a + regular HashMap to cache logger instances. This change + significantly improves logger retrieval times at the cost of some + memory overhead. This improvement was requested in bug #298 + by Taras Tielkes who also provided the relevant patch. +

+ + + + +
+ + +

18th of March, 2013 - Release of SLF4J 1.7.4

+ +

Added a package private reset() method to + SimpleLoggerFactory for testing purposes.

+ +
+ +

15th of March, 2013 - Release of SLF4J 1.7.3

+ +

The jul-to-slf4j bridge now correctly handles cases where the + message string contains {}-placeholders but has no or zero + parameters. This fixes bug + #212. The relevant patch was provided by Matthew Preston in a + git pull request.

+ +

Added missing methods and classes in log4j-over-slf4j module for + Velocity compatibility. This isssue was reported in bug 280 by + Thomas Mortagne.

+ +
+ +

11th of October, 2012 - Release of SLF4J 1.7.2

+ +

Added osgi-over-slf4j module which serves as an OSGi LogService + implementation delegating to slf4j. This module is maintained by + Matt Bishop and Libor Jelinek.

+ +

Christian Trutz added missing PatternLayout class as well as + several methods in the Logger and + Category classes. See commit 442e90ba5785cba9 dated + September 27th 2012 for details. +

+ +

Added org.slf4j.simpleLoggerwarnLevelString in slf4j-simple + module.

+ +

Fixed bug + 272. All Logger implementations shipping with + SLF4J use Object... instead of Object[] + to avoid compiler warnings.

+ + + +
+ +

14th of September, 2012 - Release of SLF4J 1.7.1

+ +

SimpleLogger + now supports writing to a file. The property names for configuring + SimpleLogger have been modified to be consistently in + camel case. More configuration options have been added. In the + absence of configuration directives, SimpleLogger will + behave exactly the same as in the past. If you are one of the + few users configuring SimpleLogger with configuration + properties, you will need to adapt to the new and more consistent + property names.

+ +
+ +

6th of September, 2012 - Release of SLF4J 1.7.0

+ +

SLF4J now requires JDK 1.5.

+ +

Printing methods in the Logger interface now offers + variants accepting varargs + instead of Object[]. Given that under the hood, the Java compiler + transforms varargs into an array, this change is totally 100% + no-ifs-or-buts backward compatible with all existing client + code.

+ +

The logger field (of type java.util.logging.Logger) + in JDK14LoggerAdapter is now marked as transient. This + fixes bug + #261, a serialization problem reported by Thorbjørn Ravn + Andersen.

+ +
+ +

11th of June, 2012 - Release of SLF4J 1.6.6

+ +

Source repository has been moved to https://github.com/qos-ch/slf4j + on github.

+ +

In case multiple bindings are found on the class path, SLF4J + will now output the name of the framework/implementation class it + binds with.

+ +

SimpleLogger + now supports configuration properties.

+ +

LoggerWrapper in the slf4j-ext module now correctly deals with + markers. This fixes bug #265 + reported by Dario Campagna.

+ +

The log4j-over-slf4j module now supports legacy projects + providing their own log4j LoggerFactory. This fixes bug #234 + reported by Laurent Pellegrino with Piotr Jagielski providing the + appropriate patch.

+ +

4th of June, 2012 - Release of SLF4J 1.6.5

+ +

In the slf4j-log4j12 module, upgraded the log4j dependency to + version 1.2.17.

+ +

Added removeHandlersForRootLogger() method to SLF4JBridgeHandler + class.

+ +

The log4j-over-slf4j module now exports all its packages in its + manifest. This issue was reported in 262 by + Mikhail Mazursky who also provided the relevant patch. +

+ +

October 31st, 2011 - Release of SLF4J 1.6.4

+ +

Fixed in thread-safety issues in BasicMDCAdapter + fixing bug + #203 and bug + #224. Note that BasicMDCAdapter is only used with + the slf4j-jdk14.jar binding. +

+ +

BasicMDCAdapter invoked a method introduced in JDK + 1.5 preventing it from running under JDK 1.4. Interestingly enough, + this issue has never been reported by the user community.

+ +

October 17th, 2011 - Release of SLF4J 1.6.3

+ +

LogEvent class in slf4j-ext module now correctly + passes the event data as a parameter object. This fixes bug #246 + reported by Ralph Goers. +

+ +

Added missing OSGi manifest to the jul-to-slf4j module. This + fixes bug + #166 reported by Ekkehard Gentz.

+ +

In the log4j-over-slf4j module, added missing + getAllAppenders() method in Category + class. This fixes bug #235 + reported by Anthony Whitford. +

+ +

August 19th, 2011 - Release of SLF4J 1.6.2

+ +

Fixed bug + #138. SLF4J will no longer complain about multiple SLF4J + bindings when running under a Weblogic server. +

+ +

Fixed bug + #228. When running under IBM's JDK, and if no binding can be + found, SLF4J will no longer throw a + NoClassDefFoundError. Instead, it will default to an + NOP implementation. Under the same circumstances but with Sun's + JDK, SLF4J already defaulted to an NOP implementation since release + 1.6.0.

+ +

Added certain missing classes to the log4j-over-slf4j module as + requested in bug 225 by + Josh Stewart. +

+ +
+ +

July 5th, 2010 - Release of SLF4J 1.6.1

+ +

Updated log4j dependency to version 1.2.16 and CAL10N dependency to version + 0.7.4. +

+ +

Fixed missing versioning OSGi metadata in the log4j-over-slf4j + module. This problem was reported in bug 187 by + David Savage. +

+ + + +
+ +

May 8th, 2010 - Release of SLF4J 1.6.0

+ +

It is expected that all SLF4J releases in the 1.6.x + series will be mutually compatible. +

+ +

As of SLF4J version 1.6.0, in the absence of an SLF4J binding, + slf4j-api will default to a no-operation implementation discarding + all log requests. Thus, instead of throwing an exception, SLF4J + will emit a single warning message about the absence of a binding + and proceed to discard all log requests without further + protest. See also the relevant + section in the user manual. +

+ +

In the presence of multiple parameters and if the last argument + in a logging statement is an exception, then SLF4J will now presume + that the user wants the last argument to be treated as an exception + and not a simple parameter. See the relevant FAQ entry for further + details. This fixes bug 70 + submitted by Joern Huxhorn who also provided the relevant patch. +

+ +

The log method in LocationAwareLogger + interface now admits an additional parameter of type + Object[] representing additional arguments of the log + request. Due to this modification, slf4j-api version 1.6.x will not + work with bindings shipping with SLF4J 1.5.x -- bindings shipping + with 1.6.x must be used. +

+ + +

Fixed bug 150 by + implementing missing resetConfiguration() and + shutdown() methods in LogManager (in + log4j-over-slf4j) as nop. In addition, the + getCurrentLoggers() method has been implemented by + returning an empty enumeration. +

+ + +

Fixed bug 170 by + a bare-bones implementation of the NDC class in + log4j-over-slf4j.

+ +

Fixed bug 175 by + synchronizing access to the loggerNameList field.

+ +

Fixed bug 164 + observed when SLF4J artifacts were placed under + java.endorsed.dirs.

+ +

Fixed sub-optimal list type usage in + SLF4JLogFactory as reported in bug 179 by + Sebastian Davids. +

+ + +

Fixed documentation inconsistency in SLF4JLog as + reported in bug 180 by + Sebastian Davids. +

+ + +
+ +

February 25th, 2010 - Release of SLF4J 1.5.11

+ + +

Users yet unfamiliar with SLF4J sometimes unknowingly place both + log4j-over-slf4j.jar and slf4j-log4j12.jar + simultaneously on the class path causing stack overflow + errors. Simultaneously placing both jcl-over-slf4j.jar and + slf4j-jcl.jar on the class path, is another occurrence of + the same general problem. As of this version, SLF4J preempts the + inevitable stack overflow error by throwing an exception with + details about the actual cause of the problem. This is deemed to be + better than leaving the user wondering about the reasons of the + StackOverflowError. +

+ +

Fixed bug + 168. In case log4j-over-slf4j is used and a logback appender + requires a third party library which depends on log4j, the + log(String FQCN, Priority p, Object msg, Throwable t) + method in log4j-over-slf4j's Category class would throw an + UnsupportedOperationException. Problem reported by Seth + Call.

+ + +
+ +

December 3rd, 2009 - Release of SLF4J 1.5.10

+ +

SLF4J version 1.5.10 consist of bug fixes and minor + enhancements. It is totally backward compatible with SLF4J version + 1.5.8. However, the slf4j-ext module ships with a new package called + org.slf4j.cal10n which adds localized/internationalized logging + support as a thin layer built upon the CAL10N API.

+ +

SLF4J-adroid, + maintained by Thorsten + Möller, was added as a daugther project of SLF4J. +

+ +

Added missing "Export-Package" declaration for cal10n in the OSGi + manifest file for sfl4j-ext. This was requested in bug 156 by + Pete Muir.

+ +

In log4j-over-slf4j, added missing log(...) methods as requested + by Zoltan Szel in bug report + 139.

+ +

In log4j-over-slf4j, added missing LogManager class + as requested by Rick Beton in bug report + 150.

+ +

In the slf4j-ext module, added + getCopyOfChildTimeInstruments and + getCopyOfGlobalStopWatch methods to the + Profiler class. This enables developers to build their + own output formatters for a given Profiler. This feature was + requested by David Lindelöf in bug 141. +

+ +

Fixed a NullPointerEception occuring in unspecified + conditions as described in bug report + 146 by Dapeng Ni.

+ +

Added missing OSGi manifest to the log4j-over-slf4j + module as requested by Wade Poziombka in bug 117. +

+ +

OSGi manifests produced by SLF4J now replace the '-' character by + '.' in compliance with the OSGi specification. This fixes bug 152 + according to the patch supplied by Hugues Malphettes. +

+ +

Fixed packaging issue in jcl104-over-slf4j which inadvertently + produced a jar file as described in bug 151 by + Jesse McConnell.

+ + + + +
+ +

June 11th, 2009 - Release of SLF4J 1.5.8

+ +

SLF4J version 1.5.8 consist of bug fixes. It is totally backward + compatible with SLF4J version 1.5.7.

+ +

The Maven pom file for the log4j-over-slf4j module + contained a compile time dependency on the slf4j-jdk14 + module. The dependency should have been declared in the test + scope. This problem was reported by Jean-Luc Geering on the slf4j + user list. +

+ +

June 10th, 2009 - Release of SLF4J 1.5.7

+ +

SLF4J version 1.5.7 consist of bug fixes and minor + enhancements. It is totally backward compatible with SLF4J version + 1.5.6.

+ +

In SLF4J versions 1.5.5 and 1.5.6, the LoggerFactory + class which is at the core of SLF4J, if a version compatibility + issue was detected, accidentally invoked a method which was + introduced in JDK 1.5. Thus, instead of issuing a clear warning + message, SLF4J would throw a + NoClassDefFoundError. Consequently, SLF4J would not run + with JDK 1.4 and earlier but only if a version incompatibility issue + was present. For example, if you were mixing + slf4j-api-1.5.6.jar with slf4j-simple-1.4.2.jar, + which are mutually incompatible. Please note that this bug affects + only SLF4J versions 1.5.5 and 1.5.6 and only in the + presence of incompatible versions of slf4j-api and its binding. +

+ +

SLF4J will now emit a warning if more than one binding is present + on the class path. This enhancement was proposed in bug 132 + contributed by by Robert Elliot. +

+ +

The Log interface implementations in the jcl-over-slf4j module + will now correctly cope with serialization. This fixes bug 79 + reported by Mathias Bogaert. Many thanks to Eric Vargo for precisely + identifying the problem and supplying the corresponding patch.

+ +

The log4j-over-slf4j module will now correctly + interact with logging frameworks supporting location information + such as java.util.logging and logback. This fixes bug 131 + reported by Marc Zampetti. +

+ +

SLF4JBridgeHandler will no longer ignore log records + with an empty message. This fixes bug 108 + reported by Pepijn Van Eeckhoudt and independently by Dan Lewis. +

+ +

In case the toString() method of a parameter throws + an exception, MessageFormatter will now print an error + message, instead of letting the exception bubble higher up as + previously. This fixes bug 112 + submitted by Joern Huxhorn. +

+ +
+ +

November 21st, 2008 - Release of SLF4J 1.5.6

+ +

SLF4J version 1.5.6 consists of bug fixes. Users are encouraged + to upgrade to SLF4J version 1.5.6. The upgrade should pose no + problems. Nevertheless, you might still want to refer to the SLF4J + compatibility report. +

+ +

Fixed long standing LBCLASSIC-87 and + its younger sibling bug + 113. With each call to getLogger() method, + LoggerContext will now retrieve the ILoggerFactory + afresh from StaticLoggerBinder. This change enables + context selectors of native implementations, e.g logback, to work + correctly. +

+ +

Fixed bug + 114 reported by Jason Arndt. Corrected the way + XLogger (in slf4j-ext) passes its fully qualified class + name so that the underlying logging system can correctly compute + location information. +

+ + +

The install() method of + SLF4JBridgeHandler will no longer reset the entire + j.u.l. environment but solely add a SLF4JBridgeHandler + instance to jul's root logger. By the same token, the + uninstall() method will remove previously added + SLF4JBridgeHandler instances without making any other + modifications to the j.u.l. configuration. +

+ +

Added MDCStrLookup to slf4j-ext. This class can be + used with Apache Commons Lang's StrSubstitutor class to + inject values in the SLF4J MDC into strings. Information on + StrSubstitutor can be found at StrSubstitutor + javadoc. +

+ +
+ +

October 17th, 2008 - Release of SLF4J 1.5.5

+ +

The version check mechanism introduced in SLF4J 1.5.4 was + inconsistent with the large size of SLF4J's installed user base. We + cannot expect external SLF4J implementations to align their release + schedule with that of SLF4J. Consequently, this SLF4J version, + namely 1.5.5, retains versions checks but as an elective + process. For further details see the relevant entry in the FAQ. +

+ +

You are highly encouraged to upgrade to SLF4J version 1.5.5. The + upgrade should pose no problems. Nevertheless, you might still want + to refer to the SLF4J compatibility + report. +

+ +

October 16th, 2008 - Release of SLF4J 1.5.4

+ +

This version corrects critical bugs. +

+ +

Fixed critical bug + 106. In previous versions of SLF4J, if during the initial + binding phase, the underlying logging system's default configuration + created or invoked loggers, a NullPointerException + would be thrown. Refer to the in error codes document for a + fuller explanation.

+ +

At initialization time, LoggerFactory will now check that the + version of the slf4j-binding matches that of slf4j-api. If there is + a mismatch a warning will be issued on the console. This should help + users identify SLF4J related problems more quickly.

+ +

Improvements in documentation as well as fix for packaging + problems related to slf4j-ext module. +

+ +

SLF4JBridgeHandler (part of jul-to-slf4j) now accounts for + loggers with resourceBundle as well parameters. This feature + requested by Darryl Smith in bug 98 and + by Jarek Gawor in bug + 103.

+ +

We now say that markers contain references to other + markers. We no longer talk about child markers. The javadocs of the + Marker interface have been updated to reflect this + change. Moreover, the hasChildren() method in the + Marker interface has been deprecated and a new method called + hasReferences() was added. +

+ +
+ +

September 12th, 2008 - Release of SLF4J 1.5.3

+ +

See also the compatibility + report for this version. +

+ +

Added a new module called slf4j-ext for slf4j-extensions. See its documentation for further + details.

+ +

Fixed bug + 71 which was re-opened by Manfred Geiler. SLF4J loggers now + survive serialization. By survive serialization, we mean + that the deserialized logger instance are fully functional.

+ +

The fix for bug 68 as + implemented in version 1.5.1 was incomplete. Michael Furman supplied + a more complete fix which was incorporated in this release.

+ +

When slf4j bridges, e.g. jcl-over-slf4j or log4j-over-slf4j, were + used in conjunction with JUL as the underlying logging system, + JDK14LoggerAdapter created a LogRecord even for disabled log + statements. This performance issue was reported in bug 90 by + Matthew Mastracci. +

+ +

Added support for array values, including multi-dimensional + arrays, as parameters. For example,

+

log.debug("{} {}", "A", new int[] {1, 2}});

+

will print as "A [1, 2]" instead of "A [I@6ca1c" as + previously. This enhancement was proposed by "lizongbo". +

+ +

Parameter substitution code has been simplified. SLF4J now only + cares about the "{}" formatting anchor, that is the '{' character + immediately followed by '}'. Previously, the '{' had meaning on its + own. As a result of this change, users no longer need to escape the + '{' unless it is immediately followed by '}'. Existing messages + which escaped standalone '{' character will be printed with a + preceding backslash. However, no data loss in the printed messages + will occur. +

+ +

Added missing getInstance methods to the + Category class in the log4j-over-slf4j module, fixing + bug 95 + reported by Michael Rumpf.

+ +
+ +

June 8th, 2008 - Release of SLF4J 1.5.2

+ +

Improvements to SLF4J documentation as well as fix of packaging + problems related to jul-to-slf4j.jar and + jcl104-over-slf4j.jar. +

+ +

June 5th, 2008 - Release of SLF4J 1.5.1

+ +

See also the compatibility + report for this version.

+ +

In order to support JCL version 1.1.1, the + jcl104-over-slf4j module was renamed as + jcl-over-slf4j. SLF4J will no longer ship with + jcl104-over-slf4j.jar but with jcl-over-slf4j.jar. + The related work responds to enhancement request discussed in bug 85 as + reported by Niklas Gustavsson. +

+ +

The slf4j-jcl binding now depends on commons-logging + version 1.1.1 instead of the older 1.0.4

+ + +

Added a java.util.logging to SLF4J bridge as requested in bug 38 by + Christian Stein, David Smiley, Johan Ferner, Joern Huxhorn and + others. +

+ +

Fixed bug + 68 reported by Su Chuan and David Rauschenbach. SLF4J requires + log4j 1.2.12 or later. However, if an older version of log4j is + present (lacking the TRACE level), in order to avoid + NoSuchMethodError exceptions, the SLF4J's + Log4jLoggerAdapter will map the TRACE level as DEBUG. +

+ + +

Fixed bug + 78 reported by Venu Thachappilly. If the argument array passed + to a Logger printing method (debug, info, etc.) was null, a + NullPointerException was thrown. With the correction, + the messagePattern is returned as is, without parameter + substitution. +

+ + +

Added the getCopyOfContextMap and + setContextMap methods to the MDCAdapter + and org.sf4j.MDC classes. This was requested in bug 84 by + Anton Tagunov. +

+ +

Fixed bug + 74, an endless recursion problem in Marker.contains method, + reported by Michael Newcomb. Also added he + getDetachedMarker method to IMarkerFactor + and MarkerFactory classes which was indirectly + requested in bug 74. +

+ +

Added the methods getLevel() and + getEffectiveLevel() to the Category class + in log4j-over-slf4j. This addition was requested in bug 74 by + Michael Newcomb. +

+ +

The SLF4J Migrator + tool has been improved to support migration from JUL to SLF4J. +

+ +

In MarkerIgnoringBase class, corrected mapping of + trace methods with markers to their equivalents without marker + data. Previously, the mapping was trace to debug. The incorrect + mapping affected only calls to the trace method with + markers. Interestingly enough, this bug was picked up by new unit + tests and has not been reported as a bug by our users. +

+ + +

February 26th, 2008 - Release of SLF4J 1.5.0

+ + +

A tool called SLF4J Migrator now + ships with SLF4J. It can help you migrate your project using JCL or + log4j to use SLF4J instead. +

+ +

Fixed bug + 61 reported by Christopher Sahnwaldt. It is now possible to + place a backslash in front of a formatting anchor, by escaping the + backslash. For example, the call to + MessageFormatter.format("C:\\\\{}", "foo") will now + correctly return "C:\\foo". The backslash character needs to be + escaped in Java, which leads to four backslashes. +

+ + +

Fixed bug + 63 reported by Maarten Bosteels. SLF4J now supports MDC for + java.util.logging package. +

+ +

Fixed bug + 64 reported by Michal Bernhard. The log4j binding will now alert + the user if she uses SLF4J with a version of log4j earlier than 1.2.12. +

+ +

Fixed bug + 65 reported by Ben Gidley. Superfluous + <version>${parent.version}</version> lines have been + removed from pom.xml files. These lines reportedly confuse certain + Maven repositories. +

+ +

In the org.apache.log4j.Category class, as + implemented in the log4j-over-slf4j module, calls to the printing + trace() are now correctly mapped to SLF4J's trace() printing method + (instead of debug()). Superfluous printing methods with the + signature xxxx(Object, Object) and xxxx(String, + Object, Object) have been removed. +

+ +

Fixed bug + 67 reported by Chris Custine. The manifest file for + jcl104-over-slf4j now correctly declares version 1.0.4 for the + exported JCL packages. +

+ + +

Fixed bug + 69 reported by Joern Huxhorn, who graciously supplied the fix as + well as a test case. The add method in + BasicMarker class now correctly prevents multiple + addition of the same child. Moreover, the remove method + now correctly removes the specified child marker. +

+ +

Fixed bug + 41 reported by Sebastian Davids. The manifest files of various + projects now mention J2SE-1.3 as the required execution + environment. +

+ +

Fixed bug + 71 reported by Manfred Geiler. The SLF4JLog and + SLF4JLocationAwareLog classes are now serializable solving + serialization problems encountered with certain libraries which + attempt to serialize JCL log instances. +

+ +

Fixed bug + 73 reported by Oleg Smirsky. A "Fragment-Host: slf4j.api" line + has been added to every MANIFEST.MF file exporting + org.slf4j.impl. +

+ + +

Fixed bug + 72 reported by Ian Carr. Performance issues with slf4j-jdk14 for + disabled log statements have now been corrected. +

+ +
+ +

August 20th, 2007 - Release of SLF4J 1.4.3

+ +

Fixed bug + 60 as reported by Costin Leau. OSGI manifest entries now declare + the correct SLF4J version. +

+ +

Clarified the behavior of the various methods methods in the MDC + class with respect to "null" parameters. This was requested in bug 58 by + Sebastian Davids. +

+ +

Removed the slf4j-archetype module because nobody seems to have a + use for it.

+ +

July 12th, 2007 - Release of SLF4J 1.4.2

+ +

The log4j-over-slf4j module + has been moved back into SLF4J. Originally, this module was part of + SLF4J and was moved into logback due to the lack of MDC support in + SLF4J. With version 1.4.2 and the addition of MDC support in SLF4J + 1.4.1, log4j-over-slf4j returns to its original home. Note that the + previous name of the module was log4j-bridge. +

+ +

Addition of the getMDCAdapter method to + org.slf4j.MDC class. This allows access to the actual MDC + implementation which can on occasion come in very handy. +

+ +
+ + + +

July 4th, 2007 - Release of SLF4J 1.4.1

+ + +

SLF4J now supports Mapped Diagnostic + Contexts (MDC) as requested by Andy Gerweck and Steve Ebersole + in bug + 49. +

+ +

Fixed bug + 53 as reported by Heinrich Nirschl. The public method + trace(String) in the Log4jLoggerAdapter + class incorrectly called the underlying log4j logger with level DEBUG + instead of TRACE. +

+ +

Fixed various documentation related errors kindly reported by + Mark Vedder. +

+ + +
+ + +

May 16th, 2007 - Release of SLF4J 1.4.0

+ + +

In response to many user requests over time, the TRACE level has + been added to org.slf4j.Logger + interface. Please also see the FAQ entry + discussing the TRACE level. +

+ + +

Fixed bug + 47 as reported by Terry Todd. In previous a SLF4J release the + org.apache.commons.logging.impl.SLF4FLogFactory class + was renamed as SLF4JLogFactory. The + META-INF/services/org.apache.commons.logging.LogFactory + resource file had not reflected this change. It does now. +

+ + +

Eric Yung reported + that Apache commons-configuration access certain commons-logging + classes, namely org.apache.commons.logging.impl.NoOpLog + and SimpleLog, directly. Following Eric's suggestion, + jcl104-over-slf4j now includes the aforementioned classes. +

+ + +
+ +

April 15th, 2007 - Release of SLF4J 1.3.1

+ + +

In response to a enhancement + request made by Michael Newcomb, a marker can now be detached + from the internal list of the MarkerFactory that + generated it. +

+ +

Fixed a silly but nonetheless annoying bug where log request of + level ERROR made through jcl104-over-slf4j would log twice. This bug + was reported + and precisely described by Andrew Cooke. +

+ + +
+ +

February 25th, 2007 - Release of SLF4J 1.3.0

+ +

This release consists of rearrangement of classes among + projects. More specifically, the + org.slf4j.LoggerFactory class is now packaged within + the slf4j-api.jar file instead of the various slf4j + bindings. It follows that client code needs to depend on only + slf4j-api in order to compile, while the various slf4j bindings are + only needed as runtime dependencies. See also the Maven2-related FAQ entry. Given the + practical significance of this change, we highly recommend that + library-authors upgrade to version 1.3 at their earliest + convenience. +

+ +

Bug number + 23 has been fixed, at the cost of minor and backward compatible + changes. In other words, jcl104-over-slf4j now preserves caller + location information. +

+ +

It is now possible to obtain the root logger of the underlying + logging implementation by requesting a logger named + "ROOT". This feature was requested by Sebastien Davids + in bug + report 35.

+ +

For an exact list of changes please refer to the 1.3.0 compatibility report file + as generated by clirr.

+ + +
+ +

January 24th, 2007 - Release of SLF4J 1.2

+

This release includes several modifications to make SLF4J + an OSGi-friendly framework. + The modules' MANIFEST.MF files now include + OSGi metadata. Regarding these improvements, and OSGi in general, the + SLF4J project is happy to welcome John E. Conlon as a new committer. +

+ +

Marker objects are now Serializable. +

+ +
+ +

December 21st, 2006 - Release of SLF4J 1.1.0 (final)

+ +

This release consists of minor bug fixes and documentation + changes. More importantly, the log4j-over-slf4j module has been + moved to the logback project, under the name log4j-bridge. +

+ +

Added the file "org.apache.commons.logging.LogFactory" under + META-INF/services directory which went missing in the 1.1.0 series + of SLF4J. This fixes a compatibility problem with Apache Axis which + uses its own discovery mechanism, namely, commons-discovery version + 0.2. The problem was reported in bug report 33 + by David Varnes. +

+ +

The file jcl104-over-slf4j.jar had various entries missing in its + MANIFEST.MF file, as reported by Boris Unkel in bug number + 30. +

+ +
+ +

November 16th, 2006 - Release of SLF4J 1.1.0-RC1

+ +

This release consists of packaging related bug fix in addition to + minor documentation changes. +

+ +

Contrary to RC0, RC1 no longer uses SNAPSHOT versions for the + slf4j-parent pom. The solution to Maven + version problem does not work for public projects such as SLF4J + because SNAPHOTs are not allowed on ibiblio. +

+ + +
+ +

November 4th, 2006 - Release of SLF4J 1.1.0-RC0

+ +

This release consists of bug fixes. Moreover, since the major + packaging related changes in 1.1.0-beta0 seem to work well, this + release is marked as RC0.

+ +

Fixed the JDK 1.5 dependency for the SLF4J build, as reported by + Boris Unkel in bug number + 28. SLF4J now explicitly declares a dependency on JDK 1.4 in its + pom.xml file. +

+ +

Fixed an incorrect reference to the logback project in slf4j-api + pom file. This bug was reported by Boris Unkel in bug number + 29. +

+ +

Fixed a synchronization problem in factories of almost all SLF4J + bindings. This bug was reported independently by Howard M. Lewis Ship + and Boris Unkel in bug reports 26 and + respectively 27. +

+ +
+ +

September 7th, 2006 - Release of SLF4J 1.1.0-beta0

+ +

Release 1.1.0-beta0 is a relatively important release with a + refactoring of the way class files are organized in jar files. In + previous releases, each binding was self-contained in a single jar + file. In this release, each and every binding depends on + slf4j-api.jar which contains the bulk of the classes + required to use SLF4J, except for one or two adapter classes. Only + the adapter classes are now shipped with each specific binding jar + as appropriate for the underlying logging system.. +

+ +

This release is built using Maven instead of Ant. As for the java + code, it has not been changed.

+ +
+ +

June 8th, 2006 - Release of SLF4J 1.0.2

+ +

Release 1.0.2 is a maintenance release containing bug fixes + only.

+ +
    + +
  • Fixed bug number + 22 reported by Bjorn Danielsson. This version of the SLF4J API + will no longer systematically throw an exception when the + o.a.c.l.impl.SLF4FLogFactory#release() method is + invoked. Instead, the release() method will issue a + warning. + +
  • + +
+ +
+ +

May 1st, 2006 - Release of SLF4J 1.0.1

+ +

Release 1.0.1 is a maintenance release containing bug fixes + only.

+ +
    + +
  • Fixed bug number + 20 reported by Steve Bate. JDK14LoggerAdapter + will now correctly relay the logger name to the underlying JDK 14 + logging system. +
  • + +
  • Added the file "org.apache.commons.logging.LogFactory" under + META-INF/services directory in the jcl104-over-slf4j jar + file. This fixes a compatibility problem with Apache Axis which + uses its own discovery mechanism, namely, commons-discovery + version 0.2. The bug was reported by Dave Wallace. +
  • + +
+ + +
+ +

March 8th, 2006 - Release of SLF4J 1.0

+ +

This is release labeled as 1.0 (final) contains few relatively + minor changes: +

+ +
    +
  • As discussed + on the slf4j user list, SimpleLogger now directs its + output to stderr instead of stdout. +
  • + +
  • Modified JDK14LoggerAdapter so that caller + information is now correctly printed, as reported in bug 13 by + Peter Royal. +
  • + +
  • Minor additions to the Marker interface.
  • + +
+ +
+ +

February 4th, 2006 - Release of SLF4J 1.0-RC6 and NLOG4J + 1.2.22

+ +

The MarkingLogger interface has been removed and its + contents merged into org.slf4j.Logger. This change + should not adversely affect end-users. However, SLF4J bindings need + to be updated. This has been done for all the bindings shipped with + SLF4J distribution as well as NLOG4J. As for x4juli, the update is + planned for its next release. +

+ +

The merge between the MarkingLogger and + Logger interfaces has been motivated by the need to + allow end-users to easily switch between logging systems that + support markers and those that do not. +

+ +

Added a default instance to SimpleLoggerFactory to serve as a + last resort fallback mechanism. This instance is designed to be used + by a very specific group of users, namely for those developing + logging systems (e.g. log4j or LOGBack). It is not intended for + end-users of the SLF4J API. +

+ +
+ +

January 9th, 2006 - Release of SLF4J 1.0-RC5 and NLOG4J + 1.2.21

+ +

A maintenance release correcting bugs #11 and #12 and in + general improved resilience to null input parameters across + implementations. Many thanks to Boris Unckel and Kenneth for + reporting the null input issue. +

+ +
+ +

December 27th, 2005 - Release of SLF4J 1.0-RC4 and NLOG4J + 1.2.20

+ + +

The printing methods in org.slf4j.Logger interface + now support passing 3 or more parameters in an Object + array. This was a frequently requested feature missing in previous + versions of SLF4J. +

+ +

NLOG4J 1.2.20 reflects the addition of new methods in the + org.slf4j.Logger interface.

+ +
+ +

December 8th, 2005 - Release of SLF4J 1.0-RC3

+ +

Maintenance release fixing reported bugs #6 and #7. +

+ + +

November 28th, 2005 - Release of SLF4J 1.0-RC2

+ +

In response to a request by Greg Wilkins, this release adds the + jar file slf4j-jcl.jar, an SLF4J binding for JCL. Please + read the gradual migration section + in the manual for more details. +

+ +
+ +

November 21st, 2005 - Release of SLF4J 1.0-RC1

+ +

A maintenance release correcting bugs #4 and #5. Many + thanks to Christian Beil for accurately reporting bug #4. +

+ +

There has been also an effort to minimize the file sizes of the + various jar files produced by SLF4J, resulting in jar files + approximately 40% smaller than in version 1.0beta9. +

+ +

Given that the SLF4J API is now deemed stable, this release is + marked as RC1, that is release candidate number 1. +

+ + +
+ +

October 19th, 2005 - Release of SLF4J 1.0-beta9

+ +

The SLF4J distribution now includes two distinct bindings + slf4j-log4j12.jar and slf4j-log4j13.jar in order + to differentiate between log4j version 1.2 and version 1.3. This + distinction is absolutely necessary because log4j 1.2 and 1.3 are + not run-time compatible, although they are mostly compile-time + compatible. +

+ +
+ +

October 19th, 2005 - Release of SLF4J 1.0-beta8 and NLOG4J 1.2.18

+ + +

Added a new SLF4J binding, slf4j-log4j.jar, intended to + be used in conjunction with vanilla log4j.jar, as + distributed by the Apache + Logging Services project. The slf4j-log4j binding is quite + similar in structure to the JDK 1.4 binding that existed + previously. +

+ +

The slf4j-log4j binding addresses compatibility problems which + arose when copies of both log4j.jar and nlog4j.jar + lay on the class path, in particular when it was undesirable or + impossible to remove the preexisting log4j.jar file. +

+ +

Methods in the org.slf4j.Logger interface related to + markers were moved to a separate super interface called + org.slf4j.MarkingLogger. This refactoring reduces + the weight of the + Logger interface. +

+ +
+ +

August 28th, 2005 - Release of SLF4J 1.0-beta7 and NLOG4J 1.2.17

+ +

Spurred by bug report + #3, SLF4J binding code has been refactored and + simplified. Logging systems implementing SLF4J interfaces have to + have less work in order to bind with SLF4J. Moreover, these changes + have no incidence on the published interface of SLF4J. +

+ + +
+ +

August 26th, 2005 - Release of SLF4J 1.0-beta6

+ +

To ease migration to SLF4J from JCL, this release includes a jar + file called jcl-over-slf4j-1.0.4.jar. This jar file can be + used as drop-in replacement for JCL version 1.0.4. It implements the + public API of JCL using SLF4J underneath. +

+ +

Thus, you can immediately benefit from the advantages of SLF4J + without waiting for all the libraries you depend on to migrate to + SLF4J first.

+ +
+ +

August 16th, 2005 - Release of NLOG4J 1.2.16

+ +

This release adds solves a compatibility problem between log4j + and nlog4j. Previous to this release, code compiled with log4j + would not run correctly with nlog4j. +

+ +

With the fixes introduced in NLOG4J 1.2.16, code compiled with + log4j 1.2.x will run without problems when deployed using NLOG4j. +

+ +

However, the inverse is not true. Code compiled with nlog4j can + only be deployed using nlog4j. +

+ +
+ +

August 12th, 2005 - Release of SLF4J 1.0-beta5 and NLOG4J + 1.2.15

+ +

This release adds support for the Marker interface. Thus, log + statements can be decorated with Marker data allowing more + expressive power in the processing of log statements. +

+ +

For the sake of IoC frameworks, Logger instances can + new be queried for their name. +

+ +

With the addition of markers, sub-domains are no longer + needed.

+ +

The LoggerFactoryAdapter has been simplified and + renamed as ILoggerFactory. +

+ +
+ +

July 5th, 2005 - Release of NLOG4J 1.2.14

+ +

This release fixes compatibility problems between NLOG4J and + Jakarta Commons Logging. +

+ +
+ +

June 28th, 2005 - Release of SLF4J 1.0-beta4 and NLOG4J + 1.2.13

+ +

Following discussions on the SLF4J developers list, the + signatures of the printing methods in org.slf4j.Logger + interface have been modified to admit messages of type + String instead of type Object as + previously. The current set of printing methods is listed below. +

+ +
+ void debug(String msg); 
+ void debug(String format, Object arg); 
+ void debug(String format, Object arg1, Object arg2); 
+ void debug(String msg, Throwable t); 
+
+ void error(String msg); 
+ void error(String format, Object arg;) 
+ void error(String format, Object arg1, Object arg2); 
+ void error(String msg, Throwable t); 
+      
+ void info(String msg); 
+ void info(String format, Object arg); 
+ void info(String format, Object arg1, Object arg2); 
+ void info(String msg, Throwable t); 
+      
+ void warn(String msg); 
+ void warn(String format, Object arg); 
+ void warn(String format, Object arg1, Object arg2); 
+ void warn(String msg, Throwable t);  
+ + +

NLOG4J release 1.2.13 reflects changes in the SLF4J API. +

+ +

You can download SLF4J and NLOG4J, including full source code, + class files and documentation on our download page. +

+ +
+ +

May 17th, 2005 - SLF4J version 1.0-beta-3 released

+ +

In response to user comments, the org.slf4j.ULogger + interface has been renamed as org.slf4j.Logger. +

+ + +
+ +

May 17th, 2005 - NLOG4J version 1.2.12 released

+ +

SLF4J.ORG is proud to release NLOG4J 1.2.12, a log4j-replacement + with native SLF4J API support. Except for users of LF5, chainsaw or + NTEvenAppender, NLOG4J should be considered as a 100% + compatible, drop-in replacement for log4j version 1.2.9. +

+ +

This release reflects changes in the SLF4J API, i.e renaming of + org.slf4j.ULogger interface as + org.slf4j.Logger. +

+ +
+ +

May 17th, 2005 - SLF4J version 1.0-beta-3 released

+ +

SLF4J.ORG is proud to release SLF4J 1.0-beta-3. In response to + user comments, the org.slf4j.ULogger interface has been + renamed as org.slf4j.Logger. +

+ +

You can download SLF4J, including full source code, class files + and documentation on our download page. +

+ +
+ +

May 14th, 2005 - NLOG4J version 1.2.11 released

+ +

SLF4J.ORG is proud to release NLOG4J 1.2.11, a log4j-replacement + with native SLF4J API support. Except for users of LF5, chainsaw or + NTEvenAppender, NLOG4J should be considered as a 100% + compatible, drop-in replacement for log4j version 1.2.9. +

+ +

You can download NLOG4J version 1.2.11, including full source + code, class files and documentation on our download page. +

+ +
+ +

May 4th, 2005 - SLF4J version 1.0-beta-2 released

+ +

SLF4J.ORG is proud to release SLF4J 1.0-beta-2. This release + contains cosmetic or javadoc changes. For example, the project has a + new logo. +

+ +

You can download SLF4J version 1.0-beta2, including full source + code, class files and documentation on our download page. +

+ + +
+ +

1 May 2005 - not-log4j-1.2.10 released

+ +

Subsequent to the recall of log4j 1.2.10, SLF4J.ORG releases + non-log4j-1.2.10 for those interested in SLF4J support in log4j. +

+ +

You can download not-log4j version 1.2.10, including full source + code, class files and documentation on our download page. +

+ +
+ + +

22 April 2005 - SLF4J project goes live

+ +

The SLF4J project site, including SVN repositories go + live. Users can download SLF4J version 1.0-beta1. +

+ +
+ +

15 April 2005 - start of work on SLF4J source code

+ +

Start of work on the SLF4j source code. +

+ +
+ +

13 April 2005 - start of work on SLF4J project

+ +

Launch of the SLF4J project. Work has begun on the web-site, svn + repositories as well as the source code. +

+ + + + +
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/project-reports.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/project-reports.html new file mode 100644 index 0000000..dfb0a05 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/project-reports.html @@ -0,0 +1,137 @@ + + + + + + Generated Reports + + + + + + + + + + +
+
+

Generated Reports

This document provides an overview of the various reports that are automatically generated by Maven . Each report is briefly described below.

Overview

DocumentDescription
Source XrefHTML based, cross-reference version of Java source code.
Test Source XrefHTML based, cross-reference version of Java test source code.
JavaDocsJavaDoc API documentation.
Test JavaDocsTest JavaDoc API documentation.
+
+
+
+
+
+ + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/slf4j-in-10-slides.ppt b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/slf4j-in-10-slides.ppt new file mode 100644 index 0000000..8976db2 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/slf4j-in-10-slides.ppt differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/support.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/support.html new file mode 100644 index 0000000..010a56b --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/support.html @@ -0,0 +1,43 @@ + + + + +Log4j Bridge + + + + + + + + +
+ +
+ +
+ +

Contractual Support

+ + +

The following companies, listed in alphabetical order, offer + contractual support for SLF4J. +

+ +
    +
  • QOS.ch, in Lausanne, Swizerland. For more information visit + QOS.ch's support page.
  • +
+ + + + +
+ + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/templates/footer.js b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/templates/footer.js new file mode 100644 index 0000000..92e88e2 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/templates/footer.js @@ -0,0 +1,28 @@ + +document.write('') + +document.write('') + +document.write(' ') + +document.write(' '); + + +document.write('') + +AAT = '@' +DOOTT = '.' +document.write('') +document.write('') +document.write('') + + +document.write('') + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/templates/header.js b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/templates/header.js new file mode 100644 index 0000000..35f75bc --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/templates/header.js @@ -0,0 +1,12 @@ + +document.write(''); +document.write('') + +//document.write('') + +document.write('
'); +document.write(''); +document.write(''); +//document.write(''); +//document.write('
'); +document.write(''); \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/templates/left.js b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/templates/left.js new file mode 100644 index 0000000..d04d400 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/templates/left.js @@ -0,0 +1,47 @@ + +document.write(''); + +document.write('

 

'); +document.write(''); + + +document.write('

 

'); +document.write('

'); +document.write(' '); +document.write(' buy direct from the developer'); +document.write(' '); +document.write('

'); + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/templates/right.js b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/templates/right.js new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/templates/right.js @@ -0,0 +1 @@ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/allclasses-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/allclasses-frame.html new file mode 100644 index 0000000..bd3a7fa --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/allclasses-frame.html @@ -0,0 +1,144 @@ + + + + + + + +All Classes (SLF4J 1.7.5 Test API) + + + + + + + + + + + +All Classes +
+ + + + + +
Activator +
+BasicMarkerTest +
+BasicProfilerDemo +
+BogoPerf +
+BubbleSortTest +
+Bug131 +
+Bug139 +
+BundleTest +
+CheckingBundleListener +
+CompatibilityAssertionTest +
+Differentiator +
+EventLoggerTest +
+FelixHost +
+FrameworkErrorListener +
+IncompatibleMultiBindingAssertionTest +
+InvocationTest +
+InvokeJCLTest +
+JDK14AdapterLoggerNameTest +
+ListAppender +
+ListAppender +
+ListAppender +
+ListHandler +
+LocLoggerTest +
+LoggerSerializationTest +
+MDCStrLookupTest +
+MessageFormatterPerfTest +
+MessageFormatterTest +
+MissingSingletonMethodAssertionTest +
+Months +
+MultiBindingAssertionTest +
+MyApplication +
+NDCTest +
+NDCTest +
+NestedProfilerDemo +
+NestedProfilerDemo2 +
+NoBindingTest +
+PackageTest +
+PackageTest +
+PackageTest +
+PerfTest +
+Production +
+ProfilerTest +
+RandomIntegerArrayGenerator +
+RecursiveAppender +
+RecursiveInitializationTest +
+SerializationTest +
+SilentPrintStream +
+SimpleLoggerTest +
+SLF4JBridgeHandlerPerfTest +
+SLF4JBridgeHandlerTest +
+SortAndPruneComposites +
+StringPrintStream +
+ToStringHelperTest +
+Trivial +
+UtilTest +
+VersionMismatchAssertionTest +
+XLoggerTest +
+
+ + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/allclasses-noframe.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/allclasses-noframe.html new file mode 100644 index 0000000..eef61fb --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/allclasses-noframe.html @@ -0,0 +1,144 @@ + + + + + + + +All Classes (SLF4J 1.7.5 Test API) + + + + + + + + + + + +All Classes +
+ + + + + +
Activator +
+BasicMarkerTest +
+BasicProfilerDemo +
+BogoPerf +
+BubbleSortTest +
+Bug131 +
+Bug139 +
+BundleTest +
+CheckingBundleListener +
+CompatibilityAssertionTest +
+Differentiator +
+EventLoggerTest +
+FelixHost +
+FrameworkErrorListener +
+IncompatibleMultiBindingAssertionTest +
+InvocationTest +
+InvokeJCLTest +
+JDK14AdapterLoggerNameTest +
+ListAppender +
+ListAppender +
+ListAppender +
+ListHandler +
+LocLoggerTest +
+LoggerSerializationTest +
+MDCStrLookupTest +
+MessageFormatterPerfTest +
+MessageFormatterTest +
+MissingSingletonMethodAssertionTest +
+Months +
+MultiBindingAssertionTest +
+MyApplication +
+NDCTest +
+NDCTest +
+NestedProfilerDemo +
+NestedProfilerDemo2 +
+NoBindingTest +
+PackageTest +
+PackageTest +
+PackageTest +
+PerfTest +
+Production +
+ProfilerTest +
+RandomIntegerArrayGenerator +
+RecursiveAppender +
+RecursiveInitializationTest +
+SerializationTest +
+SilentPrintStream +
+SimpleLoggerTest +
+SLF4JBridgeHandlerPerfTest +
+SLF4JBridgeHandlerTest +
+SortAndPruneComposites +
+StringPrintStream +
+ToStringHelperTest +
+Trivial +
+UtilTest +
+VersionMismatchAssertionTest +
+XLoggerTest +
+
+ + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/constant-values.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/constant-values.html new file mode 100644 index 0000000..76ecfca --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/constant-values.html @@ -0,0 +1,147 @@ + + + + + + + +Constant Field Values (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Constant Field Values

+
+
+Contents
    +
+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/deprecated-list.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/deprecated-list.html new file mode 100644 index 0000000..f241ef3 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/deprecated-list.html @@ -0,0 +1,147 @@ + + + + + + + +Deprecated List (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Deprecated API

+
+
+Contents
    +
+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/help-doc.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/help-doc.html new file mode 100644 index 0000000..d9f42fc --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/help-doc.html @@ -0,0 +1,224 @@ + + + + + + + +API Help (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+How This API Document Is Organized

+
+This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.

+Overview

+
+ +

+The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.

+

+Package

+
+ +

+Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:

    +
  • Interfaces (italic)
  • Classes
  • Enums
  • Exceptions
  • Errors
  • Annotation Types
+
+

+Class/Interface

+
+ +

+Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:

    +
  • Class inheritance diagram
  • Direct Subclasses
  • All Known Subinterfaces
  • All Known Implementing Classes
  • Class/interface declaration
  • Class/interface description +

    +

  • Nested Class Summary
  • Field Summary
  • Constructor Summary
  • Method Summary +

    +

  • Field Detail
  • Constructor Detail
  • Method Detail
+Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.
+ +

+Annotation Type

+
+ +

+Each annotation type has its own separate page with the following sections:

    +
  • Annotation Type declaration
  • Annotation Type description
  • Required Element Summary
  • Optional Element Summary
  • Element Detail
+
+ +

+Enum

+
+ +

+Each enum has its own separate page with the following sections:

    +
  • Enum declaration
  • Enum description
  • Enum Constant Summary
  • Enum Constant Detail
+
+

+Use

+
+Each documented package, class and interface has its own Use page. This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A. You can access this page by first going to the package, class or interface, then clicking on the "Use" link in the navigation bar.
+

+Tree (Class Hierarchy)

+
+There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with java.lang.Object. The interfaces do not inherit from java.lang.Object.
    +
  • When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.
  • When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.
+
+

+Deprecated API

+
+The Deprecated API page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.
+

+Index

+
+The Index contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.
+

+Prev/Next

+These links take you to the next or previous class, interface, package, or related page.

+Frames/No Frames

+These links show and hide the HTML frames. All pages are available with or without frames. +

+

+Serialized Form

+Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description. +

+

+Constant Field Values

+The Constant Field Values page lists the static final fields and their values. +

+ + +This help file applies to API documentation generated using the standard doclet. + +
+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/index-all.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/index-all.html new file mode 100644 index 0000000..bc5ecc2 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/index-all.html @@ -0,0 +1,996 @@ + + + + + + + +Index (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +A B C D E F G I J L M N O P R S T U V X
+

+A

+
+
Activator - Class in integrator
A BundleActivator which invokes slf4j loggers
Activator() - +Constructor for class integrator.Activator +
  +
after() - +Method in class org.slf4j.impl.SimpleLoggerTest +
  +
append(LoggingEvent) - +Method in class org.slf4j.bridge.ListAppender +
  +
append(LoggingEvent) - +Method in class org.slf4j.dummyExt.ListAppender +
  +
append(LoggingEvent) - +Method in class org.slf4j.impl.RecursiveAppender +
  +
append(LoggingEvent) - +Method in class org.slf4j.ListAppender +
  +
applicationStart() - +Method in class org.slf4j.cal10n_dummy.MyApplication +
  +
applicationStop() - +Method in class org.slf4j.cal10n_dummy.MyApplication +
  +
assertDuration(double, long, double) - +Static method in class org.slf4j.helpers.BogoPerf +
Assertion used for values that decrease with faster CPUs, typically + the time (duration) needed to perform a task. +
assertPerformance(double, long, double) - +Static method in class org.slf4j.helpers.BogoPerf +
Assertion used for values that increase with faster CPUs, typically + the number of operations accomplished per unit of time. +
+
+

+B

+
+
BasicMarkerTest - Class in org.slf4j
Unit test BasicMarker
BasicMarkerTest() - +Constructor for class org.slf4j.BasicMarkerTest +
  +
BasicProfilerDemo - Class in org.slf4j.profiler
This demo illustrates usage of SLF4J profilers.
BasicProfilerDemo() - +Constructor for class org.slf4j.profiler.BasicProfilerDemo +
  +
before() - +Method in class org.slf4j.impl.SimpleLoggerTest +
  +
BogoPerf - Class in org.slf4j.helpers
BogoPerf is used to check that the time required to perform a certain + operation does not deteriorate over time.
BogoPerf() - +Constructor for class org.slf4j.helpers.BogoPerf +
  +
BubbleSortTest - Class in org.slf4j.helpers
Test that our BubbleSort algorithm is correctly implemented.
BubbleSortTest() - +Constructor for class org.slf4j.helpers.BubbleSortTest +
  +
Bug131 - Class in org.dummy
 
Bug131() - +Constructor for class org.dummy.Bug131 +
  +
Bug139 - Class in org.dummy
 
Bug139() - +Constructor for class org.dummy.Bug139 +
  +
bundleChanged(BundleEvent) - +Method in class org.slf4j.test_osgi.CheckingBundleListener +
  +
BundleTest - Class in org.slf4j.test_osgi
 
BundleTest() - +Constructor for class org.slf4j.test_osgi.BundleTest +
  +
+
+

+C

+
+
CheckingBundleListener - Class in org.slf4j.test_osgi
 
CheckingBundleListener() - +Constructor for class org.slf4j.test_osgi.CheckingBundleListener +
  +
close() - +Method in class org.dummy.ListHandler +
  +
close() - +Method in class org.slf4j.bridge.ListAppender +
  +
close() - +Method in class org.slf4j.dummyExt.ListAppender +
  +
close() - +Method in class org.slf4j.impl.RecursiveAppender +
  +
close() - +Method in class org.slf4j.ListAppender +
  +
CompatibilityAssertionTest - Class in org.slf4j
 
CompatibilityAssertionTest(String) - +Constructor for class org.slf4j.CompatibilityAssertionTest +
  +
currentBIPS() - +Static method in class org.slf4j.helpers.BogoPerf +
Computed the BogoIPS for this host CPU. +
+
+

+D

+
+
Differentiator - Class in org.slf4j
 
Differentiator() - +Constructor for class org.slf4j.Differentiator +
  +
doLaunch() - +Method in class org.slf4j.test_osgi.FelixHost +
  +
doSubtask(Profiler) - +Method in class org.slf4j.profiler.ProfilerTest +
  +
dumpAll() - +Method in class org.slf4j.test_osgi.CheckingBundleListener +
  +
dumpAll() - +Method in class org.slf4j.test_osgi.FrameworkErrorListener +
  +
+
+

+E

+
+
emptyLoggerName() - +Method in class org.slf4j.impl.SimpleLoggerTest +
  +
errorList - +Variable in class org.slf4j.test_osgi.FrameworkErrorListener +
  +
EventLoggerTest - Class in org.slf4j.dummyExt
 
EventLoggerTest(String) - +Constructor for class org.slf4j.dummyExt.EventLoggerTest +
  +
extractLocationInfo - +Variable in class org.slf4j.bridge.ListAppender +
  +
extractLocationInfo - +Variable in class org.slf4j.dummyExt.ListAppender +
  +
extractLocationInfo - +Variable in class org.slf4j.ListAppender +
  +
+
+

+F

+
+
FelixHost - Class in org.slf4j.test_osgi
Runs a hosted version of Felix for testing purposes.
FelixHost(FrameworkErrorListener, CheckingBundleListener) - +Constructor for class org.slf4j.test_osgi.FelixHost +
  +
flush() - +Method in class org.dummy.ListHandler +
  +
FrameworkErrorListener - Class in org.slf4j.test_osgi
 
FrameworkErrorListener() - +Constructor for class org.slf4j.test_osgi.FrameworkErrorListener +
  +
frameworkEvent(FrameworkEvent) - +Method in class org.slf4j.test_osgi.FrameworkErrorListener +
  +
+
+

+G

+
+
getBundles() - +Method in class integrator.Activator +
  +
getDiffentiator() - +Static method in class org.slf4j.Differentiator +
  +
getInstalledBundles() - +Method in class org.slf4j.test_osgi.FelixHost +
  +
+
+

+I

+
+
IncompatibleMultiBindingAssertionTest - Class in org.slf4j
 
IncompatibleMultiBindingAssertionTest(String) - +Constructor for class org.slf4j.IncompatibleMultiBindingAssertionTest +
  +
integrator - package integrator
 
InvocationTest - Class in org.slf4j
Test whether invoking the SLF4J API causes problems or not.
InvocationTest(String) - +Constructor for class org.slf4j.InvocationTest +
  +
InvokeJCLTest - Class in org.apache.commons.logging
 
InvokeJCLTest() - +Constructor for class org.apache.commons.logging.InvokeJCLTest +
  +
isPrime(int) - +Method in class org.slf4j.profiler.SortAndPruneComposites +
  +
+
+

+J

+
+
JDK14AdapterLoggerNameTest - Class in org.slf4j.impl
 
JDK14AdapterLoggerNameTest() - +Constructor for class org.slf4j.impl.JDK14AdapterLoggerNameTest +
  +
jdkMessageFormatter(long) - +Method in class org.slf4j.helpers.MessageFormatterPerfTest +
  +
+
+

+L

+
+
LINE_SEP - +Static variable in class org.slf4j.StringPrintStream +
  +
list - +Variable in class org.slf4j.bridge.ListAppender +
  +
list - +Variable in class org.slf4j.dummyExt.ListAppender +
  +
list - +Variable in class org.slf4j.ListAppender +
  +
ListAppender - Class in org.slf4j.bridge
 
ListAppender() - +Constructor for class org.slf4j.bridge.ListAppender +
  +
ListAppender - Class in org.slf4j.dummyExt
 
ListAppender() - +Constructor for class org.slf4j.dummyExt.ListAppender +
  +
ListAppender - Class in org.slf4j
 
ListAppender() - +Constructor for class org.slf4j.ListAppender +
  +
ListHandler - Class in org.dummy
 
ListHandler() - +Constructor for class org.dummy.ListHandler +
  +
LocLoggerTest - Class in org.slf4j.cal10n_dummy
 
LocLoggerTest(String) - +Constructor for class org.slf4j.cal10n_dummy.LocLoggerTest +
  +
loggerNameWithNoDots_WithLevel() - +Method in class org.slf4j.impl.SimpleLoggerTest +
  +
loggerNameWithNoDots_WithNoSetLevel() - +Method in class org.slf4j.impl.SimpleLoggerTest +
  +
loggerNameWithOneDot_NoSetLevel() - +Method in class org.slf4j.impl.SimpleLoggerTest +
  +
loggerNameWithOneDotShouldInheritFromParent() - +Method in class org.slf4j.impl.SimpleLoggerTest +
  +
LoggerSerializationTest - Class in org.slf4j.issue
See http://bugzilla.slf4j.org/show_bug.cgi?
LoggerSerializationTest() - +Constructor for class org.slf4j.issue.LoggerSerializationTest +
  +
+
+

+M

+
+
main(String[]) - +Static method in class org.slf4j.profiler.BasicProfilerDemo +
  +
main(String[]) - +Static method in class org.slf4j.profiler.NestedProfilerDemo +
  +
main(String[]) - +Static method in class org.slf4j.profiler.NestedProfilerDemo2 +
  +
MDCStrLookupTest - Class in org.slf4j.dummyExt
 
MDCStrLookupTest(String) - +Constructor for class org.slf4j.dummyExt.MDCStrLookupTest +
  +
MessageFormatterPerfTest - Class in org.slf4j.helpers
 
MessageFormatterPerfTest(String) - +Constructor for class org.slf4j.helpers.MessageFormatterPerfTest +
  +
MessageFormatterTest - Class in org.slf4j.helpers
 
MessageFormatterTest() - +Constructor for class org.slf4j.helpers.MessageFormatterTest +
  +
MissingSingletonMethodAssertionTest - Class in org.slf4j
 
MissingSingletonMethodAssertionTest(String) - +Constructor for class org.slf4j.MissingSingletonMethodAssertionTest +
  +
Months - Enum in org.slf4j.cal10n_dummy
 
MultiBindingAssertionTest - Class in org.slf4j
 
MultiBindingAssertionTest(String) - +Constructor for class org.slf4j.MultiBindingAssertionTest +
  +
MyApplication - Class in org.slf4j.cal10n_dummy
 
MyApplication() - +Constructor for class org.slf4j.cal10n_dummy.MyApplication +
  +
+
+

+N

+
+
NDCTest - Class in org.apache.log4j
 
NDCTest() - +Constructor for class org.apache.log4j.NDCTest +
  +
NDCTest - Class in org.slf4j
 
NDCTest() - +Constructor for class org.slf4j.NDCTest +
  +
NestedProfilerDemo - Class in org.slf4j.profiler
This demo illustrates usage of SLF4J profilers.
NestedProfilerDemo() - +Constructor for class org.slf4j.profiler.NestedProfilerDemo +
  +
NestedProfilerDemo2 - Class in org.slf4j.profiler
This demo illustrates usage of SLF4J profilers.
NestedProfilerDemo2() - +Constructor for class org.slf4j.profiler.NestedProfilerDemo2 +
  +
NoBindingTest - Class in org.slf4j
 
NoBindingTest() - +Constructor for class org.slf4j.NoBindingTest +
  +
+
+

+O

+
+
org.apache.commons.logging - package org.apache.commons.logging
 
org.apache.commons.logging.impl - package org.apache.commons.logging.impl
 
org.apache.log4j - package org.apache.log4j
 
org.dummy - package org.dummy
 
org.slf4j - package org.slf4j
 
org.slf4j.bridge - package org.slf4j.bridge
 
org.slf4j.cal10n_dummy - package org.slf4j.cal10n_dummy
 
org.slf4j.dummyExt - package org.slf4j.dummyExt
Tests related to the org.slfj.ext package.
org.slf4j.helpers - package org.slf4j.helpers
 
org.slf4j.impl - package org.slf4j.impl
 
org.slf4j.instrumentation - package org.slf4j.instrumentation
 
org.slf4j.issue - package org.slf4j.issue
 
org.slf4j.profiler - package org.slf4j.profiler
 
org.slf4j.test_osgi - package org.slf4j.test_osgi
 
+
+

+P

+
+
PackageTest - Class in org.slf4j.cal10n_dummy
 
PackageTest() - +Constructor for class org.slf4j.cal10n_dummy.PackageTest +
  +
PackageTest - Class in org.slf4j.dummyExt
 
PackageTest() - +Constructor for class org.slf4j.dummyExt.PackageTest +
  +
PackageTest - Class in org.slf4j.profiler
 
PackageTest() - +Constructor for class org.slf4j.profiler.PackageTest +
  +
PerfTest - Class in org.slf4j.impl
 
PerfTest(String) - +Constructor for class org.slf4j.impl.PerfTest +
  +
print(String) - +Method in class org.slf4j.SilentPrintStream +
  +
print(String) - +Method in class org.slf4j.StringPrintStream +
  +
println(String) - +Method in class org.slf4j.SilentPrintStream +
  +
println(Object) - +Method in class org.slf4j.SilentPrintStream +
  +
println(String) - +Method in class org.slf4j.StringPrintStream +
  +
println(Object) - +Method in class org.slf4j.StringPrintStream +
  +
Production - Enum in org.slf4j.cal10n_dummy
 
ProfilerTest - Class in org.slf4j.profiler
 
ProfilerTest() - +Constructor for class org.slf4j.profiler.ProfilerTest +
  +
publish(LogRecord) - +Method in class org.dummy.ListHandler +
  +
+
+

+R

+
+
RandomIntegerArrayGenerator - Class in org.slf4j.profiler
 
RandomIntegerArrayGenerator() - +Constructor for class org.slf4j.profiler.RandomIntegerArrayGenerator +
  +
RecursiveAppender - Class in org.slf4j.impl
 
RecursiveAppender() - +Constructor for class org.slf4j.impl.RecursiveAppender +
  +
RecursiveInitializationTest - Class in org.slf4j.impl
 
RecursiveInitializationTest() - +Constructor for class org.slf4j.impl.RecursiveInitializationTest +
  +
requiresLayout() - +Method in class org.slf4j.bridge.ListAppender +
  +
requiresLayout() - +Method in class org.slf4j.dummyExt.ListAppender +
  +
requiresLayout() - +Method in class org.slf4j.impl.RecursiveAppender +
  +
requiresLayout() - +Method in class org.slf4j.ListAppender +
  +
+
+

+S

+
+
SerializationTest - Class in org.apache.commons.logging.impl
 
SerializationTest(String) - +Constructor for class org.apache.commons.logging.impl.SerializationTest +
  +
setUp() - +Method in class org.apache.commons.logging.impl.SerializationTest +
  +
setUp() - +Method in class org.apache.log4j.NDCTest +
  +
setUp() - +Method in class org.slf4j.bridge.SLF4JBridgeHandlerPerfTest +
  +
setUp() - +Method in class org.slf4j.bridge.SLF4JBridgeHandlerTest +
  +
setUp() - +Method in class org.slf4j.cal10n_dummy.LocLoggerTest +
  +
setUp() - +Method in class org.slf4j.CompatibilityAssertionTest +
  +
setUp() - +Method in class org.slf4j.dummyExt.EventLoggerTest +
  +
setUp() - +Method in class org.slf4j.dummyExt.MDCStrLookupTest +
  +
setUp() - +Method in class org.slf4j.dummyExt.XLoggerTest +
  +
setUp() - +Method in class org.slf4j.helpers.MessageFormatterPerfTest +
  +
setUp() - +Method in class org.slf4j.impl.JDK14AdapterLoggerNameTest +
  +
setUp() - +Method in class org.slf4j.impl.PerfTest +
  +
setUp() - +Method in class org.slf4j.impl.RecursiveInitializationTest +
  +
setUp() - +Method in class org.slf4j.IncompatibleMultiBindingAssertionTest +
  +
setUp() - +Method in class org.slf4j.InvocationTest +
  +
setUp() - +Method in class org.slf4j.MissingSingletonMethodAssertionTest +
  +
setUp() - +Method in class org.slf4j.MultiBindingAssertionTest +
  +
setUp() - +Method in class org.slf4j.NDCTest +
  +
setUp() - +Method in class org.slf4j.profiler.ProfilerTest +
  +
setUp() - +Method in class org.slf4j.profiler.UtilTest +
  +
setUp() - +Method in class org.slf4j.test_osgi.BundleTest +
  +
setUp() - +Method in class org.slf4j.VersionMismatchAssertionTest +
  +
SilentPrintStream - Class in org.slf4j
 
SilentPrintStream(PrintStream) - +Constructor for class org.slf4j.SilentPrintStream +
  +
SimpleLoggerTest - Class in org.slf4j.impl
 
SimpleLoggerTest() - +Constructor for class org.slf4j.impl.SimpleLoggerTest +
  +
SLF4JBridgeHandlerPerfTest - Class in org.slf4j.bridge
 
SLF4JBridgeHandlerPerfTest(String) - +Constructor for class org.slf4j.bridge.SLF4JBridgeHandlerPerfTest +
  +
SLF4JBridgeHandlerTest - Class in org.slf4j.bridge
 
SLF4JBridgeHandlerTest(String) - +Constructor for class org.slf4j.bridge.SLF4JBridgeHandlerTest +
  +
slf4jMessageFormatter_OneArg(long) - +Method in class org.slf4j.helpers.MessageFormatterPerfTest +
  +
slf4jMessageFormatter_TwoArg(long) - +Method in class org.slf4j.helpers.MessageFormatterPerfTest +
  +
SortAndPruneComposites - Class in org.slf4j.profiler
 
SortAndPruneComposites(int[]) - +Constructor for class org.slf4j.profiler.SortAndPruneComposites +
  +
sortAndPruneComposites() - +Method in class org.slf4j.profiler.SortAndPruneComposites +
  +
start(BundleContext) - +Method in class integrator.Activator +
  +
stop(BundleContext) - +Method in class integrator.Activator +
  +
stop() - +Method in class org.slf4j.test_osgi.FelixHost +
  +
StringPrintStream - Class in org.slf4j
 
StringPrintStream(PrintStream) - +Constructor for class org.slf4j.StringPrintStream +
  +
suite() - +Static method in class org.slf4j.cal10n_dummy.PackageTest +
  +
suite() - +Static method in class org.slf4j.dummyExt.PackageTest +
  +
suite() - +Static method in class org.slf4j.profiler.PackageTest +
  +
+
+

+T

+
+
tearDown() - +Method in class org.apache.commons.logging.impl.SerializationTest +
  +
tearDown() - +Method in class org.apache.log4j.NDCTest +
  +
tearDown() - +Method in class org.slf4j.bridge.SLF4JBridgeHandlerPerfTest +
  +
tearDown() - +Method in class org.slf4j.bridge.SLF4JBridgeHandlerTest +
  +
tearDown() - +Method in class org.slf4j.cal10n_dummy.LocLoggerTest +
  +
tearDown() - +Method in class org.slf4j.CompatibilityAssertionTest +
  +
tearDown() - +Method in class org.slf4j.dummyExt.EventLoggerTest +
  +
tearDown() - +Method in class org.slf4j.dummyExt.MDCStrLookupTest +
  +
tearDown() - +Method in class org.slf4j.dummyExt.XLoggerTest +
  +
tearDown() - +Method in class org.slf4j.helpers.MessageFormatterPerfTest +
  +
tearDown() - +Method in class org.slf4j.impl.JDK14AdapterLoggerNameTest +
  +
tearDown() - +Method in class org.slf4j.impl.PerfTest +
  +
tearDown() - +Method in class org.slf4j.impl.RecursiveInitializationTest +
  +
tearDown() - +Method in class org.slf4j.IncompatibleMultiBindingAssertionTest +
  +
tearDown() - +Method in class org.slf4j.InvocationTest +
  +
tearDown() - +Method in class org.slf4j.MissingSingletonMethodAssertionTest +
  +
tearDown() - +Method in class org.slf4j.MultiBindingAssertionTest +
  +
tearDown() - +Method in class org.slf4j.NDCTest +
  +
tearDown() - +Method in class org.slf4j.profiler.UtilTest +
  +
tearDown() - +Method in class org.slf4j.test_osgi.BundleTest +
  +
tearDown() - +Method in class org.slf4j.VersionMismatchAssertionTest +
  +
test() - +Method in class org.dummy.Bug139 +
  +
test() - +Method in class org.slf4j.CompatibilityAssertionTest +
  +
test() - +Method in class org.slf4j.IncompatibleMultiBindingAssertionTest +
  +
test() - +Method in class org.slf4j.MissingSingletonMethodAssertionTest +
  +
test() - +Method in class org.slf4j.MultiBindingAssertionTest +
  +
test() - +Method in class org.slf4j.VersionMismatchAssertionTest +
  +
test1() - +Method in class org.slf4j.InvocationTest +
  +
test2() - +Method in class org.slf4j.InvocationTest +
  +
testAddRemove() - +Method in class org.slf4j.BasicMarkerTest +
  +
testArrayFormat() - +Method in class org.slf4j.helpers.MessageFormatterTest +
  +
testArrayThrowable() - +Method in class org.slf4j.helpers.MessageFormatterTest +
  +
testArrayValues() - +Method in class org.slf4j.helpers.MessageFormatterTest +
  +
testBasicProfiling() - +Method in class org.slf4j.profiler.ProfilerTest +
  +
testBug131() - +Method in class org.dummy.Bug131 +
  +
testBug72() - +Method in class org.slf4j.impl.PerfTest +
  +
testCanLoggerBeSerialized() - +Method in class org.slf4j.issue.LoggerSerializationTest +
  +
testCaught() - +Method in class org.slf4j.dummyExt.XLoggerTest +
  +
testClear() - +Method in class org.apache.log4j.NDCTest +
  +
testComposite() - +Method in class org.slf4j.BasicMarkerTest +
  +
testCompositeByName() - +Method in class org.slf4j.BasicMarkerTest +
  +
testCyclicArrays() - +Method in class org.slf4j.helpers.MessageFormatterTest +
  +
testEmpty() - +Method in class org.slf4j.helpers.BubbleSortTest +
  +
testEmpty() - +Method in class org.slf4j.NDCTest +
  +
testEntering() - +Method in class org.slf4j.dummyExt.XLoggerTest +
  +
testEventLogger() - +Method in class org.slf4j.dummyExt.EventLoggerTest +
  +
testExceptionIn_toString() - +Method in class org.slf4j.helpers.MessageFormatterTest +
  +
testExiting() - +Method in class org.slf4j.dummyExt.XLoggerTest +
  +
testHomonyms() - +Method in class org.slf4j.BasicMarkerTest +
  +
testIndirectRecursion() - +Method in class org.slf4j.BasicMarkerTest +
  +
testInverted() - +Method in class org.slf4j.helpers.BubbleSortTest +
  +
testIsEnabledAPI() - +Method in class org.apache.commons.logging.InvokeJCLTest +
  +
testLevels() - +Method in class org.slf4j.bridge.SLF4JBridgeHandlerTest +
  +
testLocationAware() - +Method in class org.apache.commons.logging.impl.SerializationTest +
  +
testLocationExtraction_Bug114() - +Method in class org.slf4j.dummyExt.XLoggerTest +
  +
testLog4j() - +Method in class org.slf4j.impl.RecursiveInitializationTest +
  +
testLogger() - +Method in class org.slf4j.NoBindingTest +
  +
testLoggerNameusingJdkLogging() - +Method in class org.slf4j.impl.JDK14AdapterLoggerNameTest +
  +
testLoggerNameUsingSlf4j() - +Method in class org.slf4j.impl.JDK14AdapterLoggerNameTest +
  +
testLogWithPlaceholderNoParameters() - +Method in class org.slf4j.bridge.SLF4JBridgeHandlerTest +
  +
testLogWithResourceBundle() - +Method in class org.slf4j.bridge.SLF4JBridgeHandlerTest +
  +
testLogWithResourceBundleWithParameters() - +Method in class org.slf4j.bridge.SLF4JBridgeHandlerTest +
  +
testLookup() - +Method in class org.slf4j.dummyExt.MDCStrLookupTest +
  +
testMarker() - +Method in class org.slf4j.InvocationTest +
  +
testMarker() - +Method in class org.slf4j.NoBindingTest +
  +
testMDC() - +Method in class org.slf4j.InvocationTest +
  +
testMDC() - +Method in class org.slf4j.NoBindingTest +
  +
testMultiAdd() - +Method in class org.slf4j.BasicMarkerTest +
  +
testMultiComposite() - +Method in class org.slf4j.BasicMarkerTest +
  +
testMultiCompositeByName() - +Method in class org.slf4j.BasicMarkerTest +
  +
testMultiDimensionalArrayValues() - +Method in class org.slf4j.helpers.MessageFormatterTest +
  +
testNestedProfiling() - +Method in class org.slf4j.profiler.ProfilerTest +
  +
testNull() - +Method in class org.slf4j.helpers.MessageFormatterTest +
  +
testNull() - +Method in class org.slf4j.InvocationTest +
  +
testNullArray() - +Method in class org.slf4j.helpers.MessageFormatterTest +
  +
testNullParam() - +Method in class org.slf4j.helpers.MessageFormatterTest +
  +
testNullParameter_BUG78() - +Method in class org.slf4j.InvocationTest +
  +
testOneParameter() - +Method in class org.slf4j.helpers.MessageFormatterTest +
  +
testPerf() - +Method in class org.slf4j.bridge.SLF4JBridgeHandlerPerfTest +
  +
testPop() - +Method in class org.apache.log4j.NDCTest +
  +
testPrimitive() - +Method in class org.slf4j.BasicMarkerTest +
  +
testPrimitiveByName() - +Method in class org.slf4j.BasicMarkerTest +
  +
testPrintAPI() - +Method in class org.apache.commons.logging.InvokeJCLTest +
  +
testRandom() - +Method in class org.slf4j.helpers.BubbleSortTest +
  +
testRenderer() - +Method in class org.slf4j.instrumentation.ToStringHelperTest +
  +
testSelectDurationUnitForDisplay() - +Method in class org.slf4j.profiler.UtilTest +
  +
testSelfRecursion() - +Method in class org.slf4j.BasicMarkerTest +
  +
testSLF4JLog() - +Method in class org.apache.commons.logging.impl.SerializationTest +
  +
testSLF4JPerf_OneArg() - +Method in class org.slf4j.helpers.MessageFormatterPerfTest +
  +
testSLF4JPerf_TwoArg() - +Method in class org.slf4j.helpers.MessageFormatterPerfTest +
  +
testSmoke() - +Method in class org.apache.commons.logging.impl.SerializationTest +
  +
testSmoke() - +Method in class org.apache.log4j.NDCTest +
  +
testSmoke() - +Method in class org.apache.log4j.Trivial +
  +
testSmoke() - +Method in class org.slf4j.bridge.SLF4JBridgeHandlerTest +
  +
testSmoke() - +Method in class org.slf4j.cal10n_dummy.LocLoggerTest +
  +
testSmoke() - +Method in class org.slf4j.helpers.BubbleSortTest +
  +
testSmoke() - +Method in class org.slf4j.NDCTest +
  +
testSmoke() - +Method in class org.slf4j.profiler.ProfilerTest +
  +
testSmoke() - +Method in class org.slf4j.test_osgi.BundleTest +
  +
testSmoke2() - +Method in class org.slf4j.NDCTest +
  +
testSorted() - +Method in class org.slf4j.helpers.BubbleSortTest +
  +
testThrowing() - +Method in class org.slf4j.dummyExt.XLoggerTest +
  +
testTwoParameters() - +Method in class org.slf4j.helpers.MessageFormatterTest +
  +
testWithSameEntry() - +Method in class org.slf4j.helpers.BubbleSortTest +
  +
ToStringHelperTest - Class in org.slf4j.instrumentation
 
ToStringHelperTest() - +Constructor for class org.slf4j.instrumentation.ToStringHelperTest +
  +
Trivial - Class in org.apache.log4j
 
Trivial() - +Constructor for class org.apache.log4j.Trivial +
  +
+
+

+U

+
+
UtilTest - Class in org.slf4j.profiler
 
UtilTest(String) - +Constructor for class org.slf4j.profiler.UtilTest +
  +
+
+

+V

+
+
valueOf(String) - +Static method in enum org.slf4j.cal10n_dummy.Months +
Returns the enum constant of this type with the specified name. +
valueOf(String) - +Static method in enum org.slf4j.cal10n_dummy.Production +
Returns the enum constant of this type with the specified name. +
values() - +Static method in enum org.slf4j.cal10n_dummy.Months +
Returns an array containing the constants of this enum type, in +the order they are declared. +
values() - +Static method in enum org.slf4j.cal10n_dummy.Production +
Returns an array containing the constants of this enum type, in +the order they are declared. +
verify() - +Method in class org.apache.commons.logging.impl.SerializationTest +
  +
VersionMismatchAssertionTest - Class in org.slf4j
 
VersionMismatchAssertionTest(String) - +Constructor for class org.slf4j.VersionMismatchAssertionTest +
  +
+
+

+X

+
+
XLoggerTest - Class in org.slf4j.dummyExt
 
XLoggerTest(String) - +Constructor for class org.slf4j.dummyExt.XLoggerTest +
  +
XtestJDKFormatterPerf() - +Method in class org.slf4j.helpers.MessageFormatterPerfTest +
  +
+
+A B C D E F G I J L M N O P R S T U V X + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/index.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/index.html new file mode 100644 index 0000000..aace918 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/index.html @@ -0,0 +1,40 @@ + + + + + + + +SLF4J 1.7.5 Test API + + + + + + + + + + + +<H2> +Frame Alert</H2> + +<P> +This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. +<BR> +Link to<A HREF="overview-summary.html">Non-frame version.</A> + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/integrator/Activator.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/integrator/Activator.html new file mode 100644 index 0000000..24d9148 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/integrator/Activator.html @@ -0,0 +1,311 @@ + + + + + + + +Activator (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +integrator +
+Class Activator

+
+java.lang.Object
+  extended by integrator.Activator
+
+
+
All Implemented Interfaces:
org.osgi.framework.BundleActivator
+
+
+
+
public class Activator
extends Object
implements org.osgi.framework.BundleActivator
+ + +

+A BundleActivator which invokes slf4j loggers +

+ +

+

+
Author:
+
Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + +
+Constructor Summary
Activator() + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ org.osgi.framework.Bundle[]getBundles() + +
+           
+ voidstart(org.osgi.framework.BundleContext context) + +
+           
+ voidstop(org.osgi.framework.BundleContext context) + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+Activator

+
+public Activator()
+
+
+ + + + + + + + +
+Method Detail
+ +

+start

+
+public void start(org.osgi.framework.BundleContext context)
+
+
+
Specified by:
start in interface org.osgi.framework.BundleActivator
+
+
+
+
+
+
+ +

+stop

+
+public void stop(org.osgi.framework.BundleContext context)
+
+
+
Specified by:
stop in interface org.osgi.framework.BundleActivator
+
+
+
+
+
+
+ +

+getBundles

+
+public org.osgi.framework.Bundle[] getBundles()
+
+
+
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/integrator/class-use/Activator.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/integrator/class-use/Activator.html new file mode 100644 index 0000000..fbf3f64 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/integrator/class-use/Activator.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class integrator.Activator (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
integrator.Activator

+
+No usage of integrator.Activator +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/integrator/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/integrator/package-frame.html new file mode 100644 index 0000000..e23c839 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/integrator/package-frame.html @@ -0,0 +1,33 @@ + + + + + + + +integrator (SLF4J 1.7.5 Test API) + + + + + + + + + + + +integrator + + + + +
+Classes  + +
+Activator
+ + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/integrator/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/integrator/package-summary.html new file mode 100644 index 0000000..4c91587 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/integrator/package-summary.html @@ -0,0 +1,158 @@ + + + + + + + +integrator (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+

+Package integrator +

+ + + + + + + + + +
+Class Summary
ActivatorA BundleActivator which invokes slf4j loggers
+  + +

+

+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/integrator/package-tree.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/integrator/package-tree.html new file mode 100644 index 0000000..7ed8da4 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/integrator/package-tree.html @@ -0,0 +1,155 @@ + + + + + + + +integrator Class Hierarchy (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For Package integrator +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+
    +
  • java.lang.Object
      +
    • integrator.Activator (implements org.osgi.framework.BundleActivator) +
    +
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/integrator/package-use.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/integrator/package-use.html new file mode 100644 index 0000000..ecb3991 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/integrator/package-use.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Package integrator (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Package
integrator

+
+No usage of integrator +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/commons/logging/InvokeJCLTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/commons/logging/InvokeJCLTest.html new file mode 100644 index 0000000..ffad36e --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/commons/logging/InvokeJCLTest.html @@ -0,0 +1,295 @@ + + + + + + + +InvokeJCLTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.apache.commons.logging +
+Class InvokeJCLTest

+
+java.lang.Object
+  extended by junit.framework.Assert
+      extended by junit.framework.TestCase
+          extended by org.apache.commons.logging.InvokeJCLTest
+
+
+
All Implemented Interfaces:
junit.framework.Test
+
+
+
+
public class InvokeJCLTest
extends junit.framework.TestCase
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
InvokeJCLTest() + +
+           
+  + + + + + + + + + + + + + + + +
+Method Summary
+ voidtestIsEnabledAPI() + +
+           
+ voidtestPrintAPI() + +
+           
+ + + + + + + +
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString
+ + + + + + + +
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+InvokeJCLTest

+
+public InvokeJCLTest()
+
+
+ + + + + + + + +
+Method Detail
+ +

+testIsEnabledAPI

+
+public void testIsEnabledAPI()
+
+
+
+
+
+
+ +

+testPrintAPI

+
+public void testPrintAPI()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/commons/logging/class-use/InvokeJCLTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/commons/logging/class-use/InvokeJCLTest.html new file mode 100644 index 0000000..fa41dc0 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/commons/logging/class-use/InvokeJCLTest.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.apache.commons.logging.InvokeJCLTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.apache.commons.logging.InvokeJCLTest

+
+No usage of org.apache.commons.logging.InvokeJCLTest +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/commons/logging/impl/SerializationTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/commons/logging/impl/SerializationTest.html new file mode 100644 index 0000000..f3c2a92 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/commons/logging/impl/SerializationTest.html @@ -0,0 +1,397 @@ + + + + + + + +SerializationTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.apache.commons.logging.impl +
+Class SerializationTest

+
+java.lang.Object
+  extended by junit.framework.Assert
+      extended by junit.framework.TestCase
+          extended by org.apache.commons.logging.impl.SerializationTest
+
+
+
All Implemented Interfaces:
junit.framework.Test
+
+
+
+
public class SerializationTest
extends junit.framework.TestCase
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
SerializationTest(String name) + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+protected  voidsetUp() + +
+           
+protected  voidtearDown() + +
+           
+ voidtestLocationAware() + +
+           
+ voidtestSLF4JLog() + +
+           
+ voidtestSmoke() + +
+           
+ voidverify() + +
+           
+ + + + + + + +
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, toString
+ + + + + + + +
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+SerializationTest

+
+public SerializationTest(String name)
+
+
+ + + + + + + + +
+Method Detail
+ +

+setUp

+
+protected void setUp()
+              throws Exception
+
+
+
Overrides:
setUp in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+tearDown

+
+protected void tearDown()
+                 throws Exception
+
+
+
Overrides:
tearDown in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+verify

+
+public void verify()
+            throws IOException,
+                   ClassNotFoundException
+
+
+ +
Throws: +
IOException +
ClassNotFoundException
+
+
+
+ +

+testSLF4JLog

+
+public void testSLF4JLog()
+                  throws Exception
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+testSmoke

+
+public void testSmoke()
+               throws Exception
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+testLocationAware

+
+public void testLocationAware()
+                       throws Exception
+
+
+ +
Throws: +
Exception
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/commons/logging/impl/class-use/SerializationTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/commons/logging/impl/class-use/SerializationTest.html new file mode 100644 index 0000000..c251c08 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/commons/logging/impl/class-use/SerializationTest.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.apache.commons.logging.impl.SerializationTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.apache.commons.logging.impl.SerializationTest

+
+No usage of org.apache.commons.logging.impl.SerializationTest +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/commons/logging/impl/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/commons/logging/impl/package-frame.html new file mode 100644 index 0000000..2d5c24b --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/commons/logging/impl/package-frame.html @@ -0,0 +1,33 @@ + + + + + + + +org.apache.commons.logging.impl (SLF4J 1.7.5 Test API) + + + + + + + + + + + +org.apache.commons.logging.impl + + + + +
+Classes  + +
+SerializationTest
+ + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/commons/logging/impl/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/commons/logging/impl/package-summary.html new file mode 100644 index 0000000..221c825 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/commons/logging/impl/package-summary.html @@ -0,0 +1,158 @@ + + + + + + + +org.apache.commons.logging.impl (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+

+Package org.apache.commons.logging.impl +

+ + + + + + + + + +
+Class Summary
SerializationTest 
+  + +

+

+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/commons/logging/impl/package-tree.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/commons/logging/impl/package-tree.html new file mode 100644 index 0000000..ef9b4df --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/commons/logging/impl/package-tree.html @@ -0,0 +1,159 @@ + + + + + + + +org.apache.commons.logging.impl Class Hierarchy (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For Package org.apache.commons.logging.impl +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+
    +
  • java.lang.Object
      +
    • junit.framework.Assert
        +
      • junit.framework.TestCase (implements junit.framework.Test) + +
      +
    +
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/commons/logging/impl/package-use.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/commons/logging/impl/package-use.html new file mode 100644 index 0000000..dad8f72 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/commons/logging/impl/package-use.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Package org.apache.commons.logging.impl (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Package
org.apache.commons.logging.impl

+
+No usage of org.apache.commons.logging.impl +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/commons/logging/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/commons/logging/package-frame.html new file mode 100644 index 0000000..86a378c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/commons/logging/package-frame.html @@ -0,0 +1,33 @@ + + + + + + + +org.apache.commons.logging (SLF4J 1.7.5 Test API) + + + + + + + + + + + +org.apache.commons.logging + + + + +
+Classes  + +
+InvokeJCLTest
+ + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/commons/logging/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/commons/logging/package-summary.html new file mode 100644 index 0000000..f09244e --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/commons/logging/package-summary.html @@ -0,0 +1,158 @@ + + + + + + + +org.apache.commons.logging (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+

+Package org.apache.commons.logging +

+ + + + + + + + + +
+Class Summary
InvokeJCLTest 
+  + +

+

+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/commons/logging/package-tree.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/commons/logging/package-tree.html new file mode 100644 index 0000000..a19fbfb --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/commons/logging/package-tree.html @@ -0,0 +1,159 @@ + + + + + + + +org.apache.commons.logging Class Hierarchy (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For Package org.apache.commons.logging +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+
    +
  • java.lang.Object
      +
    • junit.framework.Assert
        +
      • junit.framework.TestCase (implements junit.framework.Test) + +
      +
    +
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/commons/logging/package-use.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/commons/logging/package-use.html new file mode 100644 index 0000000..b862e1e --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/commons/logging/package-use.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Package org.apache.commons.logging (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Package
org.apache.commons.logging

+
+No usage of org.apache.commons.logging +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/log4j/NDCTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/log4j/NDCTest.html new file mode 100644 index 0000000..65a2eaa --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/log4j/NDCTest.html @@ -0,0 +1,362 @@ + + + + + + + +NDCTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.apache.log4j +
+Class NDCTest

+
+java.lang.Object
+  extended by junit.framework.Assert
+      extended by junit.framework.TestCase
+          extended by org.apache.log4j.NDCTest
+
+
+
All Implemented Interfaces:
junit.framework.Test
+
+
+
+
public class NDCTest
extends junit.framework.TestCase
+ + +

+

+
Author:
+
Ceki Gücü
+
+
+ +

+ + + + + + + + + + + +
+Constructor Summary
NDCTest() + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidsetUp() + +
+           
+ voidtearDown() + +
+           
+ voidtestClear() + +
+           
+ voidtestPop() + +
+           
+ voidtestSmoke() + +
+           
+ + + + + + + +
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, toString
+ + + + + + + +
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+NDCTest

+
+public NDCTest()
+
+
+ + + + + + + + +
+Method Detail
+ +

+setUp

+
+public void setUp()
+
+
+
Overrides:
setUp in class junit.framework.TestCase
+
+
+
+
+
+
+ +

+tearDown

+
+public void tearDown()
+
+
+
Overrides:
tearDown in class junit.framework.TestCase
+
+
+
+
+
+
+ +

+testSmoke

+
+public void testSmoke()
+
+
+
+
+
+
+ +

+testPop

+
+public void testPop()
+
+
+
+
+
+
+ +

+testClear

+
+public void testClear()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/log4j/Trivial.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/log4j/Trivial.html new file mode 100644 index 0000000..0746fbd --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/log4j/Trivial.html @@ -0,0 +1,276 @@ + + + + + + + +Trivial (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.apache.log4j +
+Class Trivial

+
+java.lang.Object
+  extended by junit.framework.Assert
+      extended by junit.framework.TestCase
+          extended by org.apache.log4j.Trivial
+
+
+
All Implemented Interfaces:
junit.framework.Test
+
+
+
+
public class Trivial
extends junit.framework.TestCase
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
Trivial() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+ voidtestSmoke() + +
+           
+ + + + + + + +
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString
+ + + + + + + +
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+Trivial

+
+public Trivial()
+
+
+ + + + + + + + +
+Method Detail
+ +

+testSmoke

+
+public void testSmoke()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/log4j/class-use/NDCTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/log4j/class-use/NDCTest.html new file mode 100644 index 0000000..31d3b4d --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/log4j/class-use/NDCTest.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.apache.log4j.NDCTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.apache.log4j.NDCTest

+
+No usage of org.apache.log4j.NDCTest +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/log4j/class-use/Trivial.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/log4j/class-use/Trivial.html new file mode 100644 index 0000000..8955e0c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/log4j/class-use/Trivial.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.apache.log4j.Trivial (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.apache.log4j.Trivial

+
+No usage of org.apache.log4j.Trivial +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/log4j/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/log4j/package-frame.html new file mode 100644 index 0000000..cf7203f --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/log4j/package-frame.html @@ -0,0 +1,35 @@ + + + + + + + +org.apache.log4j (SLF4J 1.7.5 Test API) + + + + + + + + + + + +org.apache.log4j + + + + +
+Classes  + +
+NDCTest +
+Trivial
+ + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/log4j/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/log4j/package-summary.html new file mode 100644 index 0000000..df4a305 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/log4j/package-summary.html @@ -0,0 +1,162 @@ + + + + + + + +org.apache.log4j (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+

+Package org.apache.log4j +

+ + + + + + + + + + + + + +
+Class Summary
NDCTest 
Trivial 
+  + +

+

+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/log4j/package-tree.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/log4j/package-tree.html new file mode 100644 index 0000000..63f9713 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/log4j/package-tree.html @@ -0,0 +1,159 @@ + + + + + + + +org.apache.log4j Class Hierarchy (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For Package org.apache.log4j +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+
    +
  • java.lang.Object
      +
    • junit.framework.Assert
        +
      • junit.framework.TestCase (implements junit.framework.Test) + +
      +
    +
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/log4j/package-use.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/log4j/package-use.html new file mode 100644 index 0000000..bbd7551 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/apache/log4j/package-use.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Package org.apache.log4j (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Package
org.apache.log4j

+
+No usage of org.apache.log4j +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/dummy/Bug131.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/dummy/Bug131.html new file mode 100644 index 0000000..0d0f960 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/dummy/Bug131.html @@ -0,0 +1,276 @@ + + + + + + + +Bug131 (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.dummy +
+Class Bug131

+
+java.lang.Object
+  extended by junit.framework.Assert
+      extended by junit.framework.TestCase
+          extended by org.dummy.Bug131
+
+
+
All Implemented Interfaces:
junit.framework.Test
+
+
+
+
public class Bug131
extends junit.framework.TestCase
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
Bug131() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+ voidtestBug131() + +
+           
+ + + + + + + +
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString
+ + + + + + + +
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+Bug131

+
+public Bug131()
+
+
+ + + + + + + + +
+Method Detail
+ +

+testBug131

+
+public void testBug131()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/dummy/Bug139.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/dummy/Bug139.html new file mode 100644 index 0000000..8db7125 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/dummy/Bug139.html @@ -0,0 +1,276 @@ + + + + + + + +Bug139 (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.dummy +
+Class Bug139

+
+java.lang.Object
+  extended by junit.framework.Assert
+      extended by junit.framework.TestCase
+          extended by org.dummy.Bug139
+
+
+
All Implemented Interfaces:
junit.framework.Test
+
+
+
+
public class Bug139
extends junit.framework.TestCase
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
Bug139() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+ voidtest() + +
+           
+ + + + + + + +
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString
+ + + + + + + +
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+Bug139

+
+public Bug139()
+
+
+ + + + + + + + +
+Method Detail
+ +

+test

+
+public void test()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/dummy/ListHandler.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/dummy/ListHandler.html new file mode 100644 index 0000000..a498cc6 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/dummy/ListHandler.html @@ -0,0 +1,313 @@ + + + + + + + +ListHandler (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.dummy +
+Class ListHandler

+
+java.lang.Object
+  extended by java.util.logging.Handler
+      extended by org.dummy.ListHandler
+
+
+
+
public class ListHandler
extends Handler
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
ListHandler() + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidclose() + +
+           
+ voidflush() + +
+           
+ voidpublish(LogRecord logRecord) + +
+           
+ + + + + + + +
Methods inherited from class java.util.logging.Handler
getEncoding, getErrorManager, getFilter, getFormatter, getLevel, isLoggable, reportError, setEncoding, setErrorManager, setFilter, setFormatter, setLevel
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+ListHandler

+
+public ListHandler()
+
+
+ + + + + + + + +
+Method Detail
+ +

+close

+
+public void close()
+           throws SecurityException
+
+
+
Specified by:
close in class Handler
+
+
+ +
Throws: +
SecurityException
+
+
+
+ +

+flush

+
+public void flush()
+
+
+
Specified by:
flush in class Handler
+
+
+
+
+
+
+ +

+publish

+
+public void publish(LogRecord logRecord)
+
+
+
Specified by:
publish in class Handler
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/dummy/class-use/Bug131.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/dummy/class-use/Bug131.html new file mode 100644 index 0000000..e189992 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/dummy/class-use/Bug131.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.dummy.Bug131 (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.dummy.Bug131

+
+No usage of org.dummy.Bug131 +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/dummy/class-use/Bug139.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/dummy/class-use/Bug139.html new file mode 100644 index 0000000..723e07b --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/dummy/class-use/Bug139.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.dummy.Bug139 (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.dummy.Bug139

+
+No usage of org.dummy.Bug139 +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/dummy/class-use/ListHandler.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/dummy/class-use/ListHandler.html new file mode 100644 index 0000000..d23ef70 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/dummy/class-use/ListHandler.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.dummy.ListHandler (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.dummy.ListHandler

+
+No usage of org.dummy.ListHandler +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/dummy/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/dummy/package-frame.html new file mode 100644 index 0000000..04483c8 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/dummy/package-frame.html @@ -0,0 +1,37 @@ + + + + + + + +org.dummy (SLF4J 1.7.5 Test API) + + + + + + + + + + + +org.dummy + + + + +
+Classes  + +
+Bug131 +
+Bug139 +
+ListHandler
+ + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/dummy/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/dummy/package-summary.html new file mode 100644 index 0000000..d981abb --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/dummy/package-summary.html @@ -0,0 +1,166 @@ + + + + + + + +org.dummy (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+

+Package org.dummy +

+ + + + + + + + + + + + + + + + + +
+Class Summary
Bug131 
Bug139 
ListHandler 
+  + +

+

+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/dummy/package-tree.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/dummy/package-tree.html new file mode 100644 index 0000000..e06bf69 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/dummy/package-tree.html @@ -0,0 +1,161 @@ + + + + + + + +org.dummy Class Hierarchy (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For Package org.dummy +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+
    +
  • java.lang.Object
      +
    • junit.framework.Assert
        +
      • junit.framework.TestCase (implements junit.framework.Test) + +
      +
    • java.util.logging.Handler +
    +
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/dummy/package-use.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/dummy/package-use.html new file mode 100644 index 0000000..115ec8e --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/dummy/package-use.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Package org.dummy (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Package
org.dummy

+
+No usage of org.dummy +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/BasicMarkerTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/BasicMarkerTest.html new file mode 100644 index 0000000..73c13be --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/BasicMarkerTest.html @@ -0,0 +1,474 @@ + + + + + + + +BasicMarkerTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j +
+Class BasicMarkerTest

+
+java.lang.Object
+  extended by junit.framework.Assert
+      extended by junit.framework.TestCase
+          extended by org.slf4j.BasicMarkerTest
+
+
+
All Implemented Interfaces:
junit.framework.Test
+
+
+
+
public class BasicMarkerTest
extends junit.framework.TestCase
+ + +

+Unit test BasicMarker +

+ +

+

+
Author:
+
Ceki Gülcü, Joern Huxhorn
+
+
+ +

+ + + + + + + + + + + +
+Constructor Summary
BasicMarkerTest() + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidtestAddRemove() + +
+           
+ voidtestComposite() + +
+           
+ voidtestCompositeByName() + +
+           
+ voidtestHomonyms() + +
+           
+ voidtestIndirectRecursion() + +
+           
+ voidtestMultiAdd() + +
+           
+ voidtestMultiComposite() + +
+           
+ voidtestMultiCompositeByName() + +
+           
+ voidtestPrimitive() + +
+           
+ voidtestPrimitiveByName() + +
+           
+ voidtestSelfRecursion() + +
+           
+ + + + + + + +
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString
+ + + + + + + +
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+BasicMarkerTest

+
+public BasicMarkerTest()
+
+
+ + + + + + + + +
+Method Detail
+ +

+testPrimitive

+
+public void testPrimitive()
+
+
+
+
+
+
+ +

+testPrimitiveByName

+
+public void testPrimitiveByName()
+
+
+
+
+
+
+ +

+testComposite

+
+public void testComposite()
+
+
+
+
+
+
+ +

+testCompositeByName

+
+public void testCompositeByName()
+
+
+
+
+
+
+ +

+testMultiComposite

+
+public void testMultiComposite()
+
+
+
+
+
+
+ +

+testMultiCompositeByName

+
+public void testMultiCompositeByName()
+
+
+
+
+
+
+ +

+testMultiAdd

+
+public void testMultiAdd()
+
+
+
+
+
+
+ +

+testAddRemove

+
+public void testAddRemove()
+
+
+
+
+
+
+ +

+testSelfRecursion

+
+public void testSelfRecursion()
+
+
+
+
+
+
+ +

+testIndirectRecursion

+
+public void testIndirectRecursion()
+
+
+
+
+
+
+ +

+testHomonyms

+
+public void testHomonyms()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/CompatibilityAssertionTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/CompatibilityAssertionTest.html new file mode 100644 index 0000000..e9c4ca0 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/CompatibilityAssertionTest.html @@ -0,0 +1,329 @@ + + + + + + + +CompatibilityAssertionTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j +
+Class CompatibilityAssertionTest

+
+java.lang.Object
+  extended by junit.framework.Assert
+      extended by junit.framework.TestCase
+          extended by org.slf4j.CompatibilityAssertionTest
+
+
+
All Implemented Interfaces:
junit.framework.Test
+
+
+
+
public class CompatibilityAssertionTest
extends junit.framework.TestCase
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
CompatibilityAssertionTest(String name) + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+protected  voidsetUp() + +
+           
+protected  voidtearDown() + +
+           
+ voidtest() + +
+           
+ + + + + + + +
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, toString
+ + + + + + + +
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+CompatibilityAssertionTest

+
+public CompatibilityAssertionTest(String name)
+
+
+ + + + + + + + +
+Method Detail
+ +

+setUp

+
+protected void setUp()
+              throws Exception
+
+
+
Overrides:
setUp in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+tearDown

+
+protected void tearDown()
+                 throws Exception
+
+
+
Overrides:
tearDown in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+test

+
+public void test()
+          throws Exception
+
+
+ +
Throws: +
Exception
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/Differentiator.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/Differentiator.html new file mode 100644 index 0000000..3d8ad4a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/Differentiator.html @@ -0,0 +1,253 @@ + + + + + + + +Differentiator (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j +
+Class Differentiator

+
+java.lang.Object
+  extended by org.slf4j.Differentiator
+
+
+
+
public class Differentiator
extends Object
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
Differentiator() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+static shortgetDiffentiator() + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+Differentiator

+
+public Differentiator()
+
+
+ + + + + + + + +
+Method Detail
+ +

+getDiffentiator

+
+public static short getDiffentiator()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/IncompatibleMultiBindingAssertionTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/IncompatibleMultiBindingAssertionTest.html new file mode 100644 index 0000000..f82dc42 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/IncompatibleMultiBindingAssertionTest.html @@ -0,0 +1,329 @@ + + + + + + + +IncompatibleMultiBindingAssertionTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j +
+Class IncompatibleMultiBindingAssertionTest

+
+java.lang.Object
+  extended by junit.framework.Assert
+      extended by junit.framework.TestCase
+          extended by org.slf4j.IncompatibleMultiBindingAssertionTest
+
+
+
All Implemented Interfaces:
junit.framework.Test
+
+
+
+
public class IncompatibleMultiBindingAssertionTest
extends junit.framework.TestCase
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
IncompatibleMultiBindingAssertionTest(String name) + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+protected  voidsetUp() + +
+           
+protected  voidtearDown() + +
+           
+ voidtest() + +
+           
+ + + + + + + +
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, toString
+ + + + + + + +
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+IncompatibleMultiBindingAssertionTest

+
+public IncompatibleMultiBindingAssertionTest(String name)
+
+
+ + + + + + + + +
+Method Detail
+ +

+setUp

+
+protected void setUp()
+              throws Exception
+
+
+
Overrides:
setUp in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+tearDown

+
+protected void tearDown()
+                 throws Exception
+
+
+
Overrides:
tearDown in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+test

+
+public void test()
+          throws Exception
+
+
+ +
Throws: +
Exception
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/InvocationTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/InvocationTest.html new file mode 100644 index 0000000..9a54347 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/InvocationTest.html @@ -0,0 +1,429 @@ + + + + + + + +InvocationTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j +
+Class InvocationTest

+
+java.lang.Object
+  extended by junit.framework.Assert
+      extended by junit.framework.TestCase
+          extended by org.slf4j.InvocationTest
+
+
+
All Implemented Interfaces:
junit.framework.Test
+
+
+
+
public class InvocationTest
extends junit.framework.TestCase
+ + +

+Test whether invoking the SLF4J API causes problems or not. +

+ +

+

+
Author:
+
Ceki Gulcu
+
+
+ +

+ + + + + + + + + + + +
+Constructor Summary
InvocationTest(String arg0) + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+protected  voidsetUp() + +
+           
+protected  voidtearDown() + +
+           
+ voidtest1() + +
+           
+ voidtest2() + +
+           
+ voidtestMarker() + +
+           
+ voidtestMDC() + +
+           
+ voidtestNull() + +
+           
+ voidtestNullParameter_BUG78() + +
+           
+ + + + + + + +
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, toString
+ + + + + + + +
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+InvocationTest

+
+public InvocationTest(String arg0)
+
+
+ + + + + + + + +
+Method Detail
+ +

+setUp

+
+protected void setUp()
+              throws Exception
+
+
+
Overrides:
setUp in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+tearDown

+
+protected void tearDown()
+                 throws Exception
+
+
+
Overrides:
tearDown in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+test1

+
+public void test1()
+
+
+
+
+
+
+ +

+test2

+
+public void test2()
+
+
+
+
+
+
+ +

+testNullParameter_BUG78

+
+public void testNullParameter_BUG78()
+
+
+
+
+
+
+ +

+testNull

+
+public void testNull()
+
+
+
+
+
+
+ +

+testMarker

+
+public void testMarker()
+
+
+
+
+
+
+ +

+testMDC

+
+public void testMDC()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/ListAppender.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/ListAppender.html new file mode 100644 index 0000000..b90a39b --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/ListAppender.html @@ -0,0 +1,379 @@ + + + + + + + +ListAppender (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j +
+Class ListAppender

+
+java.lang.Object
+  extended by org.apache.log4j.AppenderSkeleton
+      extended by org.slf4j.ListAppender
+
+
+
All Implemented Interfaces:
Appender, OptionHandler
+
+
+
+
public class ListAppender
extends AppenderSkeleton
+ + +

+


+ +

+ + + + + + + + + + + + + + + +
+Field Summary
+ booleanextractLocationInfo + +
+           
+ Listlist + +
+           
+ + + + + + + +
Fields inherited from class org.apache.log4j.AppenderSkeleton
closed, errorHandler, headFilter, layout, name, tailFilter, threshold
+  + + + + + + + + + + +
+Constructor Summary
ListAppender() + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+protected  voidappend(LoggingEvent event) + +
+           
+ voidclose() + +
+           
+ booleanrequiresLayout() + +
+           
+ + + + + + + +
Methods inherited from class org.apache.log4j.AppenderSkeleton
activateOptions, addFilter, clearFilters, doAppend, finalize, getErrorHandler, getFilter, getFirstFilter, getLayout, getName, getThreshold, isAsSevereAsThreshold, setErrorHandler, setLayout, setName, setThreshold
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+ + + + + + + +
Methods inherited from interface org.apache.log4j.Appender
setLayout
+  +

+ + + + + + + + +
+Field Detail
+ +

+list

+
+public List list
+
+
+
+
+
+ +

+extractLocationInfo

+
+public boolean extractLocationInfo
+
+
+
+
+ + + + + + + + +
+Constructor Detail
+ +

+ListAppender

+
+public ListAppender()
+
+
+ + + + + + + + +
+Method Detail
+ +

+append

+
+protected void append(LoggingEvent event)
+
+
+
Specified by:
append in class AppenderSkeleton
+
+
+
+
+
+
+ +

+close

+
+public void close()
+
+
+
+
+
+
+ +

+requiresLayout

+
+public boolean requiresLayout()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/MissingSingletonMethodAssertionTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/MissingSingletonMethodAssertionTest.html new file mode 100644 index 0000000..f2b12eb --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/MissingSingletonMethodAssertionTest.html @@ -0,0 +1,329 @@ + + + + + + + +MissingSingletonMethodAssertionTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j +
+Class MissingSingletonMethodAssertionTest

+
+java.lang.Object
+  extended by junit.framework.Assert
+      extended by junit.framework.TestCase
+          extended by org.slf4j.MissingSingletonMethodAssertionTest
+
+
+
All Implemented Interfaces:
junit.framework.Test
+
+
+
+
public class MissingSingletonMethodAssertionTest
extends junit.framework.TestCase
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
MissingSingletonMethodAssertionTest(String name) + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+protected  voidsetUp() + +
+           
+protected  voidtearDown() + +
+           
+ voidtest() + +
+           
+ + + + + + + +
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, toString
+ + + + + + + +
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+MissingSingletonMethodAssertionTest

+
+public MissingSingletonMethodAssertionTest(String name)
+
+
+ + + + + + + + +
+Method Detail
+ +

+setUp

+
+protected void setUp()
+              throws Exception
+
+
+
Overrides:
setUp in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+tearDown

+
+protected void tearDown()
+                 throws Exception
+
+
+
Overrides:
tearDown in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+test

+
+public void test()
+          throws Exception
+
+
+ +
Throws: +
Exception
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/MultiBindingAssertionTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/MultiBindingAssertionTest.html new file mode 100644 index 0000000..5f4b774 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/MultiBindingAssertionTest.html @@ -0,0 +1,329 @@ + + + + + + + +MultiBindingAssertionTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j +
+Class MultiBindingAssertionTest

+
+java.lang.Object
+  extended by junit.framework.Assert
+      extended by junit.framework.TestCase
+          extended by org.slf4j.MultiBindingAssertionTest
+
+
+
All Implemented Interfaces:
junit.framework.Test
+
+
+
+
public class MultiBindingAssertionTest
extends junit.framework.TestCase
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
MultiBindingAssertionTest(String name) + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+protected  voidsetUp() + +
+           
+protected  voidtearDown() + +
+           
+ voidtest() + +
+           
+ + + + + + + +
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, toString
+ + + + + + + +
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+MultiBindingAssertionTest

+
+public MultiBindingAssertionTest(String name)
+
+
+ + + + + + + + +
+Method Detail
+ +

+setUp

+
+protected void setUp()
+              throws Exception
+
+
+
Overrides:
setUp in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+tearDown

+
+protected void tearDown()
+                 throws Exception
+
+
+
Overrides:
tearDown in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+test

+
+public void test()
+          throws Exception
+
+
+ +
Throws: +
Exception
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/NDCTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/NDCTest.html new file mode 100644 index 0000000..0edad9f --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/NDCTest.html @@ -0,0 +1,364 @@ + + + + + + + +NDCTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j +
+Class NDCTest

+
+java.lang.Object
+  extended by junit.framework.Assert
+      extended by junit.framework.TestCase
+          extended by org.slf4j.NDCTest
+
+
+
All Implemented Interfaces:
junit.framework.Test
+
+
+
+
public class NDCTest
extends junit.framework.TestCase
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
NDCTest() + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+protected  voidsetUp() + +
+           
+protected  voidtearDown() + +
+           
+ voidtestEmpty() + +
+           
+ voidtestSmoke() + +
+           
+ voidtestSmoke2() + +
+           
+ + + + + + + +
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, toString
+ + + + + + + +
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+NDCTest

+
+public NDCTest()
+
+
+ + + + + + + + +
+Method Detail
+ +

+setUp

+
+protected void setUp()
+              throws Exception
+
+
+
Overrides:
setUp in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+tearDown

+
+protected void tearDown()
+                 throws Exception
+
+
+
Overrides:
tearDown in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+testEmpty

+
+public void testEmpty()
+
+
+
+
+
+
+ +

+testSmoke

+
+public void testSmoke()
+
+
+
+
+
+
+ +

+testSmoke2

+
+public void testSmoke2()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/NoBindingTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/NoBindingTest.html new file mode 100644 index 0000000..54b1e20 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/NoBindingTest.html @@ -0,0 +1,314 @@ + + + + + + + +NoBindingTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j +
+Class NoBindingTest

+
+java.lang.Object
+  extended by junit.framework.Assert
+      extended by junit.framework.TestCase
+          extended by org.slf4j.NoBindingTest
+
+
+
All Implemented Interfaces:
junit.framework.Test
+
+
+
+
public class NoBindingTest
extends junit.framework.TestCase
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
NoBindingTest() + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidtestLogger() + +
+           
+ voidtestMarker() + +
+           
+ voidtestMDC() + +
+           
+ + + + + + + +
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString
+ + + + + + + +
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+NoBindingTest

+
+public NoBindingTest()
+
+
+ + + + + + + + +
+Method Detail
+ +

+testLogger

+
+public void testLogger()
+
+
+
+
+
+
+ +

+testMDC

+
+public void testMDC()
+
+
+
+
+
+
+ +

+testMarker

+
+public void testMarker()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/SilentPrintStream.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/SilentPrintStream.html new file mode 100644 index 0000000..ca4fc0c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/SilentPrintStream.html @@ -0,0 +1,342 @@ + + + + + + + +SilentPrintStream (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j +
+Class SilentPrintStream

+
+java.lang.Object
+  extended by java.io.OutputStream
+      extended by java.io.FilterOutputStream
+          extended by java.io.PrintStream
+              extended by org.slf4j.SilentPrintStream
+
+
+
All Implemented Interfaces:
Closeable, Flushable, Appendable
+
+
+
+
public class SilentPrintStream
extends PrintStream
+ + +

+


+ +

+ + + + + + + +
+Field Summary
+ + + + + + + +
Fields inherited from class java.io.FilterOutputStream
out
+  + + + + + + + + + + +
+Constructor Summary
SilentPrintStream(PrintStream ps) + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidprint(String s) + +
+           
+ voidprintln(Object x) + +
+           
+ voidprintln(String s) + +
+           
+ + + + + + + +
Methods inherited from class java.io.PrintStream
append, append, append, checkError, clearError, close, flush, format, format, print, print, print, print, print, print, print, print, printf, printf, println, println, println, println, println, println, println, println, setError, write, write
+ + + + + + + +
Methods inherited from class java.io.FilterOutputStream
write
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+SilentPrintStream

+
+public SilentPrintStream(PrintStream ps)
+
+
+ + + + + + + + +
+Method Detail
+ +

+print

+
+public void print(String s)
+
+
+
Overrides:
print in class PrintStream
+
+
+
+
+
+
+ +

+println

+
+public void println(String s)
+
+
+
Overrides:
println in class PrintStream
+
+
+
+
+
+
+ +

+println

+
+public void println(Object x)
+
+
+
Overrides:
println in class PrintStream
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/StringPrintStream.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/StringPrintStream.html new file mode 100644 index 0000000..41c40bf --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/StringPrintStream.html @@ -0,0 +1,369 @@ + + + + + + + +StringPrintStream (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j +
+Class StringPrintStream

+
+java.lang.Object
+  extended by java.io.OutputStream
+      extended by java.io.FilterOutputStream
+          extended by java.io.PrintStream
+              extended by org.slf4j.StringPrintStream
+
+
+
All Implemented Interfaces:
Closeable, Flushable, Appendable
+
+
+
+
public class StringPrintStream
extends PrintStream
+ + +

+


+ +

+ + + + + + + + + + + +
+Field Summary
+static StringLINE_SEP + +
+           
+ + + + + + + +
Fields inherited from class java.io.FilterOutputStream
out
+  + + + + + + + + + + +
+Constructor Summary
StringPrintStream(PrintStream ps) + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidprint(String s) + +
+           
+ voidprintln(Object o) + +
+           
+ voidprintln(String s) + +
+           
+ + + + + + + +
Methods inherited from class java.io.PrintStream
append, append, append, checkError, clearError, close, flush, format, format, print, print, print, print, print, print, print, print, printf, printf, println, println, println, println, println, println, println, println, setError, write, write
+ + + + + + + +
Methods inherited from class java.io.FilterOutputStream
write
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Field Detail
+ +

+LINE_SEP

+
+public static final String LINE_SEP
+
+
+
+
+ + + + + + + + +
+Constructor Detail
+ +

+StringPrintStream

+
+public StringPrintStream(PrintStream ps)
+
+
+ + + + + + + + +
+Method Detail
+ +

+print

+
+public void print(String s)
+
+
+
Overrides:
print in class PrintStream
+
+
+
+
+
+
+ +

+println

+
+public void println(String s)
+
+
+
Overrides:
println in class PrintStream
+
+
+
+
+
+
+ +

+println

+
+public void println(Object o)
+
+
+
Overrides:
println in class PrintStream
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/VersionMismatchAssertionTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/VersionMismatchAssertionTest.html new file mode 100644 index 0000000..2cdde8b --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/VersionMismatchAssertionTest.html @@ -0,0 +1,329 @@ + + + + + + + +VersionMismatchAssertionTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j +
+Class VersionMismatchAssertionTest

+
+java.lang.Object
+  extended by junit.framework.Assert
+      extended by junit.framework.TestCase
+          extended by org.slf4j.VersionMismatchAssertionTest
+
+
+
All Implemented Interfaces:
junit.framework.Test
+
+
+
+
public class VersionMismatchAssertionTest
extends junit.framework.TestCase
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
VersionMismatchAssertionTest(String name) + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+protected  voidsetUp() + +
+           
+protected  voidtearDown() + +
+           
+ voidtest() + +
+           
+ + + + + + + +
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, toString
+ + + + + + + +
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+VersionMismatchAssertionTest

+
+public VersionMismatchAssertionTest(String name)
+
+
+ + + + + + + + +
+Method Detail
+ +

+setUp

+
+protected void setUp()
+              throws Exception
+
+
+
Overrides:
setUp in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+tearDown

+
+protected void tearDown()
+                 throws Exception
+
+
+
Overrides:
tearDown in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+test

+
+public void test()
+          throws Exception
+
+
+ +
Throws: +
Exception
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/bridge/ListAppender.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/bridge/ListAppender.html new file mode 100644 index 0000000..b216985 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/bridge/ListAppender.html @@ -0,0 +1,379 @@ + + + + + + + +ListAppender (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.bridge +
+Class ListAppender

+
+java.lang.Object
+  extended by org.apache.log4j.AppenderSkeleton
+      extended by org.slf4j.bridge.ListAppender
+
+
+
All Implemented Interfaces:
Appender, OptionHandler
+
+
+
+
public class ListAppender
extends AppenderSkeleton
+ + +

+


+ +

+ + + + + + + + + + + + + + + +
+Field Summary
+ booleanextractLocationInfo + +
+           
+ Listlist + +
+           
+ + + + + + + +
Fields inherited from class org.apache.log4j.AppenderSkeleton
closed, errorHandler, headFilter, layout, name, tailFilter, threshold
+  + + + + + + + + + + +
+Constructor Summary
ListAppender() + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+protected  voidappend(LoggingEvent event) + +
+           
+ voidclose() + +
+           
+ booleanrequiresLayout() + +
+           
+ + + + + + + +
Methods inherited from class org.apache.log4j.AppenderSkeleton
activateOptions, addFilter, clearFilters, doAppend, finalize, getErrorHandler, getFilter, getFirstFilter, getLayout, getName, getThreshold, isAsSevereAsThreshold, setErrorHandler, setLayout, setName, setThreshold
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+ + + + + + + +
Methods inherited from interface org.apache.log4j.Appender
setLayout
+  +

+ + + + + + + + +
+Field Detail
+ +

+list

+
+public List list
+
+
+
+
+
+ +

+extractLocationInfo

+
+public boolean extractLocationInfo
+
+
+
+
+ + + + + + + + +
+Constructor Detail
+ +

+ListAppender

+
+public ListAppender()
+
+
+ + + + + + + + +
+Method Detail
+ +

+append

+
+protected void append(LoggingEvent event)
+
+
+
Specified by:
append in class AppenderSkeleton
+
+
+
+
+
+
+ +

+close

+
+public void close()
+
+
+
+
+
+
+ +

+requiresLayout

+
+public boolean requiresLayout()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/bridge/SLF4JBridgeHandlerPerfTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/bridge/SLF4JBridgeHandlerPerfTest.html new file mode 100644 index 0000000..5757202 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/bridge/SLF4JBridgeHandlerPerfTest.html @@ -0,0 +1,326 @@ + + + + + + + +SLF4JBridgeHandlerPerfTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.bridge +
+Class SLF4JBridgeHandlerPerfTest

+
+java.lang.Object
+  extended by junit.framework.Assert
+      extended by junit.framework.TestCase
+          extended by org.slf4j.bridge.SLF4JBridgeHandlerPerfTest
+
+
+
All Implemented Interfaces:
junit.framework.Test
+
+
+
+
public class SLF4JBridgeHandlerPerfTest
extends junit.framework.TestCase
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
SLF4JBridgeHandlerPerfTest(String arg0) + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+protected  voidsetUp() + +
+           
+protected  voidtearDown() + +
+           
+ voidtestPerf() + +
+           
+ + + + + + + +
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, toString
+ + + + + + + +
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+SLF4JBridgeHandlerPerfTest

+
+public SLF4JBridgeHandlerPerfTest(String arg0)
+
+
+ + + + + + + + +
+Method Detail
+ +

+setUp

+
+protected void setUp()
+              throws Exception
+
+
+
Overrides:
setUp in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+tearDown

+
+protected void tearDown()
+                 throws Exception
+
+
+
Overrides:
tearDown in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+testPerf

+
+public void testPerf()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/bridge/SLF4JBridgeHandlerTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/bridge/SLF4JBridgeHandlerTest.html new file mode 100644 index 0000000..af0da26 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/bridge/SLF4JBridgeHandlerTest.html @@ -0,0 +1,402 @@ + + + + + + + +SLF4JBridgeHandlerTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.bridge +
+Class SLF4JBridgeHandlerTest

+
+java.lang.Object
+  extended by junit.framework.Assert
+      extended by junit.framework.TestCase
+          extended by org.slf4j.bridge.SLF4JBridgeHandlerTest
+
+
+
All Implemented Interfaces:
junit.framework.Test
+
+
+
+
public class SLF4JBridgeHandlerTest
extends junit.framework.TestCase
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
SLF4JBridgeHandlerTest(String arg0) + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+protected  voidsetUp() + +
+           
+protected  voidtearDown() + +
+           
+ voidtestLevels() + +
+           
+ voidtestLogWithPlaceholderNoParameters() + +
+           
+ voidtestLogWithResourceBundle() + +
+           
+ voidtestLogWithResourceBundleWithParameters() + +
+           
+ voidtestSmoke() + +
+           
+ + + + + + + +
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, toString
+ + + + + + + +
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+SLF4JBridgeHandlerTest

+
+public SLF4JBridgeHandlerTest(String arg0)
+
+
+ + + + + + + + +
+Method Detail
+ +

+setUp

+
+protected void setUp()
+              throws Exception
+
+
+
Overrides:
setUp in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+tearDown

+
+protected void tearDown()
+                 throws Exception
+
+
+
Overrides:
tearDown in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+testSmoke

+
+public void testSmoke()
+
+
+
+
+
+
+ +

+testLevels

+
+public void testLevels()
+
+
+
+
+
+
+ +

+testLogWithResourceBundle

+
+public void testLogWithResourceBundle()
+
+
+
+
+
+
+ +

+testLogWithResourceBundleWithParameters

+
+public void testLogWithResourceBundleWithParameters()
+
+
+
+
+
+
+ +

+testLogWithPlaceholderNoParameters

+
+public void testLogWithPlaceholderNoParameters()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/bridge/class-use/ListAppender.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/bridge/class-use/ListAppender.html new file mode 100644 index 0000000..c52c395 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/bridge/class-use/ListAppender.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.bridge.ListAppender (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.bridge.ListAppender

+
+No usage of org.slf4j.bridge.ListAppender +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/bridge/class-use/SLF4JBridgeHandlerPerfTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/bridge/class-use/SLF4JBridgeHandlerPerfTest.html new file mode 100644 index 0000000..d62c7f7 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/bridge/class-use/SLF4JBridgeHandlerPerfTest.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.bridge.SLF4JBridgeHandlerPerfTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.bridge.SLF4JBridgeHandlerPerfTest

+
+No usage of org.slf4j.bridge.SLF4JBridgeHandlerPerfTest +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/bridge/class-use/SLF4JBridgeHandlerTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/bridge/class-use/SLF4JBridgeHandlerTest.html new file mode 100644 index 0000000..c8f459e --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/bridge/class-use/SLF4JBridgeHandlerTest.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.bridge.SLF4JBridgeHandlerTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.bridge.SLF4JBridgeHandlerTest

+
+No usage of org.slf4j.bridge.SLF4JBridgeHandlerTest +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/bridge/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/bridge/package-frame.html new file mode 100644 index 0000000..606c0b5 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/bridge/package-frame.html @@ -0,0 +1,37 @@ + + + + + + + +org.slf4j.bridge (SLF4J 1.7.5 Test API) + + + + + + + + + + + +org.slf4j.bridge + + + + +
+Classes  + +
+ListAppender +
+SLF4JBridgeHandlerPerfTest +
+SLF4JBridgeHandlerTest
+ + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/bridge/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/bridge/package-summary.html new file mode 100644 index 0000000..9591d44 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/bridge/package-summary.html @@ -0,0 +1,166 @@ + + + + + + + +org.slf4j.bridge (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+

+Package org.slf4j.bridge +

+ + + + + + + + + + + + + + + + + +
+Class Summary
ListAppender 
SLF4JBridgeHandlerPerfTest 
SLF4JBridgeHandlerTest 
+  + +

+

+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/bridge/package-tree.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/bridge/package-tree.html new file mode 100644 index 0000000..7107fa1 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/bridge/package-tree.html @@ -0,0 +1,162 @@ + + + + + + + +org.slf4j.bridge Class Hierarchy (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For Package org.slf4j.bridge +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/bridge/package-use.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/bridge/package-use.html new file mode 100644 index 0000000..d70723f --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/bridge/package-use.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Package org.slf4j.bridge (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Package
org.slf4j.bridge

+
+No usage of org.slf4j.bridge +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/LocLoggerTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/LocLoggerTest.html new file mode 100644 index 0000000..4565e9b --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/LocLoggerTest.html @@ -0,0 +1,326 @@ + + + + + + + +LocLoggerTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.cal10n_dummy +
+Class LocLoggerTest

+
+java.lang.Object
+  extended by junit.framework.Assert
+      extended by junit.framework.TestCase
+          extended by org.slf4j.cal10n_dummy.LocLoggerTest
+
+
+
All Implemented Interfaces:
junit.framework.Test
+
+
+
+
public class LocLoggerTest
extends junit.framework.TestCase
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
LocLoggerTest(String name) + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidsetUp() + +
+           
+ voidtearDown() + +
+           
+ voidtestSmoke() + +
+           
+ + + + + + + +
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, toString
+ + + + + + + +
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+LocLoggerTest

+
+public LocLoggerTest(String name)
+
+
+ + + + + + + + +
+Method Detail
+ +

+setUp

+
+public void setUp()
+           throws Exception
+
+
+
Overrides:
setUp in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+tearDown

+
+public void tearDown()
+              throws Exception
+
+
+
Overrides:
tearDown in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+testSmoke

+
+public void testSmoke()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/Months.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/Months.html new file mode 100644 index 0000000..1dbe885 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/Months.html @@ -0,0 +1,387 @@ + + + + + + + +Months (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.cal10n_dummy +
+Enum Months

+
+java.lang.Object
+  extended by java.lang.Enum<Months>
+      extended by org.slf4j.cal10n_dummy.Months
+
+
+
All Implemented Interfaces:
Serializable, Comparable<Months>
+
+
+
+
public enum Months
extends Enum<Months>
+ + +

+


+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+Enum Constant Summary
APR + +
+           
FEB + +
+           
JAN + +
+           
JUN + +
+           
MAR + +
+           
MAY + +
+           
+  + + + + + + + + + + + + + + + +
+Method Summary
+static MonthsvalueOf(String name) + +
+          Returns the enum constant of this type with the specified name.
+static Months[]values() + +
+          Returns an array containing the constants of this enum type, in +the order they are declared.
+ + + + + + + +
Methods inherited from class java.lang.Enum
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+ + + + + + + +
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Enum Constant Detail
+ +

+JAN

+
+public static final Months JAN
+
+
+
+
+
+ +

+FEB

+
+public static final Months FEB
+
+
+
+
+
+ +

+MAR

+
+public static final Months MAR
+
+
+
+
+
+ +

+APR

+
+public static final Months APR
+
+
+
+
+
+ +

+MAY

+
+public static final Months MAY
+
+
+
+
+
+ +

+JUN

+
+public static final Months JUN
+
+
+
+
+ + + + + + + + +
+Method Detail
+ +

+values

+
+public static Months[] values()
+
+
Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
+for (Months c : Months.values())
+    System.out.println(c);
+
+

+

+ +
Returns:
an array containing the constants of this enum type, in +the order they are declared
+
+
+
+ +

+valueOf

+
+public static Months valueOf(String name)
+
+
Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.) +

+

+
Parameters:
name - the name of the enum constant to be returned. +
Returns:
the enum constant with the specified name +
Throws: +
IllegalArgumentException - if this enum type has no constant +with the specified name +
NullPointerException - if the argument is null
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/MyApplication.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/MyApplication.html new file mode 100644 index 0000000..d3f8ab9 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/MyApplication.html @@ -0,0 +1,272 @@ + + + + + + + +MyApplication (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.cal10n_dummy +
+Class MyApplication

+
+java.lang.Object
+  extended by org.slf4j.cal10n_dummy.MyApplication
+
+
+
+
public class MyApplication
extends Object
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
MyApplication() + +
+           
+  + + + + + + + + + + + + + + + +
+Method Summary
+ voidapplicationStart() + +
+           
+ voidapplicationStop() + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+MyApplication

+
+public MyApplication()
+
+
+ + + + + + + + +
+Method Detail
+ +

+applicationStart

+
+public void applicationStart()
+
+
+
+
+
+
+ +

+applicationStop

+
+public void applicationStop()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/PackageTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/PackageTest.html new file mode 100644 index 0000000..ea7f164 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/PackageTest.html @@ -0,0 +1,276 @@ + + + + + + + +PackageTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.cal10n_dummy +
+Class PackageTest

+
+java.lang.Object
+  extended by junit.framework.Assert
+      extended by junit.framework.TestCase
+          extended by org.slf4j.cal10n_dummy.PackageTest
+
+
+
All Implemented Interfaces:
junit.framework.Test
+
+
+
+
public class PackageTest
extends junit.framework.TestCase
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
PackageTest() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+static junit.framework.Testsuite() + +
+           
+ + + + + + + +
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString
+ + + + + + + +
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+PackageTest

+
+public PackageTest()
+
+
+ + + + + + + + +
+Method Detail
+ +

+suite

+
+public static junit.framework.Test suite()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/Production.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/Production.html new file mode 100644 index 0000000..de3a769 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/Production.html @@ -0,0 +1,355 @@ + + + + + + + +Production (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.cal10n_dummy +
+Enum Production

+
+java.lang.Object
+  extended by java.lang.Enum<Production>
+      extended by org.slf4j.cal10n_dummy.Production
+
+
+
All Implemented Interfaces:
Serializable, Comparable<Production>
+
+
+
+
public enum Production
extends Enum<Production>
+ + +

+


+ +

+ + + + + + + + + + + + + + + + + + + +
+Enum Constant Summary
APPLICATION_STARTED + +
+           
APPLICATION_STOPPED + +
+           
DB_CONNECTION + +
+           
DB_CONNECTION_FAILURE + +
+           
+  + + + + + + + + + + + + + + + +
+Method Summary
+static ProductionvalueOf(String name) + +
+          Returns the enum constant of this type with the specified name.
+static Production[]values() + +
+          Returns an array containing the constants of this enum type, in +the order they are declared.
+ + + + + + + +
Methods inherited from class java.lang.Enum
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
+ + + + + + + +
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Enum Constant Detail
+ +

+APPLICATION_STARTED

+
+public static final Production APPLICATION_STARTED
+
+
+
+
+
+ +

+APPLICATION_STOPPED

+
+public static final Production APPLICATION_STOPPED
+
+
+
+
+
+ +

+DB_CONNECTION

+
+public static final Production DB_CONNECTION
+
+
+
+
+
+ +

+DB_CONNECTION_FAILURE

+
+public static final Production DB_CONNECTION_FAILURE
+
+
+
+
+ + + + + + + + +
+Method Detail
+ +

+values

+
+public static Production[] values()
+
+
Returns an array containing the constants of this enum type, in +the order they are declared. This method may be used to iterate +over the constants as follows: +
+for (Production c : Production.values())
+    System.out.println(c);
+
+

+

+ +
Returns:
an array containing the constants of this enum type, in +the order they are declared
+
+
+
+ +

+valueOf

+
+public static Production valueOf(String name)
+
+
Returns the enum constant of this type with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this type. (Extraneous whitespace characters are +not permitted.) +

+

+
Parameters:
name - the name of the enum constant to be returned. +
Returns:
the enum constant with the specified name +
Throws: +
IllegalArgumentException - if this enum type has no constant +with the specified name +
NullPointerException - if the argument is null
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/class-use/LocLoggerTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/class-use/LocLoggerTest.html new file mode 100644 index 0000000..d995d2b --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/class-use/LocLoggerTest.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.cal10n_dummy.LocLoggerTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.cal10n_dummy.LocLoggerTest

+
+No usage of org.slf4j.cal10n_dummy.LocLoggerTest +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/class-use/Months.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/class-use/Months.html new file mode 100644 index 0000000..9b70a6c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/class-use/Months.html @@ -0,0 +1,190 @@ + + + + + + + +Uses of Class org.slf4j.cal10n_dummy.Months (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.cal10n_dummy.Months

+
+ + + + + + + + + +
+Packages that use Months
org.slf4j.cal10n_dummy  
+  +

+ + + + + +
+Uses of Months in org.slf4j.cal10n_dummy
+  +

+ + + + + + + + + + + + + +
Methods in org.slf4j.cal10n_dummy that return Months
+static MonthsMonths.valueOf(String name) + +
+          Returns the enum constant of this type with the specified name.
+static Months[]Months.values() + +
+          Returns an array containing the constants of this enum type, in +the order they are declared.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/class-use/MyApplication.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/class-use/MyApplication.html new file mode 100644 index 0000000..c87c7f3 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/class-use/MyApplication.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.cal10n_dummy.MyApplication (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.cal10n_dummy.MyApplication

+
+No usage of org.slf4j.cal10n_dummy.MyApplication +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/class-use/PackageTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/class-use/PackageTest.html new file mode 100644 index 0000000..c5fece6 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/class-use/PackageTest.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.cal10n_dummy.PackageTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.cal10n_dummy.PackageTest

+
+No usage of org.slf4j.cal10n_dummy.PackageTest +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/class-use/Production.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/class-use/Production.html new file mode 100644 index 0000000..c08b28d --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/class-use/Production.html @@ -0,0 +1,190 @@ + + + + + + + +Uses of Class org.slf4j.cal10n_dummy.Production (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.cal10n_dummy.Production

+
+ + + + + + + + + +
+Packages that use Production
org.slf4j.cal10n_dummy  
+  +

+ + + + + +
+Uses of Production in org.slf4j.cal10n_dummy
+  +

+ + + + + + + + + + + + + +
Methods in org.slf4j.cal10n_dummy that return Production
+static ProductionProduction.valueOf(String name) + +
+          Returns the enum constant of this type with the specified name.
+static Production[]Production.values() + +
+          Returns an array containing the constants of this enum type, in +the order they are declared.
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/package-frame.html new file mode 100644 index 0000000..b3e66e9 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/package-frame.html @@ -0,0 +1,50 @@ + + + + + + + +org.slf4j.cal10n_dummy (SLF4J 1.7.5 Test API) + + + + + + + + + + + +org.slf4j.cal10n_dummy + + + + +
+Classes  + +
+LocLoggerTest +
+MyApplication +
+PackageTest
+ + + + + + +
+Enums  + +
+Months +
+Production
+ + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/package-summary.html new file mode 100644 index 0000000..e4ba628 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/package-summary.html @@ -0,0 +1,184 @@ + + + + + + + +org.slf4j.cal10n_dummy (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+

+Package org.slf4j.cal10n_dummy +

+ + + + + + + + + + + + + + + + + +
+Class Summary
LocLoggerTest 
MyApplication 
PackageTest 
+  + +

+ + + + + + + + + + + + + +
+Enum Summary
Months 
Production 
+  + +

+

+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/package-tree.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/package-tree.html new file mode 100644 index 0000000..dcb50b2 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/package-tree.html @@ -0,0 +1,169 @@ + + + + + + + +org.slf4j.cal10n_dummy Class Hierarchy (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For Package org.slf4j.cal10n_dummy +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+
    +
  • java.lang.Object
      +
    • junit.framework.Assert
        +
      • junit.framework.TestCase (implements junit.framework.Test) + +
      +
    • org.slf4j.cal10n_dummy.MyApplication
    +
+

+Enum Hierarchy +

+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/package-use.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/package-use.html new file mode 100644 index 0000000..e3b9dfa --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/cal10n_dummy/package-use.html @@ -0,0 +1,177 @@ + + + + + + + +Uses of Package org.slf4j.cal10n_dummy (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Package
org.slf4j.cal10n_dummy

+
+ + + + + + + + + +
+Packages that use org.slf4j.cal10n_dummy
org.slf4j.cal10n_dummy  
+  +

+ + + + + + + + + + + +
+Classes in org.slf4j.cal10n_dummy used by org.slf4j.cal10n_dummy
Months + +
+           
Production + +
+           
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/BasicMarkerTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/BasicMarkerTest.html new file mode 100644 index 0000000..1ac49b4 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/BasicMarkerTest.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.BasicMarkerTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.BasicMarkerTest

+
+No usage of org.slf4j.BasicMarkerTest +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/CompatibilityAssertionTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/CompatibilityAssertionTest.html new file mode 100644 index 0000000..b19e2cd --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/CompatibilityAssertionTest.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.CompatibilityAssertionTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.CompatibilityAssertionTest

+
+No usage of org.slf4j.CompatibilityAssertionTest +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/Differentiator.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/Differentiator.html new file mode 100644 index 0000000..dcbd5c9 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/Differentiator.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.Differentiator (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.Differentiator

+
+No usage of org.slf4j.Differentiator +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/IncompatibleMultiBindingAssertionTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/IncompatibleMultiBindingAssertionTest.html new file mode 100644 index 0000000..5c62f38 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/IncompatibleMultiBindingAssertionTest.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.IncompatibleMultiBindingAssertionTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.IncompatibleMultiBindingAssertionTest

+
+No usage of org.slf4j.IncompatibleMultiBindingAssertionTest +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/InvocationTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/InvocationTest.html new file mode 100644 index 0000000..89dfe20 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/InvocationTest.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.InvocationTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.InvocationTest

+
+No usage of org.slf4j.InvocationTest +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/ListAppender.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/ListAppender.html new file mode 100644 index 0000000..f6c7af4 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/ListAppender.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.ListAppender (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.ListAppender

+
+No usage of org.slf4j.ListAppender +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/MissingSingletonMethodAssertionTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/MissingSingletonMethodAssertionTest.html new file mode 100644 index 0000000..d193a4e --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/MissingSingletonMethodAssertionTest.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.MissingSingletonMethodAssertionTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.MissingSingletonMethodAssertionTest

+
+No usage of org.slf4j.MissingSingletonMethodAssertionTest +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/MultiBindingAssertionTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/MultiBindingAssertionTest.html new file mode 100644 index 0000000..7b83efe --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/MultiBindingAssertionTest.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.MultiBindingAssertionTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.MultiBindingAssertionTest

+
+No usage of org.slf4j.MultiBindingAssertionTest +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/NDCTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/NDCTest.html new file mode 100644 index 0000000..c699f96 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/NDCTest.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.NDCTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.NDCTest

+
+No usage of org.slf4j.NDCTest +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/NoBindingTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/NoBindingTest.html new file mode 100644 index 0000000..0cef197 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/NoBindingTest.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.NoBindingTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.NoBindingTest

+
+No usage of org.slf4j.NoBindingTest +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/SilentPrintStream.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/SilentPrintStream.html new file mode 100644 index 0000000..da98557 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/SilentPrintStream.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.SilentPrintStream (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.SilentPrintStream

+
+No usage of org.slf4j.SilentPrintStream +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/StringPrintStream.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/StringPrintStream.html new file mode 100644 index 0000000..0539e2e --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/StringPrintStream.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.StringPrintStream (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.StringPrintStream

+
+No usage of org.slf4j.StringPrintStream +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/VersionMismatchAssertionTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/VersionMismatchAssertionTest.html new file mode 100644 index 0000000..feaaff0 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/class-use/VersionMismatchAssertionTest.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.VersionMismatchAssertionTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.VersionMismatchAssertionTest

+
+No usage of org.slf4j.VersionMismatchAssertionTest +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/EventLoggerTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/EventLoggerTest.html new file mode 100644 index 0000000..d85b728 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/EventLoggerTest.html @@ -0,0 +1,326 @@ + + + + + + + +EventLoggerTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.dummyExt +
+Class EventLoggerTest

+
+java.lang.Object
+  extended by junit.framework.Assert
+      extended by junit.framework.TestCase
+          extended by org.slf4j.dummyExt.EventLoggerTest
+
+
+
All Implemented Interfaces:
junit.framework.Test
+
+
+
+
public class EventLoggerTest
extends junit.framework.TestCase
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
EventLoggerTest(String name) + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidsetUp() + +
+           
+ voidtearDown() + +
+           
+ voidtestEventLogger() + +
+           
+ + + + + + + +
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, toString
+ + + + + + + +
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+EventLoggerTest

+
+public EventLoggerTest(String name)
+
+
+ + + + + + + + +
+Method Detail
+ +

+setUp

+
+public void setUp()
+           throws Exception
+
+
+
Overrides:
setUp in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+tearDown

+
+public void tearDown()
+              throws Exception
+
+
+
Overrides:
tearDown in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+testEventLogger

+
+public void testEventLogger()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/ListAppender.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/ListAppender.html new file mode 100644 index 0000000..4560fd3 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/ListAppender.html @@ -0,0 +1,379 @@ + + + + + + + +ListAppender (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.dummyExt +
+Class ListAppender

+
+java.lang.Object
+  extended by org.apache.log4j.AppenderSkeleton
+      extended by org.slf4j.dummyExt.ListAppender
+
+
+
All Implemented Interfaces:
Appender, OptionHandler
+
+
+
+
public class ListAppender
extends AppenderSkeleton
+ + +

+


+ +

+ + + + + + + + + + + + + + + +
+Field Summary
+ booleanextractLocationInfo + +
+           
+ List<LoggingEvent>list + +
+           
+ + + + + + + +
Fields inherited from class org.apache.log4j.AppenderSkeleton
closed, errorHandler, headFilter, layout, name, tailFilter, threshold
+  + + + + + + + + + + +
+Constructor Summary
ListAppender() + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+protected  voidappend(LoggingEvent event) + +
+           
+ voidclose() + +
+           
+ booleanrequiresLayout() + +
+           
+ + + + + + + +
Methods inherited from class org.apache.log4j.AppenderSkeleton
activateOptions, addFilter, clearFilters, doAppend, finalize, getErrorHandler, getFilter, getFirstFilter, getLayout, getName, getThreshold, isAsSevereAsThreshold, setErrorHandler, setLayout, setName, setThreshold
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+ + + + + + + +
Methods inherited from interface org.apache.log4j.Appender
setLayout
+  +

+ + + + + + + + +
+Field Detail
+ +

+list

+
+public List<LoggingEvent> list
+
+
+
+
+
+ +

+extractLocationInfo

+
+public boolean extractLocationInfo
+
+
+
+
+ + + + + + + + +
+Constructor Detail
+ +

+ListAppender

+
+public ListAppender()
+
+
+ + + + + + + + +
+Method Detail
+ +

+append

+
+protected void append(LoggingEvent event)
+
+
+
Specified by:
append in class AppenderSkeleton
+
+
+
+
+
+
+ +

+close

+
+public void close()
+
+
+
+
+
+
+ +

+requiresLayout

+
+public boolean requiresLayout()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/MDCStrLookupTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/MDCStrLookupTest.html new file mode 100644 index 0000000..287c150 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/MDCStrLookupTest.html @@ -0,0 +1,329 @@ + + + + + + + +MDCStrLookupTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.dummyExt +
+Class MDCStrLookupTest

+
+java.lang.Object
+  extended by junit.framework.Assert
+      extended by junit.framework.TestCase
+          extended by org.slf4j.dummyExt.MDCStrLookupTest
+
+
+
All Implemented Interfaces:
junit.framework.Test
+
+
+
+
public class MDCStrLookupTest
extends junit.framework.TestCase
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
MDCStrLookupTest(String name) + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidsetUp() + +
+           
+ voidtearDown() + +
+           
+ voidtestLookup() + +
+           
+ + + + + + + +
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, toString
+ + + + + + + +
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+MDCStrLookupTest

+
+public MDCStrLookupTest(String name)
+
+
+ + + + + + + + +
+Method Detail
+ +

+setUp

+
+public void setUp()
+           throws Exception
+
+
+
Overrides:
setUp in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+tearDown

+
+public void tearDown()
+              throws Exception
+
+
+
Overrides:
tearDown in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+testLookup

+
+public void testLookup()
+                throws Exception
+
+
+ +
Throws: +
Exception
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/PackageTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/PackageTest.html new file mode 100644 index 0000000..5899066 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/PackageTest.html @@ -0,0 +1,276 @@ + + + + + + + +PackageTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.dummyExt +
+Class PackageTest

+
+java.lang.Object
+  extended by junit.framework.Assert
+      extended by junit.framework.TestCase
+          extended by org.slf4j.dummyExt.PackageTest
+
+
+
All Implemented Interfaces:
junit.framework.Test
+
+
+
+
public class PackageTest
extends junit.framework.TestCase
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
PackageTest() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+static junit.framework.Testsuite() + +
+           
+ + + + + + + +
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString
+ + + + + + + +
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+PackageTest

+
+public PackageTest()
+
+
+ + + + + + + + +
+Method Detail
+ +

+suite

+
+public static junit.framework.Test suite()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/XLoggerTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/XLoggerTest.html new file mode 100644 index 0000000..0e1c2a5 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/XLoggerTest.html @@ -0,0 +1,402 @@ + + + + + + + +XLoggerTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.dummyExt +
+Class XLoggerTest

+
+java.lang.Object
+  extended by junit.framework.Assert
+      extended by junit.framework.TestCase
+          extended by org.slf4j.dummyExt.XLoggerTest
+
+
+
All Implemented Interfaces:
junit.framework.Test
+
+
+
+
public class XLoggerTest
extends junit.framework.TestCase
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
XLoggerTest(String name) + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidsetUp() + +
+           
+ voidtearDown() + +
+           
+ voidtestCaught() + +
+           
+ voidtestEntering() + +
+           
+ voidtestExiting() + +
+           
+ voidtestLocationExtraction_Bug114() + +
+           
+ voidtestThrowing() + +
+           
+ + + + + + + +
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, toString
+ + + + + + + +
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+XLoggerTest

+
+public XLoggerTest(String name)
+
+
+ + + + + + + + +
+Method Detail
+ +

+setUp

+
+public void setUp()
+           throws Exception
+
+
+
Overrides:
setUp in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+tearDown

+
+public void tearDown()
+              throws Exception
+
+
+
Overrides:
tearDown in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+testEntering

+
+public void testEntering()
+
+
+
+
+
+
+ +

+testExiting

+
+public void testExiting()
+
+
+
+
+
+
+ +

+testThrowing

+
+public void testThrowing()
+
+
+
+
+
+
+ +

+testCaught

+
+public void testCaught()
+
+
+
+
+
+
+ +

+testLocationExtraction_Bug114

+
+public void testLocationExtraction_Bug114()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/class-use/EventLoggerTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/class-use/EventLoggerTest.html new file mode 100644 index 0000000..be12a76 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/class-use/EventLoggerTest.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.dummyExt.EventLoggerTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.dummyExt.EventLoggerTest

+
+No usage of org.slf4j.dummyExt.EventLoggerTest +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/class-use/ListAppender.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/class-use/ListAppender.html new file mode 100644 index 0000000..4060e7c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/class-use/ListAppender.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.dummyExt.ListAppender (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.dummyExt.ListAppender

+
+No usage of org.slf4j.dummyExt.ListAppender +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/class-use/MDCStrLookupTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/class-use/MDCStrLookupTest.html new file mode 100644 index 0000000..0378bc3 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/class-use/MDCStrLookupTest.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.dummyExt.MDCStrLookupTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.dummyExt.MDCStrLookupTest

+
+No usage of org.slf4j.dummyExt.MDCStrLookupTest +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/class-use/PackageTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/class-use/PackageTest.html new file mode 100644 index 0000000..3bc209c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/class-use/PackageTest.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.dummyExt.PackageTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.dummyExt.PackageTest

+
+No usage of org.slf4j.dummyExt.PackageTest +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/class-use/XLoggerTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/class-use/XLoggerTest.html new file mode 100644 index 0000000..97e74de --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/class-use/XLoggerTest.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.dummyExt.XLoggerTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.dummyExt.XLoggerTest

+
+No usage of org.slf4j.dummyExt.XLoggerTest +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/package-frame.html new file mode 100644 index 0000000..3630cf3 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/package-frame.html @@ -0,0 +1,41 @@ + + + + + + + +org.slf4j.dummyExt (SLF4J 1.7.5 Test API) + + + + + + + + + + + +org.slf4j.dummyExt + + + + +
+Classes  + +
+EventLoggerTest +
+ListAppender +
+MDCStrLookupTest +
+PackageTest +
+XLoggerTest
+ + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/package-summary.html new file mode 100644 index 0000000..10629cb --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/package-summary.html @@ -0,0 +1,192 @@ + + + + + + + +org.slf4j.dummyExt (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+

+Package org.slf4j.dummyExt +

+Tests related to the org.slfj.ext package. +

+See: +
+          Description +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+Class Summary
EventLoggerTest 
ListAppender 
MDCStrLookupTest 
PackageTest 
XLoggerTest 
+  + +

+

+Package org.slf4j.dummyExt Description +

+ +

+Tests related to the org.slfj.ext package. However, location information code +required the caller class (XLogger) to have a different prefix than +the test class XLoggerTest. This is ensured by having the test class +placed in a different package. +

+ +

+

+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/package-tree.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/package-tree.html new file mode 100644 index 0000000..96af37c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/package-tree.html @@ -0,0 +1,162 @@ + + + + + + + +org.slf4j.dummyExt Class Hierarchy (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For Package org.slf4j.dummyExt +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/package-use.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/package-use.html new file mode 100644 index 0000000..5f2d47e --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/dummyExt/package-use.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Package org.slf4j.dummyExt (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Package
org.slf4j.dummyExt

+
+No usage of org.slf4j.dummyExt +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/helpers/BogoPerf.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/helpers/BogoPerf.html new file mode 100644 index 0000000..a1d3c72 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/helpers/BogoPerf.html @@ -0,0 +1,326 @@ + + + + + + + +BogoPerf (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.helpers +
+Class BogoPerf

+
+java.lang.Object
+  extended by org.slf4j.helpers.BogoPerf
+
+
+
+
public class BogoPerf
extends Object
+ + +

+BogoPerf is used to check that the time required to perform a certain + operation does not deteriorate over time. BogoPerf adjusts to the CPU speed + and capabilities of the host. +

+ +

+

+
Author:
+
Ceki Gülcü
+
+
+ +

+ + + + + + + + + + + +
+Constructor Summary
BogoPerf() + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+static voidassertDuration(double currentDuration, + long referenceDuration, + double referenceBIPS) + +
+          Assertion used for values that decrease with faster CPUs, typically + the time (duration) needed to perform a task.
+static voidassertPerformance(double currentPerformance, + long referencePerformance, + double referenceBIPS) + +
+          Assertion used for values that increase with faster CPUs, typically + the number of operations accomplished per unit of time.
+static doublecurrentBIPS() + +
+          Computed the BogoIPS for this host CPU.
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+BogoPerf

+
+public BogoPerf()
+
+
+ + + + + + + + +
+Method Detail
+ +

+currentBIPS

+
+public static double currentBIPS()
+
+
Computed the BogoIPS for this host CPU. +

+

+ +
Returns:
+
+
+
+ +

+assertDuration

+
+public static void assertDuration(double currentDuration,
+                                  long referenceDuration,
+                                  double referenceBIPS)
+                           throws junit.framework.AssertionFailedError
+
+
Assertion used for values that decrease with faster CPUs, typically + the time (duration) needed to perform a task. +

+

+
Parameters:
currentDuration -
referenceDuration -
referenceBIPS - +
Throws: +
junit.framework.AssertionFailedError
+
+
+
+ +

+assertPerformance

+
+public static void assertPerformance(double currentPerformance,
+                                     long referencePerformance,
+                                     double referenceBIPS)
+                              throws junit.framework.AssertionFailedError
+
+
Assertion used for values that increase with faster CPUs, typically + the number of operations accomplished per unit of time. +

+

+
Parameters:
currentPerformance -
referencePerformance -
referenceBIPS - +
Throws: +
junit.framework.AssertionFailedError
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/helpers/BubbleSortTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/helpers/BubbleSortTest.html new file mode 100644 index 0000000..a517661 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/helpers/BubbleSortTest.html @@ -0,0 +1,379 @@ + + + + + + + +BubbleSortTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.helpers +
+Class BubbleSortTest

+
+java.lang.Object
+  extended by junit.framework.Assert
+      extended by junit.framework.TestCase
+          extended by org.slf4j.helpers.BubbleSortTest
+
+
+
All Implemented Interfaces:
junit.framework.Test
+
+
+
+
public class BubbleSortTest
extends junit.framework.TestCase
+ + +

+Test that our BubbleSort algorithm is correctly implemented. +

+ +

+

+
Author:
+
Ceki
+
+
+ +

+ + + + + + + + + + + +
+Constructor Summary
BubbleSortTest() + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidtestEmpty() + +
+           
+ voidtestInverted() + +
+           
+ voidtestRandom() + +
+           
+ voidtestSmoke() + +
+           
+ voidtestSorted() + +
+           
+ voidtestWithSameEntry() + +
+           
+ + + + + + + +
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString
+ + + + + + + +
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+BubbleSortTest

+
+public BubbleSortTest()
+
+
+ + + + + + + + +
+Method Detail
+ +

+testSmoke

+
+public void testSmoke()
+
+
+
+
+
+
+ +

+testEmpty

+
+public void testEmpty()
+
+
+
+
+
+
+ +

+testSorted

+
+public void testSorted()
+
+
+
+
+
+
+ +

+testInverted

+
+public void testInverted()
+
+
+
+
+
+
+ +

+testWithSameEntry

+
+public void testWithSameEntry()
+
+
+
+
+
+
+ +

+testRandom

+
+public void testRandom()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/helpers/MessageFormatterPerfTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/helpers/MessageFormatterPerfTest.html new file mode 100644 index 0000000..3d44590 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/helpers/MessageFormatterPerfTest.html @@ -0,0 +1,421 @@ + + + + + + + +MessageFormatterPerfTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.helpers +
+Class MessageFormatterPerfTest

+
+java.lang.Object
+  extended by junit.framework.Assert
+      extended by junit.framework.TestCase
+          extended by org.slf4j.helpers.MessageFormatterPerfTest
+
+
+
All Implemented Interfaces:
junit.framework.Test
+
+
+
+
public class MessageFormatterPerfTest
extends junit.framework.TestCase
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
MessageFormatterPerfTest(String name) + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ doublejdkMessageFormatter(long len) + +
+           
+protected  voidsetUp() + +
+           
+ doubleslf4jMessageFormatter_OneArg(long len) + +
+           
+ doubleslf4jMessageFormatter_TwoArg(long len) + +
+           
+protected  voidtearDown() + +
+           
+ voidtestSLF4JPerf_OneArg() + +
+           
+ voidtestSLF4JPerf_TwoArg() + +
+           
+ voidXtestJDKFormatterPerf() + +
+           
+ + + + + + + +
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, toString
+ + + + + + + +
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+MessageFormatterPerfTest

+
+public MessageFormatterPerfTest(String name)
+
+
+ + + + + + + + +
+Method Detail
+ +

+setUp

+
+protected void setUp()
+              throws Exception
+
+
+
Overrides:
setUp in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+tearDown

+
+protected void tearDown()
+                 throws Exception
+
+
+
Overrides:
tearDown in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+XtestJDKFormatterPerf

+
+public void XtestJDKFormatterPerf()
+
+
+
+
+
+
+ +

+testSLF4JPerf_OneArg

+
+public void testSLF4JPerf_OneArg()
+
+
+
+
+
+
+ +

+testSLF4JPerf_TwoArg

+
+public void testSLF4JPerf_TwoArg()
+
+
+
+
+
+
+ +

+slf4jMessageFormatter_OneArg

+
+public double slf4jMessageFormatter_OneArg(long len)
+
+
+
+
+
+
+ +

+slf4jMessageFormatter_TwoArg

+
+public double slf4jMessageFormatter_TwoArg(long len)
+
+
+
+
+
+
+ +

+jdkMessageFormatter

+
+public double jdkMessageFormatter(long len)
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/helpers/MessageFormatterTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/helpers/MessageFormatterTest.html new file mode 100644 index 0000000..b255d96 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/helpers/MessageFormatterTest.html @@ -0,0 +1,470 @@ + + + + + + + +MessageFormatterTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.helpers +
+Class MessageFormatterTest

+
+java.lang.Object
+  extended by junit.framework.Assert
+      extended by junit.framework.TestCase
+          extended by org.slf4j.helpers.MessageFormatterTest
+
+
+
All Implemented Interfaces:
junit.framework.Test
+
+
+
+
public class MessageFormatterTest
extends junit.framework.TestCase
+ + +

+

+
Author:
+
Ceki Gulcu
+
+
+ +

+ + + + + + + + + + + +
+Constructor Summary
MessageFormatterTest() + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidtestArrayFormat() + +
+           
+ voidtestArrayThrowable() + +
+           
+ voidtestArrayValues() + +
+           
+ voidtestCyclicArrays() + +
+           
+ voidtestExceptionIn_toString() + +
+           
+ voidtestMultiDimensionalArrayValues() + +
+           
+ voidtestNull() + +
+           
+ voidtestNullArray() + +
+           
+ voidtestNullParam() + +
+           
+ voidtestOneParameter() + +
+           
+ voidtestTwoParameters() + +
+           
+ + + + + + + +
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString
+ + + + + + + +
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+MessageFormatterTest

+
+public MessageFormatterTest()
+
+
+ + + + + + + + +
+Method Detail
+ +

+testNull

+
+public void testNull()
+
+
+
+
+
+
+ +

+testNullParam

+
+public void testNullParam()
+
+
+
+
+
+
+ +

+testOneParameter

+
+public void testOneParameter()
+
+
+
+
+
+
+ +

+testTwoParameters

+
+public void testTwoParameters()
+
+
+
+
+
+
+ +

+testExceptionIn_toString

+
+public void testExceptionIn_toString()
+
+
+
+
+
+
+ +

+testNullArray

+
+public void testNullArray()
+
+
+
+
+
+
+ +

+testArrayFormat

+
+public void testArrayFormat()
+
+
+
+
+
+
+ +

+testArrayValues

+
+public void testArrayValues()
+
+
+
+
+
+
+ +

+testMultiDimensionalArrayValues

+
+public void testMultiDimensionalArrayValues()
+
+
+
+
+
+
+ +

+testCyclicArrays

+
+public void testCyclicArrays()
+
+
+
+
+
+
+ +

+testArrayThrowable

+
+public void testArrayThrowable()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/helpers/class-use/BogoPerf.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/helpers/class-use/BogoPerf.html new file mode 100644 index 0000000..bca376b --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/helpers/class-use/BogoPerf.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.helpers.BogoPerf (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.helpers.BogoPerf

+
+No usage of org.slf4j.helpers.BogoPerf +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/helpers/class-use/BubbleSortTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/helpers/class-use/BubbleSortTest.html new file mode 100644 index 0000000..03f6cd0 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/helpers/class-use/BubbleSortTest.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.helpers.BubbleSortTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.helpers.BubbleSortTest

+
+No usage of org.slf4j.helpers.BubbleSortTest +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/helpers/class-use/MessageFormatterPerfTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/helpers/class-use/MessageFormatterPerfTest.html new file mode 100644 index 0000000..64298f8 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/helpers/class-use/MessageFormatterPerfTest.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.helpers.MessageFormatterPerfTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.helpers.MessageFormatterPerfTest

+
+No usage of org.slf4j.helpers.MessageFormatterPerfTest +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/helpers/class-use/MessageFormatterTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/helpers/class-use/MessageFormatterTest.html new file mode 100644 index 0000000..91a0796 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/helpers/class-use/MessageFormatterTest.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.helpers.MessageFormatterTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.helpers.MessageFormatterTest

+
+No usage of org.slf4j.helpers.MessageFormatterTest +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/helpers/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/helpers/package-frame.html new file mode 100644 index 0000000..6fdcf09 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/helpers/package-frame.html @@ -0,0 +1,39 @@ + + + + + + + +org.slf4j.helpers (SLF4J 1.7.5 Test API) + + + + + + + + + + + +org.slf4j.helpers + + + + +
+Classes  + +
+BogoPerf +
+BubbleSortTest +
+MessageFormatterPerfTest +
+MessageFormatterTest
+ + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/helpers/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/helpers/package-summary.html new file mode 100644 index 0000000..fb7a39d --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/helpers/package-summary.html @@ -0,0 +1,171 @@ + + + + + + + +org.slf4j.helpers (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+

+Package org.slf4j.helpers +

+ + + + + + + + + + + + + + + + + + + + + +
+Class Summary
BogoPerfBogoPerf is used to check that the time required to perform a certain + operation does not deteriorate over time.
BubbleSortTestTest that our BubbleSort algorithm is correctly implemented.
MessageFormatterPerfTest 
MessageFormatterTest 
+  + +

+

+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/helpers/package-tree.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/helpers/package-tree.html new file mode 100644 index 0000000..019e318 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/helpers/package-tree.html @@ -0,0 +1,159 @@ + + + + + + + +org.slf4j.helpers Class Hierarchy (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For Package org.slf4j.helpers +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/helpers/package-use.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/helpers/package-use.html new file mode 100644 index 0000000..5c0271a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/helpers/package-use.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Package org.slf4j.helpers (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Package
org.slf4j.helpers

+
+No usage of org.slf4j.helpers +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/JDK14AdapterLoggerNameTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/JDK14AdapterLoggerNameTest.html new file mode 100644 index 0000000..1feec90 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/JDK14AdapterLoggerNameTest.html @@ -0,0 +1,351 @@ + + + + + + + +JDK14AdapterLoggerNameTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.impl +
+Class JDK14AdapterLoggerNameTest

+
+java.lang.Object
+  extended by junit.framework.Assert
+      extended by junit.framework.TestCase
+          extended by org.slf4j.impl.JDK14AdapterLoggerNameTest
+
+
+
All Implemented Interfaces:
junit.framework.Test
+
+
+
+
public class JDK14AdapterLoggerNameTest
extends junit.framework.TestCase
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
JDK14AdapterLoggerNameTest() + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+protected  voidsetUp() + +
+           
+protected  voidtearDown() + +
+           
+ voidtestLoggerNameusingJdkLogging() + +
+           
+ voidtestLoggerNameUsingSlf4j() + +
+           
+ + + + + + + +
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, toString
+ + + + + + + +
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+JDK14AdapterLoggerNameTest

+
+public JDK14AdapterLoggerNameTest()
+
+
+ + + + + + + + +
+Method Detail
+ +

+setUp

+
+protected void setUp()
+              throws Exception
+
+
+
Overrides:
setUp in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+tearDown

+
+protected void tearDown()
+                 throws Exception
+
+
+
Overrides:
tearDown in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+testLoggerNameusingJdkLogging

+
+public void testLoggerNameusingJdkLogging()
+                                   throws Exception
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+testLoggerNameUsingSlf4j

+
+public void testLoggerNameUsingSlf4j()
+                              throws Exception
+
+
+ +
Throws: +
Exception
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/PerfTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/PerfTest.html new file mode 100644 index 0000000..48c34e2 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/PerfTest.html @@ -0,0 +1,326 @@ + + + + + + + +PerfTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.impl +
+Class PerfTest

+
+java.lang.Object
+  extended by junit.framework.Assert
+      extended by junit.framework.TestCase
+          extended by org.slf4j.impl.PerfTest
+
+
+
All Implemented Interfaces:
junit.framework.Test
+
+
+
+
public class PerfTest
extends junit.framework.TestCase
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
PerfTest(String name) + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+protected  voidsetUp() + +
+           
+protected  voidtearDown() + +
+           
+ voidtestBug72() + +
+           
+ + + + + + + +
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, toString
+ + + + + + + +
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+PerfTest

+
+public PerfTest(String name)
+
+
+ + + + + + + + +
+Method Detail
+ +

+setUp

+
+protected void setUp()
+              throws Exception
+
+
+
Overrides:
setUp in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+tearDown

+
+protected void tearDown()
+                 throws Exception
+
+
+
Overrides:
tearDown in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+testBug72

+
+public void testBug72()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/RecursiveAppender.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/RecursiveAppender.html new file mode 100644 index 0000000..1e8d71c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/RecursiveAppender.html @@ -0,0 +1,334 @@ + + + + + + + +RecursiveAppender (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.impl +
+Class RecursiveAppender

+
+java.lang.Object
+  extended by org.apache.log4j.AppenderSkeleton
+      extended by org.slf4j.impl.RecursiveAppender
+
+
+
All Implemented Interfaces:
Appender, OptionHandler
+
+
+
+
public class RecursiveAppender
extends AppenderSkeleton
+ + +

+


+ +

+ + + + + + + +
+Field Summary
+ + + + + + + +
Fields inherited from class org.apache.log4j.AppenderSkeleton
closed, errorHandler, headFilter, layout, name, tailFilter, threshold
+  + + + + + + + + + + +
+Constructor Summary
RecursiveAppender() + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+protected  voidappend(LoggingEvent arg0) + +
+           
+ voidclose() + +
+           
+ booleanrequiresLayout() + +
+           
+ + + + + + + +
Methods inherited from class org.apache.log4j.AppenderSkeleton
activateOptions, addFilter, clearFilters, doAppend, finalize, getErrorHandler, getFilter, getFirstFilter, getLayout, getName, getThreshold, isAsSevereAsThreshold, setErrorHandler, setLayout, setName, setThreshold
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+ + + + + + + +
Methods inherited from interface org.apache.log4j.Appender
setLayout
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+RecursiveAppender

+
+public RecursiveAppender()
+
+
+ + + + + + + + +
+Method Detail
+ +

+append

+
+protected void append(LoggingEvent arg0)
+
+
+
Specified by:
append in class AppenderSkeleton
+
+
+
+
+
+
+ +

+close

+
+public void close()
+
+
+
+
+
+
+ +

+requiresLayout

+
+public boolean requiresLayout()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/RecursiveInitializationTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/RecursiveInitializationTest.html new file mode 100644 index 0000000..ef8ca93 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/RecursiveInitializationTest.html @@ -0,0 +1,326 @@ + + + + + + + +RecursiveInitializationTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.impl +
+Class RecursiveInitializationTest

+
+java.lang.Object
+  extended by junit.framework.Assert
+      extended by junit.framework.TestCase
+          extended by org.slf4j.impl.RecursiveInitializationTest
+
+
+
All Implemented Interfaces:
junit.framework.Test
+
+
+
+
public class RecursiveInitializationTest
extends junit.framework.TestCase
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
RecursiveInitializationTest() + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+protected  voidsetUp() + +
+           
+protected  voidtearDown() + +
+           
+ voidtestLog4j() + +
+           
+ + + + + + + +
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, toString
+ + + + + + + +
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+RecursiveInitializationTest

+
+public RecursiveInitializationTest()
+
+
+ + + + + + + + +
+Method Detail
+ +

+setUp

+
+protected void setUp()
+              throws Exception
+
+
+
Overrides:
setUp in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+tearDown

+
+protected void tearDown()
+                 throws Exception
+
+
+
Overrides:
tearDown in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+testLog4j

+
+public void testLog4j()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/SimpleLoggerTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/SimpleLoggerTest.html new file mode 100644 index 0000000..67c1fcd --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/SimpleLoggerTest.html @@ -0,0 +1,367 @@ + + + + + + + +SimpleLoggerTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.impl +
+Class SimpleLoggerTest

+
+java.lang.Object
+  extended by org.slf4j.impl.SimpleLoggerTest
+
+
+
+
public class SimpleLoggerTest
extends Object
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
SimpleLoggerTest() + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voidafter() + +
+           
+ voidbefore() + +
+           
+ voidemptyLoggerName() + +
+           
+ voidloggerNameWithNoDots_WithLevel() + +
+           
+ voidloggerNameWithNoDots_WithNoSetLevel() + +
+           
+ voidloggerNameWithOneDot_NoSetLevel() + +
+           
+ voidloggerNameWithOneDotShouldInheritFromParent() + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+SimpleLoggerTest

+
+public SimpleLoggerTest()
+
+
+ + + + + + + + +
+Method Detail
+ +

+before

+
+public void before()
+
+
+
+
+
+
+ +

+after

+
+public void after()
+
+
+
+
+
+
+ +

+emptyLoggerName

+
+public void emptyLoggerName()
+
+
+
+
+
+
+ +

+loggerNameWithNoDots_WithLevel

+
+public void loggerNameWithNoDots_WithLevel()
+
+
+
+
+
+
+ +

+loggerNameWithOneDotShouldInheritFromParent

+
+public void loggerNameWithOneDotShouldInheritFromParent()
+
+
+
+
+
+
+ +

+loggerNameWithNoDots_WithNoSetLevel

+
+public void loggerNameWithNoDots_WithNoSetLevel()
+
+
+
+
+
+
+ +

+loggerNameWithOneDot_NoSetLevel

+
+public void loggerNameWithOneDot_NoSetLevel()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/class-use/JDK14AdapterLoggerNameTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/class-use/JDK14AdapterLoggerNameTest.html new file mode 100644 index 0000000..7eedac6 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/class-use/JDK14AdapterLoggerNameTest.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.impl.JDK14AdapterLoggerNameTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.impl.JDK14AdapterLoggerNameTest

+
+No usage of org.slf4j.impl.JDK14AdapterLoggerNameTest +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/class-use/PerfTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/class-use/PerfTest.html new file mode 100644 index 0000000..9d54847 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/class-use/PerfTest.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.impl.PerfTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.impl.PerfTest

+
+No usage of org.slf4j.impl.PerfTest +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/class-use/RecursiveAppender.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/class-use/RecursiveAppender.html new file mode 100644 index 0000000..1db0156 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/class-use/RecursiveAppender.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.impl.RecursiveAppender (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.impl.RecursiveAppender

+
+No usage of org.slf4j.impl.RecursiveAppender +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/class-use/RecursiveInitializationTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/class-use/RecursiveInitializationTest.html new file mode 100644 index 0000000..c618fb5 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/class-use/RecursiveInitializationTest.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.impl.RecursiveInitializationTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.impl.RecursiveInitializationTest

+
+No usage of org.slf4j.impl.RecursiveInitializationTest +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/class-use/SimpleLoggerTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/class-use/SimpleLoggerTest.html new file mode 100644 index 0000000..dbb6157 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/class-use/SimpleLoggerTest.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.impl.SimpleLoggerTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.impl.SimpleLoggerTest

+
+No usage of org.slf4j.impl.SimpleLoggerTest +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/package-frame.html new file mode 100644 index 0000000..c363012 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/package-frame.html @@ -0,0 +1,41 @@ + + + + + + + +org.slf4j.impl (SLF4J 1.7.5 Test API) + + + + + + + + + + + +org.slf4j.impl + + + + +
+Classes  + +
+JDK14AdapterLoggerNameTest +
+PerfTest +
+RecursiveAppender +
+RecursiveInitializationTest +
+SimpleLoggerTest
+ + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/package-summary.html new file mode 100644 index 0000000..7835d03 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/package-summary.html @@ -0,0 +1,174 @@ + + + + + + + +org.slf4j.impl (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+

+Package org.slf4j.impl +

+ + + + + + + + + + + + + + + + + + + + + + + + + +
+Class Summary
JDK14AdapterLoggerNameTest 
PerfTest 
RecursiveAppender 
RecursiveInitializationTest 
SimpleLoggerTest 
+  + +

+

+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/package-tree.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/package-tree.html new file mode 100644 index 0000000..c4b416a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/package-tree.html @@ -0,0 +1,162 @@ + + + + + + + +org.slf4j.impl Class Hierarchy (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For Package org.slf4j.impl +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/package-use.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/package-use.html new file mode 100644 index 0000000..4e035ce --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/impl/package-use.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Package org.slf4j.impl (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Package
org.slf4j.impl

+
+No usage of org.slf4j.impl +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/instrumentation/ToStringHelperTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/instrumentation/ToStringHelperTest.html new file mode 100644 index 0000000..deadf5f --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/instrumentation/ToStringHelperTest.html @@ -0,0 +1,276 @@ + + + + + + + +ToStringHelperTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.instrumentation +
+Class ToStringHelperTest

+
+java.lang.Object
+  extended by junit.framework.Assert
+      extended by junit.framework.TestCase
+          extended by org.slf4j.instrumentation.ToStringHelperTest
+
+
+
All Implemented Interfaces:
junit.framework.Test
+
+
+
+
public class ToStringHelperTest
extends junit.framework.TestCase
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
ToStringHelperTest() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+ voidtestRenderer() + +
+           
+ + + + + + + +
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString
+ + + + + + + +
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+ToStringHelperTest

+
+public ToStringHelperTest()
+
+
+ + + + + + + + +
+Method Detail
+ +

+testRenderer

+
+public void testRenderer()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/instrumentation/class-use/ToStringHelperTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/instrumentation/class-use/ToStringHelperTest.html new file mode 100644 index 0000000..920f6ec --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/instrumentation/class-use/ToStringHelperTest.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.instrumentation.ToStringHelperTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.instrumentation.ToStringHelperTest

+
+No usage of org.slf4j.instrumentation.ToStringHelperTest +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/instrumentation/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/instrumentation/package-frame.html new file mode 100644 index 0000000..b804261 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/instrumentation/package-frame.html @@ -0,0 +1,33 @@ + + + + + + + +org.slf4j.instrumentation (SLF4J 1.7.5 Test API) + + + + + + + + + + + +org.slf4j.instrumentation + + + + +
+Classes  + +
+ToStringHelperTest
+ + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/instrumentation/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/instrumentation/package-summary.html new file mode 100644 index 0000000..68a4c53 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/instrumentation/package-summary.html @@ -0,0 +1,158 @@ + + + + + + + +org.slf4j.instrumentation (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+

+Package org.slf4j.instrumentation +

+ + + + + + + + + +
+Class Summary
ToStringHelperTest 
+  + +

+

+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/instrumentation/package-tree.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/instrumentation/package-tree.html new file mode 100644 index 0000000..30e9bab --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/instrumentation/package-tree.html @@ -0,0 +1,159 @@ + + + + + + + +org.slf4j.instrumentation Class Hierarchy (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For Package org.slf4j.instrumentation +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+
    +
  • java.lang.Object
      +
    • junit.framework.Assert
        +
      • junit.framework.TestCase (implements junit.framework.Test) + +
      +
    +
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/instrumentation/package-use.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/instrumentation/package-use.html new file mode 100644 index 0000000..457a282 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/instrumentation/package-use.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Package org.slf4j.instrumentation (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Package
org.slf4j.instrumentation

+
+No usage of org.slf4j.instrumentation +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/issue/LoggerSerializationTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/issue/LoggerSerializationTest.html new file mode 100644 index 0000000..4c52241 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/issue/LoggerSerializationTest.html @@ -0,0 +1,289 @@ + + + + + + + +LoggerSerializationTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.issue +
+Class LoggerSerializationTest

+
+java.lang.Object
+  extended by junit.framework.Assert
+      extended by junit.framework.TestCase
+          extended by org.slf4j.issue.LoggerSerializationTest
+
+
+
All Implemented Interfaces:
junit.framework.Test
+
+
+
+
public class LoggerSerializationTest
extends junit.framework.TestCase
+ + +

+See http://bugzilla.slf4j.org/show_bug.cgi?id=261 +

+ +

+

+
Author:
+
Thorbjorn Ravn Andersen
+
+
+ +

+ + + + + + + + + + + +
+Constructor Summary
LoggerSerializationTest() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+ voidtestCanLoggerBeSerialized() + +
+           
+ + + + + + + +
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString
+ + + + + + + +
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+LoggerSerializationTest

+
+public LoggerSerializationTest()
+
+
+ + + + + + + + +
+Method Detail
+ +

+testCanLoggerBeSerialized

+
+public void testCanLoggerBeSerialized()
+                               throws IOException,
+                                      ClassNotFoundException
+
+
+ +
Throws: +
IOException +
ClassNotFoundException
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/issue/class-use/LoggerSerializationTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/issue/class-use/LoggerSerializationTest.html new file mode 100644 index 0000000..e6e0747 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/issue/class-use/LoggerSerializationTest.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.issue.LoggerSerializationTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.issue.LoggerSerializationTest

+
+No usage of org.slf4j.issue.LoggerSerializationTest +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/issue/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/issue/package-frame.html new file mode 100644 index 0000000..44e6ffb --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/issue/package-frame.html @@ -0,0 +1,33 @@ + + + + + + + +org.slf4j.issue (SLF4J 1.7.5 Test API) + + + + + + + + + + + +org.slf4j.issue + + + + +
+Classes  + +
+LoggerSerializationTest
+ + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/issue/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/issue/package-summary.html new file mode 100644 index 0000000..fc24d0a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/issue/package-summary.html @@ -0,0 +1,158 @@ + + + + + + + +org.slf4j.issue (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+

+Package org.slf4j.issue +

+ + + + + + + + + +
+Class Summary
LoggerSerializationTestSee http://bugzilla.slf4j.org/show_bug.cgi?
+  + +

+

+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/issue/package-tree.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/issue/package-tree.html new file mode 100644 index 0000000..af5f805 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/issue/package-tree.html @@ -0,0 +1,159 @@ + + + + + + + +org.slf4j.issue Class Hierarchy (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For Package org.slf4j.issue +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+
    +
  • java.lang.Object
      +
    • junit.framework.Assert +
    +
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/issue/package-use.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/issue/package-use.html new file mode 100644 index 0000000..17b6aaa --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/issue/package-use.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Package org.slf4j.issue (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Package
org.slf4j.issue

+
+No usage of org.slf4j.issue +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/package-frame.html new file mode 100644 index 0000000..2833e89 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/package-frame.html @@ -0,0 +1,57 @@ + + + + + + + +org.slf4j (SLF4J 1.7.5 Test API) + + + + + + + + + + + +org.slf4j + + + + +
+Classes  + +
+BasicMarkerTest +
+CompatibilityAssertionTest +
+Differentiator +
+IncompatibleMultiBindingAssertionTest +
+InvocationTest +
+ListAppender +
+MissingSingletonMethodAssertionTest +
+MultiBindingAssertionTest +
+NDCTest +
+NoBindingTest +
+SilentPrintStream +
+StringPrintStream +
+VersionMismatchAssertionTest
+ + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/package-summary.html new file mode 100644 index 0000000..9078827 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/package-summary.html @@ -0,0 +1,206 @@ + + + + + + + +org.slf4j (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+

+Package org.slf4j +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class Summary
BasicMarkerTestUnit test BasicMarker
CompatibilityAssertionTest 
Differentiator 
IncompatibleMultiBindingAssertionTest 
InvocationTestTest whether invoking the SLF4J API causes problems or not.
ListAppender 
MissingSingletonMethodAssertionTest 
MultiBindingAssertionTest 
NDCTest 
NoBindingTest 
SilentPrintStream 
StringPrintStream 
VersionMismatchAssertionTest 
+  + +

+

+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/package-tree.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/package-tree.html new file mode 100644 index 0000000..d85f005 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/package-tree.html @@ -0,0 +1,170 @@ + + + + + + + +org.slf4j Class Hierarchy (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For Package org.slf4j +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/package-use.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/package-use.html new file mode 100644 index 0000000..21e8d5c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/package-use.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Package org.slf4j (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Package
org.slf4j

+
+No usage of org.slf4j +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/BasicProfilerDemo.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/BasicProfilerDemo.html new file mode 100644 index 0000000..cc19d18 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/BasicProfilerDemo.html @@ -0,0 +1,281 @@ + + + + + + + +BasicProfilerDemo (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.profiler +
+Class BasicProfilerDemo

+
+java.lang.Object
+  extended by org.slf4j.profiler.BasicProfilerDemo
+
+
+
+
public class BasicProfilerDemo
extends Object
+ + +

+This demo illustrates usage of SLF4J profilers. + +

+ We have been given the task of generating a large number, say N, of random + integers. We need to transform that array into a smaller array containing + only prime numbers. The new array has to be sorted. + +

+ While tackling this problem, we would like to measure the time spent in each + subtask. + +

+ A typical output for this demo would be: + +

+   + Profiler [BASIC]
+   |-- elapsed time                      [A]   213.186 milliseconds.
+   |-- elapsed time                      [B]  2499.107 milliseconds.
+   |-- elapsed time                  [OTHER]  3300.752 milliseconds.
+   |-- Total                         [BASIC]  6014.161 milliseconds.
+  
+

+ +

+

+
Author:
+
Ceki Gulcu
+
+
+ +

+ + + + + + + + + + + +
+Constructor Summary
BasicProfilerDemo() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+static voidmain(String[] args) + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+BasicProfilerDemo

+
+public BasicProfilerDemo()
+
+
+ + + + + + + + +
+Method Detail
+ +

+main

+
+public static void main(String[] args)
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/NestedProfilerDemo.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/NestedProfilerDemo.html new file mode 100644 index 0000000..8e2ba94 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/NestedProfilerDemo.html @@ -0,0 +1,283 @@ + + + + + + + +NestedProfilerDemo (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.profiler +
+Class NestedProfilerDemo

+
+java.lang.Object
+  extended by org.slf4j.profiler.NestedProfilerDemo
+
+
+
+
public class NestedProfilerDemo
extends Object
+ + +

+This demo illustrates usage of SLF4J profilers. + +

+ We have been given the task of generating a large number, say N, + of random integers. We need to transform that array into a smaller array + containing only prime numbers. The new array has to be sorted. + +

+ While tackling this problem, we would like to measure the + time spent in each subtask. + +

+ A typical output for this demo would be: +

+ + Profiler [DEMO]
+|-- elapsed time                       [RANDOM]     0.089  seconds.
+|---+ Profiler [SORT_AND_PRUNE]
+    |-- elapsed time                         [SORT]     0.221  seconds.
+    |-- elapsed time             [PRUNE_COMPOSITES]    11.567  seconds.
+    |-- Subtotal                   [SORT_AND_PRUNE]    11.788  seconds.
+|-- elapsed time               [SORT_AND_PRUNE]    11.788  seconds.
+|-- Total                                [DEMO]    11.877  seconds.
+
+

+ +

+

+
Author:
+
Ceki Gulcu
+
+
+ +

+ + + + + + + + + + + +
+Constructor Summary
NestedProfilerDemo() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+static voidmain(String[] args) + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+NestedProfilerDemo

+
+public NestedProfilerDemo()
+
+
+ + + + + + + + +
+Method Detail
+ +

+main

+
+public static void main(String[] args)
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/NestedProfilerDemo2.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/NestedProfilerDemo2.html new file mode 100644 index 0000000..ca61087 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/NestedProfilerDemo2.html @@ -0,0 +1,263 @@ + + + + + + + +NestedProfilerDemo2 (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.profiler +
+Class NestedProfilerDemo2

+
+java.lang.Object
+  extended by org.slf4j.profiler.NestedProfilerDemo2
+
+
+
+
public class NestedProfilerDemo2
extends Object
+ + +

+This demo illustrates usage of SLF4J profilers. It is almost identical to + the first NestProfilerDemo, except that it uses a logger instead of + printing its output on the console. +

+ +

+

+
Author:
+
Ceki Gulcu
+
+
+ +

+ + + + + + + + + + + +
+Constructor Summary
NestedProfilerDemo2() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+static voidmain(String[] args) + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+NestedProfilerDemo2

+
+public NestedProfilerDemo2()
+
+
+ + + + + + + + +
+Method Detail
+ +

+main

+
+public static void main(String[] args)
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/PackageTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/PackageTest.html new file mode 100644 index 0000000..40abd22 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/PackageTest.html @@ -0,0 +1,276 @@ + + + + + + + +PackageTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.profiler +
+Class PackageTest

+
+java.lang.Object
+  extended by junit.framework.Assert
+      extended by junit.framework.TestCase
+          extended by org.slf4j.profiler.PackageTest
+
+
+
All Implemented Interfaces:
junit.framework.Test
+
+
+
+
public class PackageTest
extends junit.framework.TestCase
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
PackageTest() + +
+           
+  + + + + + + + + + + + +
+Method Summary
+static junit.framework.Testsuite() + +
+           
+ + + + + + + +
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, setUp, tearDown, toString
+ + + + + + + +
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+PackageTest

+
+public PackageTest()
+
+
+ + + + + + + + +
+Method Detail
+ +

+suite

+
+public static junit.framework.Test suite()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/ProfilerTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/ProfilerTest.html new file mode 100644 index 0000000..79e576b --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/ProfilerTest.html @@ -0,0 +1,358 @@ + + + + + + + +ProfilerTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.profiler +
+Class ProfilerTest

+
+java.lang.Object
+  extended by junit.framework.Assert
+      extended by junit.framework.TestCase
+          extended by org.slf4j.profiler.ProfilerTest
+
+
+
All Implemented Interfaces:
junit.framework.Test
+
+
+
+
public class ProfilerTest
extends junit.framework.TestCase
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
ProfilerTest() + +
+           
+  + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voiddoSubtask(Profiler nested) + +
+           
+ voidsetUp() + +
+           
+ voidtestBasicProfiling() + +
+           
+ voidtestNestedProfiling() + +
+           
+ voidtestSmoke() + +
+           
+ + + + + + + +
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, tearDown, toString
+ + + + + + + +
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+ProfilerTest

+
+public ProfilerTest()
+
+
+ + + + + + + + +
+Method Detail
+ +

+setUp

+
+public void setUp()
+           throws Exception
+
+
+
Overrides:
setUp in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+testSmoke

+
+public void testSmoke()
+
+
+
+
+
+
+ +

+testBasicProfiling

+
+public void testBasicProfiling()
+
+
+
+
+
+
+ +

+testNestedProfiling

+
+public void testNestedProfiling()
+
+
+
+
+
+
+ +

+doSubtask

+
+public void doSubtask(Profiler nested)
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/RandomIntegerArrayGenerator.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/RandomIntegerArrayGenerator.html new file mode 100644 index 0000000..74d08d5 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/RandomIntegerArrayGenerator.html @@ -0,0 +1,225 @@ + + + + + + + +RandomIntegerArrayGenerator (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.profiler +
+Class RandomIntegerArrayGenerator

+
+java.lang.Object
+  extended by org.slf4j.profiler.RandomIntegerArrayGenerator
+
+
+
+
public class RandomIntegerArrayGenerator
extends Object
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
RandomIntegerArrayGenerator() + +
+           
+  + + + + + + + +
+Method Summary
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+RandomIntegerArrayGenerator

+
+public RandomIntegerArrayGenerator()
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/SortAndPruneComposites.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/SortAndPruneComposites.html new file mode 100644 index 0000000..57f87ea --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/SortAndPruneComposites.html @@ -0,0 +1,272 @@ + + + + + + + +SortAndPruneComposites (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.profiler +
+Class SortAndPruneComposites

+
+java.lang.Object
+  extended by org.slf4j.profiler.SortAndPruneComposites
+
+
+
+
public class SortAndPruneComposites
extends Object
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
SortAndPruneComposites(int[] randomArray) + +
+           
+  + + + + + + + + + + + + + + + +
+Method Summary
+ booleanisPrime(int n) + +
+           
+ int[]sortAndPruneComposites() + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+SortAndPruneComposites

+
+public SortAndPruneComposites(int[] randomArray)
+
+
+ + + + + + + + +
+Method Detail
+ +

+sortAndPruneComposites

+
+public int[] sortAndPruneComposites()
+
+
+
+
+
+
+ +

+isPrime

+
+public boolean isPrime(int n)
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/UtilTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/UtilTest.html new file mode 100644 index 0000000..1e69bc5 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/UtilTest.html @@ -0,0 +1,329 @@ + + + + + + + +UtilTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.profiler +
+Class UtilTest

+
+java.lang.Object
+  extended by junit.framework.Assert
+      extended by junit.framework.TestCase
+          extended by org.slf4j.profiler.UtilTest
+
+
+
All Implemented Interfaces:
junit.framework.Test
+
+
+
+
public class UtilTest
extends junit.framework.TestCase
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
UtilTest(String name) + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+protected  voidsetUp() + +
+           
+protected  voidtearDown() + +
+           
+ voidtestSelectDurationUnitForDisplay() + +
+           
+ + + + + + + +
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, toString
+ + + + + + + +
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+UtilTest

+
+public UtilTest(String name)
+
+
+ + + + + + + + +
+Method Detail
+ +

+setUp

+
+protected void setUp()
+              throws Exception
+
+
+
Overrides:
setUp in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+tearDown

+
+protected void tearDown()
+                 throws Exception
+
+
+
Overrides:
tearDown in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+testSelectDurationUnitForDisplay

+
+public void testSelectDurationUnitForDisplay()
+                                      throws InterruptedException
+
+
+ +
Throws: +
InterruptedException
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/class-use/BasicProfilerDemo.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/class-use/BasicProfilerDemo.html new file mode 100644 index 0000000..4307ab3 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/class-use/BasicProfilerDemo.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.profiler.BasicProfilerDemo (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.profiler.BasicProfilerDemo

+
+No usage of org.slf4j.profiler.BasicProfilerDemo +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/class-use/NestedProfilerDemo.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/class-use/NestedProfilerDemo.html new file mode 100644 index 0000000..89083f8 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/class-use/NestedProfilerDemo.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.profiler.NestedProfilerDemo (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.profiler.NestedProfilerDemo

+
+No usage of org.slf4j.profiler.NestedProfilerDemo +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/class-use/NestedProfilerDemo2.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/class-use/NestedProfilerDemo2.html new file mode 100644 index 0000000..3e06a2e --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/class-use/NestedProfilerDemo2.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.profiler.NestedProfilerDemo2 (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.profiler.NestedProfilerDemo2

+
+No usage of org.slf4j.profiler.NestedProfilerDemo2 +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/class-use/PackageTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/class-use/PackageTest.html new file mode 100644 index 0000000..a793341 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/class-use/PackageTest.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.profiler.PackageTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.profiler.PackageTest

+
+No usage of org.slf4j.profiler.PackageTest +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/class-use/ProfilerTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/class-use/ProfilerTest.html new file mode 100644 index 0000000..26c6879 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/class-use/ProfilerTest.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.profiler.ProfilerTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.profiler.ProfilerTest

+
+No usage of org.slf4j.profiler.ProfilerTest +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/class-use/RandomIntegerArrayGenerator.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/class-use/RandomIntegerArrayGenerator.html new file mode 100644 index 0000000..8660298 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/class-use/RandomIntegerArrayGenerator.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.profiler.RandomIntegerArrayGenerator (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.profiler.RandomIntegerArrayGenerator

+
+No usage of org.slf4j.profiler.RandomIntegerArrayGenerator +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/class-use/SortAndPruneComposites.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/class-use/SortAndPruneComposites.html new file mode 100644 index 0000000..f3ece90 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/class-use/SortAndPruneComposites.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.profiler.SortAndPruneComposites (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.profiler.SortAndPruneComposites

+
+No usage of org.slf4j.profiler.SortAndPruneComposites +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/class-use/UtilTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/class-use/UtilTest.html new file mode 100644 index 0000000..7e1ec35 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/class-use/UtilTest.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.profiler.UtilTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.profiler.UtilTest

+
+No usage of org.slf4j.profiler.UtilTest +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/package-frame.html new file mode 100644 index 0000000..9df0660 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/package-frame.html @@ -0,0 +1,47 @@ + + + + + + + +org.slf4j.profiler (SLF4J 1.7.5 Test API) + + + + + + + + + + + +org.slf4j.profiler + + + + +
+Classes  + +
+BasicProfilerDemo +
+NestedProfilerDemo +
+NestedProfilerDemo2 +
+PackageTest +
+ProfilerTest +
+RandomIntegerArrayGenerator +
+SortAndPruneComposites +
+UtilTest
+ + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/package-summary.html new file mode 100644 index 0000000..470c179 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/package-summary.html @@ -0,0 +1,186 @@ + + + + + + + +org.slf4j.profiler (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+

+Package org.slf4j.profiler +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+Class Summary
BasicProfilerDemoThis demo illustrates usage of SLF4J profilers.
NestedProfilerDemoThis demo illustrates usage of SLF4J profilers.
NestedProfilerDemo2This demo illustrates usage of SLF4J profilers.
PackageTest 
ProfilerTest 
RandomIntegerArrayGenerator 
SortAndPruneComposites 
UtilTest 
+  + +

+

+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/package-tree.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/package-tree.html new file mode 100644 index 0000000..223949d --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/package-tree.html @@ -0,0 +1,159 @@ + + + + + + + +org.slf4j.profiler Class Hierarchy (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For Package org.slf4j.profiler +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/package-use.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/package-use.html new file mode 100644 index 0000000..758dbb7 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/profiler/package-use.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Package org.slf4j.profiler (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Package
org.slf4j.profiler

+
+No usage of org.slf4j.profiler +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/test_osgi/BundleTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/test_osgi/BundleTest.html new file mode 100644 index 0000000..83c5d69 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/test_osgi/BundleTest.html @@ -0,0 +1,326 @@ + + + + + + + +BundleTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.test_osgi +
+Class BundleTest

+
+java.lang.Object
+  extended by junit.framework.Assert
+      extended by junit.framework.TestCase
+          extended by org.slf4j.test_osgi.BundleTest
+
+
+
All Implemented Interfaces:
junit.framework.Test
+
+
+
+
public class BundleTest
extends junit.framework.TestCase
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
BundleTest() + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+protected  voidsetUp() + +
+           
+protected  voidtearDown() + +
+           
+ voidtestSmoke() + +
+           
+ + + + + + + +
Methods inherited from class junit.framework.TestCase
countTestCases, createResult, getName, run, run, runBare, runTest, setName, toString
+ + + + + + + +
Methods inherited from class junit.framework.Assert
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+BundleTest

+
+public BundleTest()
+
+
+ + + + + + + + +
+Method Detail
+ +

+setUp

+
+protected void setUp()
+              throws Exception
+
+
+
Overrides:
setUp in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+tearDown

+
+protected void tearDown()
+                 throws Exception
+
+
+
Overrides:
tearDown in class junit.framework.TestCase
+
+
+ +
Throws: +
Exception
+
+
+
+ +

+testSmoke

+
+public void testSmoke()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/test_osgi/CheckingBundleListener.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/test_osgi/CheckingBundleListener.html new file mode 100644 index 0000000..b868b6b --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/test_osgi/CheckingBundleListener.html @@ -0,0 +1,281 @@ + + + + + + + +CheckingBundleListener (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.test_osgi +
+Class CheckingBundleListener

+
+java.lang.Object
+  extended by org.slf4j.test_osgi.CheckingBundleListener
+
+
+
All Implemented Interfaces:
EventListener, org.osgi.framework.BundleListener
+
+
+
+
public class CheckingBundleListener
extends Object
implements org.osgi.framework.BundleListener
+ + +

+


+ +

+ + + + + + + + + + + +
+Constructor Summary
CheckingBundleListener() + +
+           
+  + + + + + + + + + + + + + + + +
+Method Summary
+ voidbundleChanged(org.osgi.framework.BundleEvent be) + +
+           
+ voiddumpAll() + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+CheckingBundleListener

+
+public CheckingBundleListener()
+
+
+ + + + + + + + +
+Method Detail
+ +

+bundleChanged

+
+public void bundleChanged(org.osgi.framework.BundleEvent be)
+
+
+
Specified by:
bundleChanged in interface org.osgi.framework.BundleListener
+
+
+
+
+
+
+ +

+dumpAll

+
+public void dumpAll()
+
+
+
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/test_osgi/FelixHost.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/test_osgi/FelixHost.html new file mode 100644 index 0000000..37711b2 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/test_osgi/FelixHost.html @@ -0,0 +1,305 @@ + + + + + + + +FelixHost (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.test_osgi +
+Class FelixHost

+
+java.lang.Object
+  extended by org.slf4j.test_osgi.FelixHost
+
+
+
+
public class FelixHost
extends Object
+ + +

+Runs a hosted version of Felix for testing purposes. Any bundle errors are + reported via the FrameworkListener passed to the constructor. +

+ +

+

+
Author:
+
Ceki Gücü
+
+
+ +

+ + + + + + + + + + + +
+Constructor Summary
FelixHost(FrameworkErrorListener frameworkErrorListener, + CheckingBundleListener myBundleListener) + +
+           
+  + + + + + + + + + + + + + + + + + + + +
+Method Summary
+ voiddoLaunch() + +
+           
+ org.osgi.framework.Bundle[]getInstalledBundles() + +
+           
+ voidstop() + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Constructor Detail
+ +

+FelixHost

+
+public FelixHost(FrameworkErrorListener frameworkErrorListener,
+                 CheckingBundleListener myBundleListener)
+
+
+ + + + + + + + +
+Method Detail
+ +

+doLaunch

+
+public void doLaunch()
+
+
+
+
+
+
+ +

+stop

+
+public void stop()
+          throws org.osgi.framework.BundleException
+
+
+ +
Throws: +
org.osgi.framework.BundleException
+
+
+
+ +

+getInstalledBundles

+
+public org.osgi.framework.Bundle[] getInstalledBundles()
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/test_osgi/FrameworkErrorListener.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/test_osgi/FrameworkErrorListener.html new file mode 100644 index 0000000..13ebb74 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/test_osgi/FrameworkErrorListener.html @@ -0,0 +1,317 @@ + + + + + + + +FrameworkErrorListener (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+ +

+ +org.slf4j.test_osgi +
+Class FrameworkErrorListener

+
+java.lang.Object
+  extended by org.slf4j.test_osgi.FrameworkErrorListener
+
+
+
All Implemented Interfaces:
EventListener, org.osgi.framework.FrameworkListener
+
+
+
+
public class FrameworkErrorListener
extends Object
implements org.osgi.framework.FrameworkListener
+ + +

+


+ +

+ + + + + + + + + + + +
+Field Summary
+ ListerrorList + +
+           
+  + + + + + + + + + + +
+Constructor Summary
FrameworkErrorListener() + +
+           
+  + + + + + + + + + + + + + + + +
+Method Summary
+ voiddumpAll() + +
+           
+ voidframeworkEvent(org.osgi.framework.FrameworkEvent fe) + +
+           
+ + + + + + + +
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
+  +

+ + + + + + + + +
+Field Detail
+ +

+errorList

+
+public List errorList
+
+
+
+
+ + + + + + + + +
+Constructor Detail
+ +

+FrameworkErrorListener

+
+public FrameworkErrorListener()
+
+
+ + + + + + + + +
+Method Detail
+ +

+frameworkEvent

+
+public void frameworkEvent(org.osgi.framework.FrameworkEvent fe)
+
+
+
Specified by:
frameworkEvent in interface org.osgi.framework.FrameworkListener
+
+
+
+
+
+
+ +

+dumpAll

+
+public void dumpAll()
+
+
+
+
+
+
+
+
+ +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/test_osgi/class-use/BundleTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/test_osgi/class-use/BundleTest.html new file mode 100644 index 0000000..fe9c880 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/test_osgi/class-use/BundleTest.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.test_osgi.BundleTest (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.test_osgi.BundleTest

+
+No usage of org.slf4j.test_osgi.BundleTest +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/test_osgi/class-use/CheckingBundleListener.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/test_osgi/class-use/CheckingBundleListener.html new file mode 100644 index 0000000..5d2a216 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/test_osgi/class-use/CheckingBundleListener.html @@ -0,0 +1,180 @@ + + + + + + + +Uses of Class org.slf4j.test_osgi.CheckingBundleListener (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.test_osgi.CheckingBundleListener

+
+ + + + + + + + + +
+Packages that use CheckingBundleListener
org.slf4j.test_osgi  
+  +

+ + + + + +
+Uses of CheckingBundleListener in org.slf4j.test_osgi
+  +

+ + + + + + + + +
Constructors in org.slf4j.test_osgi with parameters of type CheckingBundleListener
FelixHost(FrameworkErrorListener frameworkErrorListener, + CheckingBundleListener myBundleListener) + +
+           
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/test_osgi/class-use/FelixHost.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/test_osgi/class-use/FelixHost.html new file mode 100644 index 0000000..3cee5eb --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/test_osgi/class-use/FelixHost.html @@ -0,0 +1,145 @@ + + + + + + + +Uses of Class org.slf4j.test_osgi.FelixHost (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.test_osgi.FelixHost

+
+No usage of org.slf4j.test_osgi.FelixHost +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/test_osgi/class-use/FrameworkErrorListener.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/test_osgi/class-use/FrameworkErrorListener.html new file mode 100644 index 0000000..b11770d --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/test_osgi/class-use/FrameworkErrorListener.html @@ -0,0 +1,180 @@ + + + + + + + +Uses of Class org.slf4j.test_osgi.FrameworkErrorListener (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Class
org.slf4j.test_osgi.FrameworkErrorListener

+
+ + + + + + + + + +
+Packages that use FrameworkErrorListener
org.slf4j.test_osgi  
+  +

+ + + + + +
+Uses of FrameworkErrorListener in org.slf4j.test_osgi
+  +

+ + + + + + + + +
Constructors in org.slf4j.test_osgi with parameters of type FrameworkErrorListener
FelixHost(FrameworkErrorListener frameworkErrorListener, + CheckingBundleListener myBundleListener) + +
+           
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/test_osgi/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/test_osgi/package-frame.html new file mode 100644 index 0000000..d885956 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/test_osgi/package-frame.html @@ -0,0 +1,39 @@ + + + + + + + +org.slf4j.test_osgi (SLF4J 1.7.5 Test API) + + + + + + + + + + + +org.slf4j.test_osgi + + + + +
+Classes  + +
+BundleTest +
+CheckingBundleListener +
+FelixHost +
+FrameworkErrorListener
+ + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/test_osgi/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/test_osgi/package-summary.html new file mode 100644 index 0000000..d134d85 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/test_osgi/package-summary.html @@ -0,0 +1,170 @@ + + + + + + + +org.slf4j.test_osgi (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+

+Package org.slf4j.test_osgi +

+ + + + + + + + + + + + + + + + + + + + + +
+Class Summary
BundleTest 
CheckingBundleListener 
FelixHostRuns a hosted version of Felix for testing purposes.
FrameworkErrorListener 
+  + +

+

+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/test_osgi/package-tree.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/test_osgi/package-tree.html new file mode 100644 index 0000000..382a3d9 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/test_osgi/package-tree.html @@ -0,0 +1,161 @@ + + + + + + + +org.slf4j.test_osgi Class Hierarchy (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For Package org.slf4j.test_osgi +

+
+
+
Package Hierarchies:
All Packages
+
+

+Class Hierarchy +

+
    +
  • java.lang.Object
      +
    • junit.framework.Assert
        +
      • junit.framework.TestCase (implements junit.framework.Test) + +
      +
    • org.slf4j.test_osgi.CheckingBundleListener (implements org.osgi.framework.BundleListener) +
    • org.slf4j.test_osgi.FelixHost
    • org.slf4j.test_osgi.FrameworkErrorListener (implements org.osgi.framework.FrameworkListener) +
    +
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/test_osgi/package-use.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/test_osgi/package-use.html new file mode 100644 index 0000000..8ad03ed --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/org/slf4j/test_osgi/package-use.html @@ -0,0 +1,177 @@ + + + + + + + +Uses of Package org.slf4j.test_osgi (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Uses of Package
org.slf4j.test_osgi

+
+ + + + + + + + + +
+Packages that use org.slf4j.test_osgi
org.slf4j.test_osgi  
+  +

+ + + + + + + + + + + +
+Classes in org.slf4j.test_osgi used by org.slf4j.test_osgi
CheckingBundleListener + +
+           
FrameworkErrorListener + +
+           
+  +

+


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/overview-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/overview-frame.html new file mode 100644 index 0000000..7731ca6 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/overview-frame.html @@ -0,0 +1,71 @@ + + + + + + + +Overview List (SLF4J 1.7.5 Test API) + + + + + + + + + + + + + + + +
+
+ + + + + +
All Classes +

+ +Packages +
+integrator +
+org.apache.commons.logging +
+org.apache.commons.logging.impl +
+org.apache.log4j +
+org.dummy +
+org.slf4j +
+org.slf4j.bridge +
+org.slf4j.cal10n_dummy +
+org.slf4j.dummyExt +
+org.slf4j.helpers +
+org.slf4j.impl +
+org.slf4j.instrumentation +
+org.slf4j.issue +
+org.slf4j.profiler +
+org.slf4j.test_osgi +
+

+ +

+  + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/overview-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/overview-summary.html new file mode 100644 index 0000000..5be9041 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/overview-summary.html @@ -0,0 +1,258 @@ + + + + + + + +Overview (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+SLF4J 1.7.5 Test API +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+SLF4J packages
org.slf4j 
org.slf4j.cal10n_dummy 
org.slf4j.dummyExtTests related to the org.slfj.ext package.
org.slf4j.helpers 
org.slf4j.impl 
org.slf4j.issue 
org.slf4j.test_osgi 
+ +

+  + + + + + + + + + + + + +
+SLF4J extensions
org.slf4j.instrumentation 
org.slf4j.profiler 
+ +

+  + + + + + + + + + + + + +
+Jakarta Commons Logging packages
org.apache.commons.logging 
org.apache.commons.logging.impl 
+ +

+  + + + + + + + + +
+java.util.logging (JUL) to SLF4J bridge
org.slf4j.bridge 
+ +

+  + + + + + + + + +
+Apache log4j
org.apache.log4j 
+ +

+  + + + + + + + + + + + + +
+Other Packages
integrator 
org.dummy 
+ +


+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/overview-tree.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/overview-tree.html new file mode 100644 index 0000000..0d51468 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/overview-tree.html @@ -0,0 +1,184 @@ + + + + + + + +Class Hierarchy (SLF4J 1.7.5 Test API) + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
+

+Hierarchy For All Packages

+
+
+
Package Hierarchies:
integrator, org.apache.commons.logging, org.apache.commons.logging.impl, org.apache.log4j, org.dummy, org.slf4j, org.slf4j.bridge, org.slf4j.cal10n_dummy, org.slf4j.dummyExt, org.slf4j.helpers, org.slf4j.impl, org.slf4j.instrumentation, org.slf4j.issue, org.slf4j.profiler, org.slf4j.test_osgi
+
+

+Class Hierarchy +

+ +

+Enum Hierarchy +

+ +
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/package-list b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/package-list new file mode 100644 index 0000000..c48340f --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/package-list @@ -0,0 +1,15 @@ +integrator +org.apache.commons.logging +org.apache.commons.logging.impl +org.apache.log4j +org.dummy +org.slf4j +org.slf4j.bridge +org.slf4j.cal10n_dummy +org.slf4j.dummyExt +org.slf4j.helpers +org.slf4j.impl +org.slf4j.instrumentation +org.slf4j.issue +org.slf4j.profiler +org.slf4j.test_osgi diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/resources/inherit.gif b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/resources/inherit.gif new file mode 100644 index 0000000..c814867 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/resources/inherit.gif differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/stylesheet.css b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/stylesheet.css new file mode 100644 index 0000000..6ea9e51 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/testapidocs/stylesheet.css @@ -0,0 +1,29 @@ +/* Javadoc style sheet */ + +/* Define colors, fonts and other style attributes here to override the defaults */ + +/* Page background color */ +body { background-color: #FFFFFF; color:#000000 } + +/* Headings */ +h1 { font-size: 145% } + +/* Table colors */ +.TableHeadingColor { background: #CCCCFF; color:#000000 } /* Dark mauve */ +.TableSubHeadingColor { background: #EEEEFF; color:#000000 } /* Light mauve */ +.TableRowColor { background: #FFFFFF; color:#000000 } /* White */ + +/* Font used in left-hand frame lists */ +.FrameTitleFont { font-size: 100%; font-family: Helvetica, Arial, sans-serif; color:#000000 } +.FrameHeadingFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif; color:#000000 } +.FrameItemFont { font-size: 90%; font-family: Helvetica, Arial, sans-serif; color:#000000 } + +/* Navigation bar fonts and colors */ +.NavBarCell1 { background-color:#EEEEFF; color:#000000} /* Light mauve */ +.NavBarCell1Rev { background-color:#00008B; color:#FFFFFF} /* Dark Blue */ +.NavBarFont1 { font-family: Arial, Helvetica, sans-serif; color:#000000;color:#000000;} +.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;color:#FFFFFF;} + +.NavBarCell2 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000} +.NavBarCell3 { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF; color:#000000} + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/allclasses-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/allclasses-frame.html new file mode 100644 index 0000000..e693061 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/allclasses-frame.html @@ -0,0 +1,221 @@ + + + + + + All Classes + + + + +

All Classes

+ + + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/index.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/index.html new file mode 100644 index 0000000..8574a0a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/index.html @@ -0,0 +1,24 @@ + + + + + + SLF4J 1.7.5 Reference + + + + + + + + + <body> + <h1>Frame Alert</h1> + <p> + You don't have frames. Go <a href="overview-summary.html">here</a> + </p> + </body> + + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/integrator/Activator.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/integrator/Activator.html new file mode 100644 index 0000000..0871fc5 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/integrator/Activator.html @@ -0,0 +1,74 @@ + + + + +Activator xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package integrator;
+26  
+27  import org.osgi.framework.Bundle;
+28  import org.osgi.framework.BundleActivator;
+29  import org.osgi.framework.BundleContext;
+30  import org.slf4j.Logger;
+31  import org.slf4j.LoggerFactory;
+32  
+33  /**
+34   * A BundleActivator which invokes slf4j loggers
+35   * @author Ceki G&uuml;lc&uuml;
+36   *
+37   */
+38  public class Activator implements BundleActivator {
+39  
+40    private BundleContext m_context = null;
+41  
+42    public void start(BundleContext context) {
+43      Logger logger = LoggerFactory.getLogger(this.getClass());
+44      logger.info("Activator.start()");
+45      m_context = context;
+46    }
+47  
+48    public void stop(BundleContext context) {
+49      m_context = null;
+50      Logger logger = LoggerFactory.getLogger(this.getClass());
+51      logger.info("Activator.stop");
+52    }
+53  
+54    public Bundle[] getBundles() {
+55      if (m_context != null) {
+56        return m_context.getBundles();
+57      }
+58      return null;
+59    }
+60  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/integrator/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/integrator/package-frame.html new file mode 100644 index 0000000..4d6e413 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/integrator/package-frame.html @@ -0,0 +1,24 @@ + + + + + + SLF4J 1.7.5 Reference Package integrator + + + + +

+ integrator +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/integrator/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/integrator/package-summary.html new file mode 100644 index 0000000..ca59b3e --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/integrator/package-summary.html @@ -0,0 +1,67 @@ + + + + + + SLF4J 1.7.5 Reference Package integrator + + + +
+ +
+
+ +
+ +

Package integrator

+ + + + + + + + + + + + +
Class Summary
+ Activator +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/apache/commons/logging/InvokeJCLTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/apache/commons/logging/InvokeJCLTest.html new file mode 100644 index 0000000..6612a8d --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/apache/commons/logging/InvokeJCLTest.html @@ -0,0 +1,99 @@ + + + + +InvokeJCLTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  
+26  package org.apache.commons.logging;
+27  
+28  import junit.framework.TestCase;
+29  
+30  
+31  public class InvokeJCLTest extends TestCase {
+32  
+33    public void testIsEnabledAPI() {
+34      // assume that we are running over slf4j-jdk14
+35      Log log = LogFactory.getLog(InvokeJCLTest.class);
+36      assertFalse(log.isTraceEnabled());
+37      assertFalse(log.isDebugEnabled());
+38      assertTrue(log.isInfoEnabled());
+39      assertTrue(log.isWarnEnabled());
+40      assertTrue(log.isErrorEnabled());
+41      assertTrue(log.isFatalEnabled());
+42    }
+43    
+44    public void testPrintAPI() {
+45      Log log = LogFactory.getLog(InvokeJCLTest.class);
+46      Exception e = new Exception("just testing");
+47    
+48      log.trace(null);
+49      log.trace("trace message");
+50      
+51      log.debug(null);
+52      log.debug("debug message");
+53      
+54      log.info(null);
+55      log.info("info  message");
+56      
+57      log.warn(null);
+58      log.warn("warn message");
+59  
+60      log.error(null);
+61      log.error("error message");
+62  
+63      log.fatal(null);
+64      log.fatal("fatal message");
+65      
+66  
+67      log.trace(null, e);
+68      log.trace("trace message", e);
+69      
+70      log.debug(null, e);
+71      log.debug("debug message", e);
+72      
+73      log.info(null, e);    
+74      log.info("info  message", e);
+75      
+76      log.warn(null, e);
+77      log.warn("warn message", e);
+78      
+79      log.error(null, e);
+80      log.error("error message", e);
+81      
+82      log.fatal(null, e);
+83      log.fatal("fatal message", e);
+84    }
+85  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/apache/commons/logging/impl/SerializationTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/apache/commons/logging/impl/SerializationTest.html new file mode 100644 index 0000000..4ee4f4c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/apache/commons/logging/impl/SerializationTest.html @@ -0,0 +1,104 @@ + + + + +SerializationTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.apache.commons.logging.impl;
+26  
+27  import java.io.ByteArrayInputStream;
+28  import java.io.ByteArrayOutputStream;
+29  import java.io.IOException;
+30  import java.io.ObjectInputStream;
+31  import java.io.ObjectOutputStream;
+32  
+33  import junit.framework.TestCase;
+34  
+35  import org.apache.commons.logging.Log;
+36  import org.apache.commons.logging.LogFactory;
+37  import org.slf4j.impl.JDK14LoggerFactory;
+38  import org.slf4j.spi.LocationAwareLogger;
+39  
+40  public class SerializationTest extends TestCase {
+41  
+42    ObjectInputStream ois;
+43    ByteArrayOutputStream baos = new ByteArrayOutputStream();
+44    ObjectOutputStream oos;
+45  
+46    public SerializationTest(String name) {
+47      super(name);
+48    }
+49  
+50    protected void setUp() throws Exception {
+51      oos = new ObjectOutputStream(baos);
+52      super.setUp();
+53    }
+54  
+55    protected void tearDown() throws Exception {
+56      super.tearDown();
+57      oos.close();
+58    }
+59  
+60    public void verify() throws IOException, ClassNotFoundException {
+61      ByteArrayInputStream bis = new ByteArrayInputStream(baos.toByteArray());
+62      ois = new ObjectInputStream(bis);
+63  
+64      Log resuscitatedLog = (Log) ois.readObject();
+65      // tests that the "private transient Logger logger" field is non-null
+66      resuscitatedLog.debug("");
+67      resuscitatedLog.isDebugEnabled();
+68    }
+69  
+70    public void testSLF4JLog() throws Exception {
+71      JDK14LoggerFactory factory = new JDK14LoggerFactory();
+72      SLF4JLog log = new SLF4JLog(factory.getLogger("x"));
+73      oos.writeObject(log);
+74      verify();
+75    }
+76  
+77    public void testSmoke() throws Exception {
+78      Log log = LogFactory.getLog("testing");
+79      oos.writeObject(log);
+80      verify();
+81    }
+82  
+83    public void testLocationAware() throws Exception {
+84      JDK14LoggerFactory factory = new JDK14LoggerFactory();
+85      SLF4JLocationAwareLog log = new SLF4JLocationAwareLog(
+86          (LocationAwareLogger) factory.getLogger("x"));
+87      oos.writeObject(log);
+88      verify();
+89    }
+90  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/apache/commons/logging/impl/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/apache/commons/logging/impl/package-frame.html new file mode 100644 index 0000000..ef4b9eb --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/apache/commons/logging/impl/package-frame.html @@ -0,0 +1,24 @@ + + + + + + SLF4J 1.7.5 Reference Package org.apache.commons.logging.impl + + + + +

+ org.apache.commons.logging.impl +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/apache/commons/logging/impl/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/apache/commons/logging/impl/package-summary.html new file mode 100644 index 0000000..be8fcc4 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/apache/commons/logging/impl/package-summary.html @@ -0,0 +1,67 @@ + + + + + + SLF4J 1.7.5 Reference Package org.apache.commons.logging.impl + + + +
+ +
+
+ +
+ +

Package org.apache.commons.logging.impl

+ + + + + + + + + + + + +
Class Summary
+ SerializationTest +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/apache/commons/logging/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/apache/commons/logging/package-frame.html new file mode 100644 index 0000000..964f1db --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/apache/commons/logging/package-frame.html @@ -0,0 +1,24 @@ + + + + + + SLF4J 1.7.5 Reference Package org.apache.commons.logging + + + + +

+ org.apache.commons.logging +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/apache/commons/logging/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/apache/commons/logging/package-summary.html new file mode 100644 index 0000000..ec08b7c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/apache/commons/logging/package-summary.html @@ -0,0 +1,67 @@ + + + + + + SLF4J 1.7.5 Reference Package org.apache.commons.logging + + + +
+ +
+
+ +
+ +

Package org.apache.commons.logging

+ + + + + + + + + + + + +
Class Summary
+ InvokeJCLTest +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/apache/log4j/NDCTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/apache/log4j/NDCTest.html new file mode 100644 index 0000000..9a6d346 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/apache/log4j/NDCTest.html @@ -0,0 +1,75 @@ + + + + +NDCTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.apache.log4j;
+26  
+27  import junit.framework.TestCase;
+28  
+29  /**
+30   * @author Ceki G&uuml;c&uuml;
+31   */
+32  public class NDCTest extends TestCase {
+33  
+34  
+35    public void setUp() {
+36      assertEquals(0, NDC.getDepth());
+37    }
+38  
+39    public void tearDown() {
+40      NDC.clear();
+41    }
+42  
+43    public void testSmoke() {
+44      NDC.push("a");
+45      String back = NDC.pop();
+46      assertEquals("a", back);
+47    }
+48  
+49    public void testPop() {
+50      NDC.push("peek");
+51      String back = NDC.peek();
+52      assertEquals("peek", back);
+53    }
+54  
+55    public void testClear() {
+56      NDC.push("clear");
+57      NDC.clear();
+58      assertEquals(0, NDC.getDepth());
+59    }
+60  
+61  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/apache/log4j/Trivial.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/apache/log4j/Trivial.html new file mode 100644 index 0000000..c8f3556 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/apache/log4j/Trivial.html @@ -0,0 +1,65 @@ + + + + +Trivial xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.apache.log4j;
+26  
+27  import org.apache.log4j.Logger;
+28  
+29  import junit.framework.TestCase;
+30  
+31  public class Trivial extends TestCase {
+32  
+33    public void testSmoke() {
+34      Logger l = Logger.getLogger("a");
+35      l.trace("t");
+36      l.debug("d");
+37      l.info("i");
+38      l.warn("w");
+39      l.error("e");
+40      l.fatal("f");
+41  
+42      Exception e = new Exception("testing");
+43      l.trace("t", e);
+44      l.debug("d", e);
+45      l.info("i", e);
+46      l.warn("w", e);
+47      l.error("e", e);
+48      l.fatal("f", e);
+49    }
+50  
+51  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/apache/log4j/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/apache/log4j/package-frame.html new file mode 100644 index 0000000..53f90ec --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/apache/log4j/package-frame.html @@ -0,0 +1,27 @@ + + + + + + SLF4J 1.7.5 Reference Package org.apache.log4j + + + + +

+ org.apache.log4j +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/apache/log4j/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/apache/log4j/package-summary.html new file mode 100644 index 0000000..df2b258 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/apache/log4j/package-summary.html @@ -0,0 +1,72 @@ + + + + + + SLF4J 1.7.5 Reference Package org.apache.log4j + + + +
+ +
+
+ +
+ +

Package org.apache.log4j

+ + + + + + + + + + + + + + + +
Class Summary
+ NDCTest +
+ Trivial +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/dummy/Bug131.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/dummy/Bug131.html new file mode 100644 index 0000000..2689134 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/dummy/Bug131.html @@ -0,0 +1,82 @@ + + + + +Bug131 xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.dummy;
+26  
+27  import java.util.logging.Level;
+28  import java.util.logging.LogRecord;
+29  
+30  import junit.framework.TestCase;
+31  
+32  import org.apache.log4j.Category;
+33  import org.apache.log4j.Logger;
+34  
+35  public class Bug131 extends TestCase {
+36  
+37    public void testBug131() {
+38  
+39      ListHandler listHandler = new ListHandler();
+40      java.util.logging.Logger root = java.util.logging.Logger.getLogger("");
+41      root.addHandler(listHandler);
+42      root.setLevel(Level.FINEST);
+43      Logger log4jLogger = Logger.getLogger("a");
+44      Category log4jCategory = Logger.getLogger("b");
+45  
+46      int n = 0;
+47  
+48      log4jLogger.trace("msg" +(n++));
+49      log4jLogger.debug("msg" +(n++));
+50      log4jLogger.info("msg" +(n++));
+51      log4jLogger.warn("msg" +(n++));
+52      log4jLogger.error("msg" +(n++));
+53      log4jLogger.fatal("msg" +(n++));
+54      
+55      log4jCategory.debug("msg" +(n++));
+56      log4jCategory.info("msg" +(n++));
+57      log4jCategory.warn("msg" +(n++));
+58      log4jCategory.error("msg" +(n++));
+59      log4jCategory.fatal("msg" +(n++));
+60   
+61      assertEquals(n, listHandler.list.size());
+62      
+63      for(int i = 0; i < n; i++) {
+64        LogRecord logRecord = (LogRecord) listHandler.list.get(i);
+65        assertEquals("testBug131", logRecord.getSourceMethodName());   
+66      }
+67    }
+68  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/dummy/Bug139.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/dummy/Bug139.html new file mode 100644 index 0000000..f23adfc --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/dummy/Bug139.html @@ -0,0 +1,71 @@ + + + + +Bug139 xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.dummy;
+26  
+27  import java.util.logging.Level;
+28  import java.util.logging.LogRecord;
+29  
+30  import junit.framework.TestCase;
+31  
+32  import org.apache.log4j.Category;
+33  import org.apache.log4j.Logger;
+34  
+35  public class Bug139 extends TestCase {
+36  
+37    public void test() {
+38      ListHandler listHandler = new ListHandler();
+39      java.util.logging.Logger root = java.util.logging.Logger.getLogger("");
+40      root.addHandler(listHandler);
+41      root.setLevel(Level.FINEST);
+42      Logger log4jLogger = Logger.getLogger("a");
+43      Category log4jCategory = Logger.getLogger("b");
+44  
+45      int n = 0;
+46  
+47      log4jLogger.log(org.apache.log4j.Level.DEBUG, "hello"+(++n));
+48      log4jCategory.log(org.apache.log4j.Level.DEBUG, "world"+(++n));
+49      
+50      assertEquals(n, listHandler.list.size());
+51  
+52      for (int i = 0; i < n; i++) {
+53        LogRecord logRecord = (LogRecord) listHandler.list.get(i);
+54        assertEquals("test", logRecord.getSourceMethodName());
+55      }
+56    }
+57  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/dummy/ListHandler.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/dummy/ListHandler.html new file mode 100644 index 0000000..688c634 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/dummy/ListHandler.html @@ -0,0 +1,63 @@ + + + + +ListHandler xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.dummy;
+26  
+27  import java.util.ArrayList;
+28  import java.util.List;
+29  import java.util.logging.Handler;
+30  import java.util.logging.LogRecord;
+31  
+32  public class ListHandler extends Handler {
+33  
+34    List list = new ArrayList();
+35    
+36    public void close() throws SecurityException {
+37  
+38    }
+39  
+40    public void flush() {
+41  
+42    }
+43  
+44    public void publish(LogRecord logRecord) {
+45      logRecord.getSourceClassName();
+46      list.add(logRecord);
+47    }
+48  
+49  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/dummy/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/dummy/package-frame.html new file mode 100644 index 0000000..5ba8bfb --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/dummy/package-frame.html @@ -0,0 +1,30 @@ + + + + + + SLF4J 1.7.5 Reference Package org.dummy + + + + +

+ org.dummy +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/dummy/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/dummy/package-summary.html new file mode 100644 index 0000000..9fa31a3 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/dummy/package-summary.html @@ -0,0 +1,77 @@ + + + + + + SLF4J 1.7.5 Reference Package org.dummy + + + +
+ +
+
+ +
+ +

Package org.dummy

+ + + + + + + + + + + + + + + + + + +
Class Summary
+ Bug131 +
+ Bug139 +
+ ListHandler +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/BasicMarkerTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/BasicMarkerTest.html new file mode 100644 index 0000000..2fa4c35 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/BasicMarkerTest.html @@ -0,0 +1,210 @@ + + + + +BasicMarkerTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j;
+26  
+27  import java.util.Iterator;
+28  
+29  import junit.framework.TestCase;
+30  
+31  import org.slf4j.helpers.BasicMarkerFactory;
+32  
+33  /**
+34   * Unit test BasicMarker
+35   * 
+36   * @author Ceki G&uuml;lc&uuml;
+37   * @author Joern Huxhorn
+38   */
+39  public class BasicMarkerTest extends TestCase {
+40    static final String BLUE_STR = "BLUE";
+41    static final String RED_STR = "RED";
+42    static final String GREEN_STR = "GREEN";
+43    static final String COMP_STR = "COMP";
+44    static final String MULTI_COMP_STR = "MULTI_COMP";
+45    static final String PARENT_MARKER_STR = "PARENT_MARKER";
+46    static final String CHILD_MARKER_STR = "CHILD_MARKER";
+47    static final String NOT_CONTAINED_MARKER_STR = "NOT_CONTAINED";
+48  
+49    final IMarkerFactory factory;
+50    final Marker blue;
+51    final Marker red;
+52    final Marker green;
+53    final Marker comp;
+54    final Marker multiComp;
+55  
+56    short diff = Differentiator.getDiffentiator();
+57    
+58    public BasicMarkerTest() {
+59      factory = new BasicMarkerFactory();
+60  
+61      blue = factory.getMarker(BLUE_STR);
+62      red = factory.getMarker(RED_STR);
+63      green = factory.getMarker(GREEN_STR);
+64      comp = factory.getMarker(COMP_STR);
+65      comp.add(blue);
+66  
+67      multiComp = factory.getMarker(MULTI_COMP_STR);
+68      multiComp.add(green);
+69      multiComp.add(comp);
+70    }
+71  
+72    public void testPrimitive() {
+73      assertEquals(BLUE_STR, blue.getName());
+74      assertTrue(blue.contains(blue));
+75  
+76      Marker blue2 = factory.getMarker(BLUE_STR);
+77      assertEquals(BLUE_STR, blue2.getName());
+78      assertEquals(blue, blue2);
+79      assertTrue(blue.contains(blue2));
+80      assertTrue(blue2.contains(blue));
+81    }
+82  
+83    public void testPrimitiveByName() {
+84      assertTrue(blue.contains(BLUE_STR));
+85    }
+86  
+87    public void testComposite() {
+88      assertTrue(comp.contains(comp));
+89      assertTrue(comp.contains(blue));
+90    }
+91  
+92    public void testCompositeByName() {
+93      assertTrue(comp.contains(COMP_STR));
+94      assertTrue(comp.contains(BLUE_STR));
+95    }
+96  
+97    public void testMultiComposite() {
+98      assertTrue(multiComp.contains(comp));
+99      assertTrue(multiComp.contains(blue));
+100     assertTrue(multiComp.contains(green));
+101     assertFalse(multiComp.contains(red));
+102   }
+103 
+104   public void testMultiCompositeByName() {
+105     assertTrue(multiComp.contains(COMP_STR));
+106     assertTrue(multiComp.contains(BLUE_STR));
+107     assertTrue(multiComp.contains(GREEN_STR));
+108     assertFalse(multiComp.contains(RED_STR));
+109   }
+110 
+111   public void testMultiAdd() {
+112     Marker parent = factory.getMarker(PARENT_MARKER_STR);
+113     Marker child = factory.getMarker(CHILD_MARKER_STR);
+114     for (int i = 0; i < 10; i++) {
+115       parent.add(child);
+116     }
+117 
+118     // check that the child was added once and only once
+119     Iterator iterator = parent.iterator();
+120     assertTrue(iterator.hasNext());
+121     assertEquals(CHILD_MARKER_STR, iterator.next().toString());
+122     assertFalse(iterator.hasNext());
+123   }
+124 
+125   public void testAddRemove() {
+126     final String NEW_PREFIX = "NEW_";
+127     Marker parent = factory.getMarker(NEW_PREFIX + PARENT_MARKER_STR);
+128     Marker child = factory.getMarker(NEW_PREFIX + CHILD_MARKER_STR);
+129     assertFalse(parent.contains(child));
+130     assertFalse(parent.contains(NEW_PREFIX + CHILD_MARKER_STR));
+131     assertFalse(parent.remove(child));
+132 
+133     parent.add(child);
+134 
+135     assertTrue(parent.contains(child));
+136     assertTrue(parent.contains(NEW_PREFIX + CHILD_MARKER_STR));
+137 
+138     assertTrue(parent.remove(child));
+139 
+140     assertFalse(parent.contains(child));
+141     assertFalse(parent.contains(NEW_PREFIX + CHILD_MARKER_STR));
+142     assertFalse(parent.remove(child));
+143   }
+144 
+145   public void testSelfRecursion() {
+146     final String diffPrefix = "NEW_"+diff;
+147     final String PARENT_NAME = diffPrefix + PARENT_MARKER_STR;
+148     final String NOT_CONTAINED_NAME = diffPrefix + NOT_CONTAINED_MARKER_STR;
+149     Marker parent = factory.getMarker(PARENT_NAME);
+150     Marker notContained = factory.getMarker(NOT_CONTAINED_NAME);
+151     parent.add(parent);
+152     assertTrue(parent.contains(parent));
+153     assertTrue(parent.contains(PARENT_NAME));
+154     assertFalse(parent.contains(notContained));
+155     assertFalse(parent.contains(NOT_CONTAINED_MARKER_STR));
+156   }
+157 
+158   public void testIndirectRecursion() {
+159     final String diffPrefix = "NEW_"+diff;
+160     final String PARENT_NAME=diffPrefix+PARENT_MARKER_STR;
+161     final String CHILD_NAME=diffPrefix+CHILD_MARKER_STR;
+162     final String NOT_CONTAINED_NAME=diffPrefix+NOT_CONTAINED_MARKER_STR;
+163 
+164     Marker parent = factory.getMarker(PARENT_NAME);
+165     Marker child = factory.getMarker(CHILD_NAME);
+166     Marker notContained = factory.getMarker(NOT_CONTAINED_NAME);
+167 
+168     parent.add(child);
+169     child.add(parent);
+170     assertTrue(parent.contains(parent));
+171     assertTrue(parent.contains(child));
+172     assertTrue(parent.contains(PARENT_NAME));
+173     assertTrue(parent.contains(CHILD_NAME));
+174     assertFalse(parent.contains(notContained));
+175     assertFalse(parent.contains(NOT_CONTAINED_MARKER_STR));
+176   }
+177 
+178   public void testHomonyms() {
+179     final String diffPrefix = "homonym"+diff;
+180     final String PARENT_NAME=diffPrefix+PARENT_MARKER_STR;
+181     final String CHILD_NAME=diffPrefix+CHILD_MARKER_STR;
+182     Marker parent = factory.getMarker(PARENT_NAME);
+183     Marker child = factory.getMarker(CHILD_NAME);
+184     parent.add(child);
+185    
+186     IMarkerFactory otherFactory = new BasicMarkerFactory();
+187     Marker otherParent = otherFactory.getMarker(PARENT_NAME);
+188     Marker otherChild = otherFactory.getMarker(CHILD_NAME);
+189     
+190     assertTrue(parent.contains(otherParent));
+191     assertTrue(parent.contains(otherChild));
+192     
+193     assertTrue(parent.remove(otherChild));
+194   }
+195   
+196 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/CompatibilityAssertionTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/CompatibilityAssertionTest.html new file mode 100644 index 0000000..0af2190 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/CompatibilityAssertionTest.html @@ -0,0 +1,76 @@ + + + + +CompatibilityAssertionTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  
+26  package org.slf4j;
+27  
+28  import java.io.PrintStream;
+29  import java.util.Random;
+30  
+31  import junit.framework.TestCase;
+32  
+33  public class CompatibilityAssertionTest extends TestCase {
+34  
+35    StringPrintStream sps = new StringPrintStream(System.err);
+36    PrintStream old = System.err;
+37    int diff = 1024 + new Random().nextInt(10000);
+38    
+39    public CompatibilityAssertionTest(String name) {
+40      super(name);
+41    }
+42  
+43    protected void setUp() throws Exception {
+44      super.setUp();
+45      System.setErr(sps);
+46    }
+47  
+48    protected void tearDown() throws Exception {
+49      super.tearDown();
+50      System.setErr(old);
+51    }
+52  
+53    
+54    public void test() throws Exception  {
+55      Logger logger = LoggerFactory.getLogger(this.getClass());
+56      String msg = "hello world "+diff;
+57      logger.info(msg);
+58      assertEquals(1, sps.stringList.size());
+59      String s0 = (String) sps.stringList.get(0);
+60      assertTrue(s0.contains(msg));
+61    }
+62  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/Differentiator.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/Differentiator.html new file mode 100644 index 0000000..b696c5e --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/Differentiator.html @@ -0,0 +1,51 @@ + + + + +Differentiator xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  
+26  package org.slf4j;
+27  
+28  import java.util.Random;
+29  
+30  public class Differentiator {
+31  
+32    static Random random = new Random(System.currentTimeMillis());
+33    
+34    static public short getDiffentiator() {
+35      return (short) random.nextInt(Short.MAX_VALUE);
+36    }
+37  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/IncompatibleMultiBindingAssertionTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/IncompatibleMultiBindingAssertionTest.html new file mode 100644 index 0000000..84cce40 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/IncompatibleMultiBindingAssertionTest.html @@ -0,0 +1,89 @@ + + + + +IncompatibleMultiBindingAssertionTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j;
+26  
+27  import java.io.PrintStream;
+28  import java.util.List;
+29  import java.util.Random;
+30  
+31  import junit.framework.TestCase;
+32  
+33  public class IncompatibleMultiBindingAssertionTest extends TestCase {
+34  
+35    StringPrintStream sps = new StringPrintStream(System.err);
+36    PrintStream old = System.err;
+37    int diff = 1024 + new Random().nextInt(10000);
+38  
+39    public IncompatibleMultiBindingAssertionTest(String name) {
+40      super(name);
+41    }
+42  
+43    protected void setUp() throws Exception {
+44      super.setUp();
+45      System.setErr(sps);
+46    }
+47  
+48    protected void tearDown() throws Exception {
+49      super.tearDown();
+50      System.setErr(old);
+51    }
+52  
+53    public void test() throws Exception {
+54      try {
+55        Logger logger = LoggerFactory.getLogger(this.getClass());
+56        String msg = "hello world " + diff;
+57        logger.info(msg);
+58        fail("was expecting NoSuchMethodError");
+59      } catch (NoSuchMethodError e) {
+60      }
+61      List list = sps.stringList;
+62      assertMsgContains(list, 0, "Class path contains multiple SLF4J bindings.");
+63      assertMsgContains(list, 1, "Found binding in");
+64      assertMsgContains(list, 2, "Found binding in");
+65      assertMsgContains(list, 3, "See http://www.slf4j.org/codes.html");
+66      assertMsgContains(list, 4,
+67          "slf4j-api 1.6.x (or later) is incompatible with this binding");
+68      assertMsgContains(list, 5, "Your binding is version 1.5.5 or earlier.");
+69  
+70    }
+71  
+72    void assertMsgContains(List strList, int index, String msg) {
+73      assertTrue(((String) strList.get(index)).contains(msg));
+74    }
+75  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/InvocationTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/InvocationTest.html new file mode 100644 index 0000000..07a256d --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/InvocationTest.html @@ -0,0 +1,143 @@ + + + + +InvocationTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j;
+26  
+27  import java.util.logging.Level;
+28  
+29  import junit.framework.TestCase;
+30  
+31  
+32  /**
+33   * Test whether invoking the SLF4J API causes problems or not.
+34   * 
+35   * @author Ceki Gulcu
+36   *
+37   */
+38  public class InvocationTest extends TestCase {
+39  
+40    Level oldLevel;
+41    java.util.logging.Logger root = java.util.logging.Logger.getLogger("");
+42    
+43    
+44    public InvocationTest (String arg0) {
+45      super(arg0);
+46    }
+47  
+48    protected void setUp() throws Exception {
+49      super.setUp();
+50      oldLevel = root.getLevel();
+51      root.setLevel(Level.OFF);
+52    }
+53  
+54    protected void tearDown() throws Exception {
+55      super.tearDown();
+56      root.setLevel(oldLevel);
+57    }
+58    
+59    public void test1() {
+60      Logger logger = LoggerFactory.getLogger("test1");
+61      logger.debug("Hello world.");
+62    }
+63    
+64    public void test2() {
+65      Integer i1 = new Integer(1);
+66      Integer i2 = new Integer(2);
+67      Integer i3 = new Integer(3);
+68      Exception e = new Exception("This is a test exception.");
+69      Logger logger = LoggerFactory.getLogger("test2");
+70      
+71      logger.debug("Hello world 1.");
+72      logger.debug("Hello world {}", i1);
+73      logger.debug("val={} val={}", i1, i2);
+74      logger.debug("val={} val={} val={}", new Object[]{i1, i2, i3});
+75      
+76      logger.debug("Hello world 2", e);
+77      logger.info("Hello world 2.");
+78   
+79      
+80      logger.warn("Hello world 3.");
+81      logger.warn("Hello world 3", e);
+82   
+83    
+84      logger.error("Hello world 4.");
+85      logger.error("Hello world {}", new Integer(3)); 
+86      logger.error("Hello world 4.", e);
+87    }
+88    
+89    public void testNull() {
+90      Logger logger = LoggerFactory.getLogger("testNull");
+91      logger.debug(null);
+92      logger.info(null);
+93      logger.warn(null);
+94      logger.error(null);
+95      
+96      Exception e = new Exception("This is a test exception.");
+97      logger.debug(null, e);
+98      logger.info(null, e);
+99      logger.warn(null, e);
+100     logger.error(null, e);
+101   }
+102   
+103   public void testMarker() {
+104     Logger logger = LoggerFactory.getLogger("testMarker");
+105     Marker blue = MarkerFactory.getMarker("BLUE");
+106     logger.debug(blue, "hello");
+107     logger.info(blue, "hello");
+108     logger.warn(blue, "hello");
+109     logger.error(blue, "hello");
+110     
+111     logger.debug(blue, "hello {}", "world");
+112     logger.info(blue, "hello {}", "world");
+113     logger.warn(blue, "hello {}", "world");
+114     logger.error(blue, "hello {}", "world");
+115 
+116     logger.debug(blue, "hello {} and {} ", "world", "universe");
+117     logger.info(blue, "hello {} and {} ", "world", "universe");
+118     logger.warn(blue, "hello {} and {} ", "world", "universe");
+119     logger.error(blue, "hello {} and {} ", "world", "universe");
+120   }
+121   
+122   public void testMDC() {
+123     MDC.put("k", "v");
+124     assertNull(MDC.get("k"));
+125     MDC.remove("k");
+126     assertNull(MDC.get("k"));
+127     MDC.clear();
+128   }
+129 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/ListAppender.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/ListAppender.html new file mode 100644 index 0000000..7a40db6 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/ListAppender.html @@ -0,0 +1,67 @@ + + + + +ListAppender xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j;
+26  
+27  import java.util.ArrayList;
+28  import java.util.List;
+29  
+30  import org.apache.log4j.AppenderSkeleton;
+31  import org.apache.log4j.spi.LoggingEvent;
+32  
+33  public class ListAppender extends AppenderSkeleton {
+34  
+35    public List list = new ArrayList();
+36    
+37    public boolean extractLocationInfo = false;
+38    
+39    protected void append(LoggingEvent event) {
+40      list.add(event);
+41      if(extractLocationInfo) {
+42        event.getLocationInformation();
+43      }
+44    }
+45  
+46    public void close() {
+47    }
+48  
+49    public boolean requiresLayout() {
+50      return false;
+51    }
+52  
+53  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/MissingSingletonMethodAssertionTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/MissingSingletonMethodAssertionTest.html new file mode 100644 index 0000000..dcfbc5a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/MissingSingletonMethodAssertionTest.html @@ -0,0 +1,101 @@ + + + + +MissingSingletonMethodAssertionTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j;
+26  
+27  import java.io.PrintStream;
+28  import java.util.Random;
+29  
+30  import junit.framework.TestCase;
+31  
+32  public class MissingSingletonMethodAssertionTest extends TestCase {
+33  
+34    StringPrintStream sps = new StringPrintStream(System.err);
+35    PrintStream old = System.err;
+36    int diff = 1024 + new Random().nextInt(10000);
+37  
+38    public MissingSingletonMethodAssertionTest(String name) {
+39      super(name);
+40    }
+41  
+42    protected void setUp() throws Exception {
+43      super.setUp();
+44      System.setErr(sps);
+45    }
+46  
+47    protected void tearDown() throws Exception {
+48      super.tearDown();
+49      System.setErr(old);
+50    }
+51  
+52    public void test() throws Exception {
+53      try {
+54        Logger logger = LoggerFactory.getLogger(this.getClass());
+55        String msg = "hello world " + diff;
+56        logger.info(msg);
+57        fail("NoSuchMethodError expected");
+58      } catch (NoSuchMethodError e) {
+59      }
+60      
+61      int lineCount = sps.stringList
+62      .size();
+63      assertTrue("number of lines should be 3 but was "+lineCount, lineCount == 3);
+64  
+65      
+66      // expected output:
+67      // SLF4J: slf4j-api 1.6.x (or later) is incompatible with this binding.
+68      // SLF4J: Your binding is version 1.4.x or earlier.
+69      // SLF4J: Upgrade your binding to version 1.6.x. or 2.0.x
+70  
+71      {
+72        String s = (String) sps.stringList.get(0);
+73        assertTrue(s
+74            .contains("SLF4J: slf4j-api 1.6.x (or later) is incompatible with this binding."));
+75      }
+76      {
+77        String s = (String) sps.stringList.get(1);
+78        assertTrue(s.contains("SLF4J: Your binding is version 1.5.5 or earlier."));
+79      }
+80      {
+81        String s = (String) sps.stringList.get(2);
+82        assertTrue(s
+83            .contains("SLF4J: Upgrade your binding to version 1.6.x."));
+84      }
+85  
+86    }
+87  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/MultiBindingAssertionTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/MultiBindingAssertionTest.html new file mode 100644 index 0000000..927bfca --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/MultiBindingAssertionTest.html @@ -0,0 +1,82 @@ + + + + +MultiBindingAssertionTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j;
+26  
+27  import java.io.PrintStream;
+28  import java.util.List;
+29  import java.util.Random;
+30  
+31  import junit.framework.TestCase;
+32  
+33  public class MultiBindingAssertionTest extends TestCase {
+34  
+35    StringPrintStream sps = new StringPrintStream(System.err);
+36    PrintStream old = System.err;
+37    int diff = 1024 + new Random().nextInt(10000);
+38  
+39    public MultiBindingAssertionTest(String name) {
+40      super(name);
+41    }
+42  
+43    protected void setUp() throws Exception {
+44      super.setUp();
+45      System.setErr(sps);
+46    }
+47  
+48    protected void tearDown() throws Exception {
+49      super.tearDown();
+50      System.setErr(old);
+51    }
+52  
+53    public void test() throws Exception {
+54      Logger logger = LoggerFactory.getLogger(this.getClass());
+55      String msg = "hello world " + diff;
+56      logger.info(msg);
+57      List list = sps.stringList;
+58      assertMsgContains(list, 0, "Class path contains multiple SLF4J bindings.");
+59      assertMsgContains(list, 1, "Found binding in");
+60      assertMsgContains(list, 2, "Found binding in");
+61      assertMsgContains(list, 3, "See http://www.slf4j.org/codes.html");
+62      assertMsgContains(list, 4, "Actual binding is of type [");
+63    }
+64  
+65    void assertMsgContains(List strList, int index, String msg) {
+66      assertTrue(((String) strList.get(index)).contains(msg));
+67    }
+68  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/NDCTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/NDCTest.html new file mode 100644 index 0000000..77f3863 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/NDCTest.html @@ -0,0 +1,72 @@ + + + + +NDCTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j;
+26  
+27  import junit.framework.TestCase;
+28  
+29  public class NDCTest extends TestCase {
+30  
+31    protected void setUp() throws Exception {
+32      super.setUp();
+33      MDC.clear();
+34    }
+35  
+36    protected void tearDown() throws Exception {
+37      super.tearDown();
+38    }
+39    
+40    public void testEmpty() {
+41      assertEquals("", NDC.pop());
+42    }
+43    
+44    public void testSmoke() {
+45      NDC.push("a");
+46      String result = NDC.pop();
+47      assertEquals("a",result);
+48    }
+49  
+50    public void testSmoke2() {
+51      NDC.push("a");
+52      NDC.push("b");
+53      String result1 = NDC.pop();
+54      String result0 = NDC.pop();
+55      assertEquals("b",result1);
+56      assertEquals("a",result0);
+57    }
+58  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/NoBindingTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/NoBindingTest.html new file mode 100644 index 0000000..f058e21 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/NoBindingTest.html @@ -0,0 +1,67 @@ + + + + +NoBindingTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j;
+26  
+27  import java.util.Random;
+28  
+29  import org.slf4j.helpers.BasicMarker;
+30  import org.slf4j.helpers.NOPLogger;
+31  
+32  import junit.framework.TestCase;
+33  
+34  public class NoBindingTest extends TestCase {
+35  
+36    int diff = new Random().nextInt(10000);
+37    
+38    public void testLogger() {
+39      Logger logger = LoggerFactory.getLogger(NoBindingTest.class);
+40      logger.debug("hello"+diff);
+41      assertTrue(logger instanceof NOPLogger);
+42    }
+43  
+44    public void testMDC() {
+45      MDC.put("k"+diff, "v");
+46      assertNull(MDC.get("k"));
+47    }
+48  
+49    public void testMarker() {
+50      Marker m = MarkerFactory.getMarker("a"+diff);
+51      assertTrue(m instanceof BasicMarker);
+52    }
+53  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/SilentPrintStream.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/SilentPrintStream.html new file mode 100644 index 0000000..864a864 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/SilentPrintStream.html @@ -0,0 +1,60 @@ + + + + +SilentPrintStream xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j;
+26  
+27  import java.io.PrintStream;
+28  
+29  public class SilentPrintStream extends PrintStream {
+30  
+31    PrintStream other;
+32  
+33    public SilentPrintStream(PrintStream ps) {
+34      super(ps);
+35      other = ps;
+36    }
+37  
+38    public void print(String s) {
+39    }
+40  
+41    public void println(String s) {
+42    }
+43    
+44    public void println(Object x) {
+45    }
+46  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/StringPrintStream.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/StringPrintStream.html new file mode 100644 index 0000000..faf2c5d --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/StringPrintStream.html @@ -0,0 +1,72 @@ + + + + +StringPrintStream xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j;
+26  
+27  import java.io.PrintStream;
+28  import java.util.ArrayList;
+29  import java.util.List;
+30  
+31  public class StringPrintStream extends PrintStream {
+32  
+33    public static final String LINE_SEP = System.getProperty("line.separator");
+34    PrintStream other;
+35    List stringList = new ArrayList();
+36    
+37    public StringPrintStream(PrintStream ps) {
+38      super(ps);
+39      other = ps;
+40    }
+41  
+42    public void print(String s) {
+43      other.print(s);
+44      stringList.add(s);
+45    }
+46  
+47    public void println(String s) {
+48      other.println(s);
+49      stringList.add(s);
+50      
+51    }
+52    
+53    public void println(Object o) {
+54      other.println(o);
+55      stringList.add(o);
+56    }
+57  }
+58  
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/VersionMismatchAssertionTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/VersionMismatchAssertionTest.html new file mode 100644 index 0000000..c86a7de --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/VersionMismatchAssertionTest.html @@ -0,0 +1,81 @@ + + + + +VersionMismatchAssertionTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j;
+26  
+27  import java.io.PrintStream;
+28  import java.util.Random;
+29  
+30  import junit.framework.TestCase;
+31  
+32  public class VersionMismatchAssertionTest extends TestCase {
+33  
+34    StringPrintStream sps = new StringPrintStream(System.err);
+35    PrintStream old = System.err;
+36    int diff = 1024 + new Random().nextInt(10000);
+37  
+38    public VersionMismatchAssertionTest(String name) {
+39      super(name);
+40    }
+41  
+42    protected void setUp() throws Exception {
+43      super.setUp();
+44      System.setErr(sps);
+45    }
+46  
+47    protected void tearDown() throws Exception {
+48      super.tearDown();
+49      System.setErr(old);
+50    }
+51  
+52    public void test() throws Exception {
+53      Logger logger = LoggerFactory.getLogger(this.getClass());
+54      String msg = "hello world " + diff;
+55      logger.info(msg);
+56      
+57      String s0 = (String) sps.stringList.get(0);
+58      assertTrue(s0.matches("SLF4J: The requested version .* by your slf4j binding is not compatible with.*"));
+59  
+60      String s1 = (String) sps.stringList.get(1);
+61      assertTrue(s1.contains(LoggerFactory.VERSION_MISMATCH));
+62  
+63      String s2 = (String) sps.stringList.get(2);
+64      assertTrue(s2.contains(msg));
+65  
+66    }
+67  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/bridge/ListAppender.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/bridge/ListAppender.html new file mode 100644 index 0000000..1e0d0e2 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/bridge/ListAppender.html @@ -0,0 +1,67 @@ + + + + +ListAppender xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.bridge;
+26  
+27  import java.util.ArrayList;
+28  import java.util.List;
+29  
+30  import org.apache.log4j.AppenderSkeleton;
+31  import org.apache.log4j.spi.LoggingEvent;
+32  
+33  public class ListAppender extends AppenderSkeleton {
+34  
+35    public List list = new ArrayList();
+36    
+37    public boolean extractLocationInfo = false;
+38    
+39    protected void append(LoggingEvent event) {
+40      list.add(event);
+41      if(extractLocationInfo) {
+42        event.getLocationInformation();
+43      }
+44    }
+45  
+46    public void close() {
+47    }
+48  
+49    public boolean requiresLayout() {
+50      return false;
+51    }
+52  
+53  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/bridge/SLF4JBridgeHandlerPerfTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/bridge/SLF4JBridgeHandlerPerfTest.html new file mode 100644 index 0000000..463c778 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/bridge/SLF4JBridgeHandlerPerfTest.html @@ -0,0 +1,129 @@ + + + + +SLF4JBridgeHandlerPerfTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.bridge;
+26  
+27  import java.util.logging.Handler;
+28  import java.util.logging.LogManager;
+29  
+30  import junit.framework.TestCase;
+31  
+32  import org.apache.log4j.FileAppender;
+33  import org.apache.log4j.PatternLayout;
+34  import org.slf4j.LoggerFactory;
+35  
+36  public class SLF4JBridgeHandlerPerfTest extends TestCase {
+37  
+38    static String LOGGER_NAME = "yay";
+39    static int RUN_LENGTH = 100*1000;
+40  
+41  
+42    // set to false to test enabled logging performance
+43    boolean disabledLogger = true;
+44    
+45    FileAppender fileAppender; 
+46    org.apache.log4j.Logger log4jRoot;
+47    java.util.logging.Logger julRootLogger = LogManager.getLogManager()
+48    .getLogger("");
+49  
+50    java.util.logging.Logger julLogger = java.util.logging.Logger
+51        .getLogger(LOGGER_NAME);
+52    org.slf4j.Logger slf4jLogger = LoggerFactory.getLogger(LOGGER_NAME);
+53    
+54    Handler[] existingHandlers;
+55  
+56    public SLF4JBridgeHandlerPerfTest(String arg0) {
+57      super(arg0);
+58    }
+59  
+60    protected void setUp() throws Exception {
+61      super.setUp();
+62      fileAppender = new FileAppender(new PatternLayout("%r [%t] %p %c %x - %m%n"), "target/test-output/toto.log");
+63  
+64      existingHandlers = julRootLogger.getHandlers();
+65      for (int i = 0; i < existingHandlers.length; i++) {
+66        julRootLogger.removeHandler(existingHandlers[i]);
+67      }
+68      log4jRoot = org.apache.log4j.Logger.getRootLogger();
+69      log4jRoot.addAppender(fileAppender);
+70    }
+71  
+72    protected void tearDown() throws Exception {
+73      super.tearDown();
+74      SLF4JBridgeHandler.uninstall();
+75      fileAppender.close();
+76      log4jRoot.getLoggerRepository().resetConfiguration();
+77      for (int i = 0; i < existingHandlers.length; i++) {
+78        julRootLogger.addHandler(existingHandlers[i]);
+79      }
+80    }
+81  
+82    double julLoggerLoop() {
+83      long start = System.nanoTime();
+84      for (int i = 0; i < RUN_LENGTH; i++) {
+85        julLogger.info("jul");
+86      }
+87      long end = System.nanoTime();
+88      return (end - start) * 1.0 / RUN_LENGTH;
+89    }
+90  
+91    double slf4jLoggerLoop() {
+92      long start = System.nanoTime();
+93      for (int i = 0; i < RUN_LENGTH; i++) {
+94        slf4jLogger.info("slf4j");
+95      }
+96      long end = System.nanoTime();
+97      return (end - start) * 1.0 / RUN_LENGTH;
+98    }
+99    
+100   public void testPerf() {
+101     SLF4JBridgeHandler.install();
+102     
+103     if(disabledLogger) {
+104      log4jRoot.setLevel(org.apache.log4j.Level.ERROR);
+105     }
+106     julLoggerLoop();
+107     double julAvg=julLoggerLoop();
+108     System.out.println("Average cost per call (JUL->SLF4J->log4j): "+julAvg +" nanos");
+109      
+110     slf4jLoggerLoop();
+111     double slf4jAvg=slf4jLoggerLoop();
+112     System.out.println("Average cost per call (SLF4J->log4j): "+slf4jAvg +" nanos");
+113     System.out.println("Ratio "+(julAvg/slf4jAvg));
+114   }
+115 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/bridge/SLF4JBridgeHandlerTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/bridge/SLF4JBridgeHandlerTest.html new file mode 100644 index 0000000..07d6265 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/bridge/SLF4JBridgeHandlerTest.html @@ -0,0 +1,200 @@ + + + + +SLF4JBridgeHandlerTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.bridge;
+26  
+27  import java.text.MessageFormat;
+28  import java.util.ResourceBundle;
+29  import java.util.logging.Level;
+30  
+31  import junit.framework.TestCase;
+32  
+33  import org.apache.log4j.spi.LocationInfo;
+34  import org.apache.log4j.spi.LoggingEvent;
+35  
+36  public class SLF4JBridgeHandlerTest extends TestCase {
+37  
+38    static String LOGGER_NAME = "yay";
+39  
+40    ListAppender listAppender = new ListAppender();
+41    org.apache.log4j.Logger log4jRoot;
+42    java.util.logging.Logger julLogger = java.util.logging.Logger
+43        .getLogger("yay");
+44  
+45    public SLF4JBridgeHandlerTest(String arg0) {
+46      super(arg0);
+47    }
+48  
+49    protected void setUp() throws Exception {
+50      super.setUp();
+51      listAppender.extractLocationInfo = true;
+52      log4jRoot = org.apache.log4j.Logger.getRootLogger();
+53      log4jRoot.addAppender(listAppender);
+54      log4jRoot.setLevel(org.apache.log4j.Level.TRACE);
+55    }
+56  
+57    protected void tearDown() throws Exception {
+58      super.tearDown();
+59      SLF4JBridgeHandler.uninstall();
+60      log4jRoot.getLoggerRepository().resetConfiguration();
+61    }
+62  
+63    public void testSmoke() {
+64      SLF4JBridgeHandler.install();
+65      String msg = "msg";
+66      julLogger.info(msg);
+67      assertEquals(1, listAppender.list.size());
+68      LoggingEvent le = (LoggingEvent) listAppender.list.get(0);
+69      assertEquals(LOGGER_NAME, le.getLoggerName());
+70      assertEquals(msg, le.getMessage());
+71  
+72      // get the location info in the event.
+73      // Note that this must have been computed previously
+74      // within an appender for the following assertion to
+75      // work properly
+76      LocationInfo li = le.getLocationInformation();
+77      System.out.println(li.fullInfo);
+78      assertEquals("SLF4JBridgeHandlerTest.java", li.getFileName());
+79      assertEquals("testSmoke", li.getMethodName());
+80    }
+81  
+82    public void testLevels() {
+83      SLF4JBridgeHandler.install();
+84      String msg = "msg";
+85      julLogger.setLevel(Level.ALL);
+86  
+87      julLogger.finest(msg);
+88      julLogger.finer(msg);
+89      julLogger.fine(msg);
+90      julLogger.info(msg);
+91      julLogger.warning(msg);
+92      julLogger.severe(msg);
+93  
+94      assertEquals(6, listAppender.list.size());
+95      int i = 0;
+96      assertLevel(i++, org.apache.log4j.Level.TRACE);
+97      assertLevel(i++, org.apache.log4j.Level.DEBUG);
+98      assertLevel(i++, org.apache.log4j.Level.DEBUG);
+99      assertLevel(i++, org.apache.log4j.Level.INFO);
+100     assertLevel(i++, org.apache.log4j.Level.WARN);
+101     assertLevel(i++, org.apache.log4j.Level.ERROR);
+102   }
+103 
+104   public void testLogWithResourceBundle() {
+105     SLF4JBridgeHandler.install();
+106 
+107     String resourceBundleName = "org.slf4j.bridge.testLogStrings";
+108     ResourceBundle bundle = ResourceBundle.getBundle(resourceBundleName);
+109     String resourceKey = "resource_key";
+110     String expectedMsg = bundle.getString(resourceKey);
+111     String msg = resourceKey;
+112 
+113     java.util.logging.Logger julResourceBundleLogger = java.util.logging.Logger
+114         .getLogger("yay", resourceBundleName);
+115 
+116     julResourceBundleLogger.info(msg);
+117     assertEquals(1, listAppender.list.size());
+118     LoggingEvent le = (LoggingEvent) listAppender.list.get(0);
+119     assertEquals(LOGGER_NAME, le.getLoggerName());
+120     assertEquals(expectedMsg, le.getMessage());
+121   }
+122 
+123   public void testLogWithResourceBundleWithParameters() {
+124     SLF4JBridgeHandler.install();
+125 
+126     String resourceBundleName = "org.slf4j.bridge.testLogStrings";
+127     ResourceBundle bundle = ResourceBundle.getBundle(resourceBundleName);
+128 
+129     java.util.logging.Logger julResourceBundleLogger = java.util.logging.Logger
+130         .getLogger("foo", resourceBundleName);
+131 
+132     String resourceKey1 = "resource_key_1";
+133     String expectedMsg1 = bundle.getString(resourceKey1);
+134     julResourceBundleLogger.info(resourceKey1); // 1st log
+135 
+136     String resourceKey2 = "resource_key_2";
+137     Object[] params2 = new Object[] { "foo", "bar" };
+138     String expectedMsg2 = MessageFormat.format(bundle.getString(resourceKey2),
+139         params2);
+140     julResourceBundleLogger.log(Level.INFO, resourceKey2, params2); // 2nd log
+141 
+142     
+143     String resourceKey3 = "invalidKey {0}";
+144     Object[] params3 = new Object[] { "John" };
+145     String expectedMsg3 = MessageFormat.format(resourceKey3, params3);
+146     julResourceBundleLogger.log(Level.INFO, resourceKey3, params3); // 3rd log
+147 
+148     julLogger.log(Level.INFO, resourceKey3, params3);  // 4th log
+149 
+150     assertEquals(4, listAppender.list.size());
+151 
+152     LoggingEvent le = null;
+153 
+154     le = (LoggingEvent) listAppender.list.get(0);
+155     assertEquals("foo", le.getLoggerName());
+156     assertEquals(expectedMsg1, le.getMessage());
+157 
+158     le = (LoggingEvent) listAppender.list.get(1);
+159     assertEquals("foo", le.getLoggerName());
+160     assertEquals(expectedMsg2, le.getMessage());
+161 
+162     le = (LoggingEvent) listAppender.list.get(2);
+163     assertEquals("foo", le.getLoggerName());
+164     assertEquals(expectedMsg3, le.getMessage());
+165 
+166     le = (LoggingEvent) listAppender.list.get(3);
+167     assertEquals("yay", le.getLoggerName());
+168     assertEquals(expectedMsg3, le.getMessage());
+169   }
+170 
+171   public void testLogWithPlaceholderNoParameters() {
+172     SLF4JBridgeHandler.install();
+173     String msg = "msg {non-number-string}";
+174     julLogger.logp(Level.INFO, "SLF4JBridgeHandlerTest", "testLogWithPlaceholderNoParameters", msg, new Object[0]);
+175 
+176     assertEquals(1, listAppender.list.size());
+177     LoggingEvent le = (LoggingEvent) listAppender.list.get(0);
+178     assertEquals(LOGGER_NAME, le.getLoggerName());
+179     assertEquals(msg, le.getMessage());
+180   }
+181 
+182   void assertLevel(int index, org.apache.log4j.Level expectedLevel) {
+183     LoggingEvent le = (LoggingEvent) listAppender.list.get(index);
+184     assertEquals(expectedLevel, le.getLevel());
+185   }
+186 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/bridge/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/bridge/package-frame.html new file mode 100644 index 0000000..c0a35ad --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/bridge/package-frame.html @@ -0,0 +1,30 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.bridge + + + + +

+ org.slf4j.bridge +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/bridge/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/bridge/package-summary.html new file mode 100644 index 0000000..cac7b8c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/bridge/package-summary.html @@ -0,0 +1,77 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.bridge + + + +
+ +
+
+ +
+ +

Package org.slf4j.bridge

+ + + + + + + + + + + + + + + + + + +
Class Summary
+ ListAppender +
+ SLF4JBridgeHandlerPerfTest +
+ SLF4JBridgeHandlerTest +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/cal10n_dummy/LocLoggerTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/cal10n_dummy/LocLoggerTest.html new file mode 100644 index 0000000..35a6fd2 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/cal10n_dummy/LocLoggerTest.html @@ -0,0 +1,94 @@ + + + + +LocLoggerTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.cal10n_dummy;
+26  
+27  import java.util.Locale;
+28  
+29  import junit.framework.TestCase;
+30  
+31  import org.apache.log4j.spi.LoggingEvent;
+32  import org.slf4j.cal10n.LocLogger;
+33  import org.slf4j.cal10n.LocLoggerFactory;
+34  import org.slf4j.dummyExt.ListAppender;
+35  
+36  import ch.qos.cal10n.IMessageConveyor;
+37  import ch.qos.cal10n.MessageConveyor;
+38  
+39  public class LocLoggerTest extends TestCase {
+40  
+41    ListAppender listAppender;
+42    org.apache.log4j.Logger log4jRoot;
+43  
+44    IMessageConveyor imc = new MessageConveyor(Locale.UK);
+45    LocLoggerFactory llFactory_uk = new LocLoggerFactory(imc);
+46  
+47    final static String EXPECTED_FILE_NAME = "LocLoggerTest.java";
+48  
+49    public LocLoggerTest(String name) {
+50      super(name);
+51    }
+52  
+53    public void setUp() throws Exception {
+54      super.setUp();
+55  
+56      // start from a clean slate for each test
+57  
+58      listAppender = new ListAppender();
+59      listAppender.extractLocationInfo = true;
+60      log4jRoot = org.apache.log4j.Logger.getRootLogger();
+61      log4jRoot.addAppender(listAppender);
+62      log4jRoot.setLevel(org.apache.log4j.Level.TRACE);
+63    }
+64  
+65    void verify(LoggingEvent le, String expectedMsg) {
+66      assertEquals(expectedMsg, le.getMessage());
+67      assertEquals(EXPECTED_FILE_NAME, le.getLocationInformation().getFileName());
+68    }
+69    
+70    public void tearDown() throws Exception {
+71      super.tearDown();
+72    }
+73  
+74    public void testSmoke() {
+75      LocLogger locLogger = llFactory_uk.getLocLogger(this.getClass());
+76      locLogger.info(Months.JAN);
+77      verify((LoggingEvent) listAppender.list.get(0), "January");
+78      
+79    }
+80  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/cal10n_dummy/Months.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/cal10n_dummy/Months.html new file mode 100644 index 0000000..5918ee6 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/cal10n_dummy/Months.html @@ -0,0 +1,48 @@ + + + + +Months xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.cal10n_dummy;
+26  
+27  import ch.qos.cal10n.BaseName;
+28  
+29  @BaseName("months")
+30  public enum Months {
+31  
+32    JAN, FEB, MAR, APR, MAY, JUN;
+33  
+34  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/cal10n_dummy/MyApplication.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/cal10n_dummy/MyApplication.html new file mode 100644 index 0000000..34b87c4 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/cal10n_dummy/MyApplication.html @@ -0,0 +1,70 @@ + + + + +MyApplication xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.cal10n_dummy;
+26  
+27  import java.util.Locale;
+28  
+29  import org.slf4j.cal10n.LocLogger;
+30  import org.slf4j.cal10n.LocLoggerFactory;
+31  
+32  import ch.qos.cal10n.IMessageConveyor;
+33  import ch.qos.cal10n.MessageConveyor;
+34  
+35  public class MyApplication {
+36  
+37    // create a message conveyor for a given locale
+38    IMessageConveyor messageConveyor = new MessageConveyor(Locale.JAPAN);
+39    
+40    // create the LogLoggerFactory
+41    LocLoggerFactory llFactory_uk = new LocLoggerFactory(messageConveyor);
+42    
+43    // create a locLogger
+44    LocLogger locLogger = llFactory_uk.getLocLogger(this.getClass());
+45    
+46  
+47    public void applicationStart() {
+48      locLogger.info(Production.APPLICATION_STARTED);
+49      // ..
+50    }
+51    
+52    public void applicationStop() {
+53      locLogger.info(Production.APPLICATION_STOPPED);
+54      // ...
+55    }
+56  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/cal10n_dummy/PackageTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/cal10n_dummy/PackageTest.html new file mode 100644 index 0000000..00d35e4 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/cal10n_dummy/PackageTest.html @@ -0,0 +1,50 @@ + + + + +PackageTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.cal10n_dummy;
+26  
+27  import junit.framework.*;
+28  
+29  public class PackageTest extends TestCase {
+30  
+31    public static Test suite() {
+32      TestSuite suite = new TestSuite();
+33      suite.addTestSuite(LocLoggerTest.class);
+34      return suite;
+35    }
+36  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/cal10n_dummy/Production.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/cal10n_dummy/Production.html new file mode 100644 index 0000000..8f54e51 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/cal10n_dummy/Production.html @@ -0,0 +1,52 @@ + + + + +Production xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.cal10n_dummy;
+26  
+27  import ch.qos.cal10n.LocaleData;
+28  import ch.qos.cal10n.Locale;
+29  import ch.qos.cal10n.BaseName;
+30  
+31  @BaseName("production")
+32  @LocaleData( { @Locale("en_UK"), @Locale("fr") })
+33  public enum Production  {
+34    APPLICATION_STARTED,
+35    APPLICATION_STOPPED,
+36    DB_CONNECTION,
+37    DB_CONNECTION_FAILURE;
+38  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/cal10n_dummy/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/cal10n_dummy/package-frame.html new file mode 100644 index 0000000..a478516 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/cal10n_dummy/package-frame.html @@ -0,0 +1,36 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.cal10n_dummy + + + + +

+ org.slf4j.cal10n_dummy +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/cal10n_dummy/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/cal10n_dummy/package-summary.html new file mode 100644 index 0000000..948b2da --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/cal10n_dummy/package-summary.html @@ -0,0 +1,87 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.cal10n_dummy + + + +
+ +
+
+ +
+ +

Package org.slf4j.cal10n_dummy

+ + + + + + + + + + + + + + + + + + + + + + + + +
Class Summary
+ LocLoggerTest +
+ Months +
+ MyApplication +
+ PackageTest +
+ Production +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/dummyExt/EventLoggerTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/dummyExt/EventLoggerTest.html new file mode 100644 index 0000000..dde95f0 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/dummyExt/EventLoggerTest.html @@ -0,0 +1,122 @@ + + + + +EventLoggerTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.dummyExt;
+26  
+27  import java.util.Date;
+28  import java.util.Locale;
+29  import java.util.TimeZone;
+30  
+31  import junit.framework.TestCase;
+32  
+33  import org.apache.log4j.spi.LocationInfo;
+34  import org.apache.log4j.spi.LoggingEvent;
+35  import org.slf4j.MDC;
+36  import org.slf4j.ext.EventData;
+37  import org.slf4j.ext.EventLogger;
+38  
+39  public class EventLoggerTest extends TestCase {
+40  
+41    ListAppender listAppender;
+42    org.apache.log4j.Logger log4;
+43  
+44    final static String EXPECTED_FILE_NAME = "EventLoggerTest.java";
+45  
+46    public EventLoggerTest(String name) {
+47      super(name);
+48    }
+49  
+50    public void setUp() throws Exception {
+51      super.setUp();
+52  
+53      // start from a clean slate for each test
+54  
+55      listAppender = new ListAppender();
+56      listAppender.extractLocationInfo = true;
+57      org.apache.log4j.Logger eventLogger =
+58          org.apache.log4j.Logger.getLogger("EventLogger");
+59      eventLogger.addAppender(listAppender);
+60      eventLogger.setLevel(org.apache.log4j.Level.TRACE);
+61      eventLogger.setAdditivity(false);
+62      // Items that apply to any activity
+63      MDC.put("ipAddress", "192.168.1.110");
+64      MDC.put("login", "TestUSer");
+65      MDC.put("hostname", "localhost");
+66      MDC.put("productName", "SLF4J");
+67      MDC.put("locale", Locale.getDefault().getDisplayName());
+68      MDC.put("timezone", TimeZone.getDefault().getDisplayName());
+69  
+70    }
+71  
+72    public void tearDown() throws Exception {
+73      super.tearDown();
+74      MDC.clear();
+75    }
+76  
+77    void verify(LoggingEvent le, String expectedMsg) {
+78      assertEquals(expectedMsg, le.getMessage());
+79      assertEquals(EXPECTED_FILE_NAME, le.getLocationInformation().getFileName());
+80    }
+81  
+82  
+83    public void testEventLogger() {
+84      EventData data[] = new EventData[2];
+85      data[0] = new EventData();
+86      data[0].setEventType("Login");
+87      data[0].setEventId("1");
+88      data[0].setEventDateTime(new Date());
+89      data[0].put("Userid", "TestUser");
+90      EventLogger.logEvent(data[0]);
+91  
+92      data[1] = new EventData();
+93      data[1].setEventType("Update");
+94      data[1].setEventId("2");
+95      data[1].setEventDateTime(new Date());
+96      data[1].put("FileName", "/etc/hosts");
+97      EventLogger.logEvent(data[1]);
+98  
+99      assertEquals(2, listAppender.list.size());
+100     for (int i=0; i < 2; ++i) {
+101       LoggingEvent event = listAppender.list.get(i);
+102       verify(event, data[i].toXML());
+103       LocationInfo li = event.getLocationInformation();
+104       assertEquals(this.getClass().getName(), li.getClassName());
+105       assertEquals(event.getMDC("hostname"), "localhost");
+106     }
+107   }
+108 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/dummyExt/ListAppender.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/dummyExt/ListAppender.html new file mode 100644 index 0000000..64558e6 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/dummyExt/ListAppender.html @@ -0,0 +1,68 @@ + + + + +ListAppender xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.dummyExt;
+26  
+27  import java.util.ArrayList;
+28  import java.util.List;
+29  
+30  import org.apache.log4j.AppenderSkeleton;
+31  import org.apache.log4j.spi.LoggingEvent;
+32  
+33  public class ListAppender extends AppenderSkeleton {
+34  
+35    public List<LoggingEvent> list = new ArrayList<LoggingEvent>();
+36    
+37    public boolean extractLocationInfo = false;
+38    
+39    protected void append(LoggingEvent event) {
+40      list.add(event);
+41      if(extractLocationInfo) {
+42        event.getLocationInformation();
+43      }
+44    }
+45  
+46    public void close() {
+47    }
+48  
+49    public boolean requiresLayout() {
+50      return false;
+51    }
+52  
+53  }
+54  
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/dummyExt/MDCStrLookupTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/dummyExt/MDCStrLookupTest.html new file mode 100644 index 0000000..b7e3d17 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/dummyExt/MDCStrLookupTest.html @@ -0,0 +1,71 @@ + + + + +MDCStrLookupTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.dummyExt;
+26  
+27  import junit.framework.TestCase;
+28  
+29  import org.slf4j.MDC;
+30  import org.slf4j.ext.MDCStrLookup;
+31  
+32  public class MDCStrLookupTest extends TestCase {
+33  
+34  
+35      public MDCStrLookupTest(String name) {
+36          super(name);
+37      }
+38  
+39      public void setUp() throws Exception {
+40          super.setUp();
+41      }
+42  
+43      public void tearDown() throws Exception {
+44          super.tearDown();
+45      }
+46  
+47      public void testLookup() throws Exception {
+48          MDC.put("key", "value");
+49          MDC.put("number", "2");
+50          MDCStrLookup lookup = new MDCStrLookup();
+51          assertEquals("value", lookup.lookup("key"));
+52          assertEquals("2", lookup.lookup("number"));
+53          assertEquals(null, lookup.lookup(null));
+54          assertEquals(null, lookup.lookup(""));
+55          assertEquals(null, lookup.lookup("other"));
+56      }
+57  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/dummyExt/PackageTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/dummyExt/PackageTest.html new file mode 100644 index 0000000..9df575e --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/dummyExt/PackageTest.html @@ -0,0 +1,52 @@ + + + + +PackageTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.dummyExt;
+26  
+27  import junit.framework.*;
+28  
+29  public class PackageTest extends TestCase {
+30  
+31    public static Test suite() {
+32      TestSuite suite = new TestSuite();
+33      suite.addTestSuite(MDCStrLookupTest.class);
+34      suite.addTestSuite(XLoggerTest.class);
+35      suite.addTestSuite(EventLoggerTest.class);
+36      return suite;
+37    }
+38  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/dummyExt/XLoggerTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/dummyExt/XLoggerTest.html new file mode 100644 index 0000000..6482047 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/dummyExt/XLoggerTest.html @@ -0,0 +1,171 @@ + + + + +XLoggerTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.dummyExt;
+26  
+27  import junit.framework.TestCase;
+28  
+29  import org.apache.log4j.spi.LocationInfo;
+30  import org.apache.log4j.spi.LoggingEvent;
+31  import org.slf4j.ext.XLogger;
+32  import org.slf4j.ext.XLoggerFactory;
+33  
+34  public class XLoggerTest extends TestCase {
+35  
+36    ListAppender listAppender;
+37    org.apache.log4j.Logger log4jRoot;
+38  
+39    final static String EXPECTED_FILE_NAME = "XLoggerTest.java";
+40  
+41    public XLoggerTest(String name) {
+42      super(name);
+43    }
+44  
+45    public void setUp() throws Exception {
+46      super.setUp();
+47  
+48      // start from a clean slate for each test
+49  
+50      listAppender = new ListAppender();
+51      listAppender.extractLocationInfo = true;
+52      log4jRoot = org.apache.log4j.Logger.getRootLogger();
+53      log4jRoot.addAppender(listAppender);
+54      log4jRoot.setLevel(org.apache.log4j.Level.TRACE);
+55    }
+56  
+57    public void tearDown() throws Exception {
+58      super.tearDown();
+59    }
+60  
+61    void verify(LoggingEvent le, String expectedMsg) {
+62      assertEquals(expectedMsg, le.getMessage());
+63      assertEquals(EXPECTED_FILE_NAME, le.getLocationInformation().getFileName());
+64    }
+65  
+66    void verifyWithException(LoggingEvent le, String expectedMsg, Throwable t) {
+67      verify(le, expectedMsg);
+68      assertEquals(t.toString(), le.getThrowableStrRep()[0]);
+69    }
+70  
+71    void verifyWithLevelAndException(LoggingEvent le, XLogger.Level level, String expectedMsg, Throwable t) {
+72      verify(le, expectedMsg);
+73      assertEquals(t.toString(), le.getThrowableStrRep()[0]);
+74      assertEquals(le.getLevel().toString(), level.toString());
+75    }
+76  
+77    public void testEntering() {
+78      XLogger logger = XLoggerFactory.getXLogger("UnitTest");
+79      logger.entry();
+80      logger.entry(1);
+81      logger.entry("test");
+82      logger.entry("a", "b", "c", "d");
+83      logger.entry("a", "b", "c", "d", "e");
+84      logger.entry("a", "b", "c", "d", "e", "f");
+85  
+86      assertEquals(6, listAppender.list.size());
+87      verify((LoggingEvent) listAppender.list.get(0), "entry");
+88      verify((LoggingEvent) listAppender.list.get(1), "entry with (1)");
+89      verify((LoggingEvent) listAppender.list.get(2), "entry with (test)");
+90    }
+91  
+92    public void testExiting() {
+93      XLogger logger = XLoggerFactory.getXLogger("UnitTest");
+94      logger.exit();
+95      logger.exit(0);
+96      logger.exit(false);
+97  
+98      assertEquals(3, listAppender.list.size());
+99      verify((LoggingEvent) listAppender.list.get(0), "exit");
+100     verify((LoggingEvent) listAppender.list.get(1), "exit with (0)");
+101     verify((LoggingEvent) listAppender.list.get(2), "exit with (false)");
+102   }
+103 
+104   public void testThrowing() {
+105     XLogger logger = XLoggerFactory.getXLogger("UnitTest");
+106     Throwable t = new UnsupportedOperationException("Test");
+107     logger.throwing(t);
+108     logger.throwing(XLogger.Level.DEBUG,t);
+109     assertEquals(2, listAppender.list.size());
+110     verifyWithException((LoggingEvent) listAppender.list.get(0), "throwing", t);
+111     LoggingEvent event = (LoggingEvent)listAppender.list.get(1);
+112     verifyWithLevelAndException(event, XLogger.Level.DEBUG,
+113         "throwing", t);
+114   }
+115 
+116   public void testCaught() {
+117     XLogger logger = XLoggerFactory.getXLogger("UnitTest");
+118     long x = 5;
+119     Throwable t = null;
+120     try {
+121       @SuppressWarnings("unused")
+122       long y = x / 0;
+123     } catch (Exception ex) {
+124       t = ex;
+125       logger.catching(ex);
+126       logger.catching(XLogger.Level.DEBUG, ex);
+127     }
+128     verifyWithException((LoggingEvent) listAppender.list.get(0), "catching", t);
+129     verifyWithLevelAndException((LoggingEvent) listAppender.list.get(1), XLogger.Level.DEBUG,
+130         "catching", t);
+131   }
+132 
+133   // See http://bugzilla.slf4j.org/show_bug.cgi?id=114
+134   public void testLocationExtraction_Bug114() {
+135     XLogger logger = XLoggerFactory.getXLogger("UnitTest");
+136     int line = 137; // next line is line number 134
+137     logger.exit(); 
+138     logger.debug("hello");
+139 
+140     assertEquals(2, listAppender.list.size());
+141 
+142     {
+143       LoggingEvent e = listAppender.list.get(0);
+144       LocationInfo li = e.getLocationInformation();
+145       assertEquals(this.getClass().getName(), li.getClassName());
+146       assertEquals(""+line, li.getLineNumber());
+147     }
+148     
+149     {
+150       LoggingEvent e = listAppender.list.get(1);
+151       LocationInfo li = e.getLocationInformation();
+152       assertEquals(this.getClass().getName(), li.getClassName());
+153       assertEquals(""+(line+1), li.getLineNumber());
+154     }
+155 
+156   }
+157 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/dummyExt/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/dummyExt/package-frame.html new file mode 100644 index 0000000..3d7a463 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/dummyExt/package-frame.html @@ -0,0 +1,36 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.dummyExt + + + + +

+ org.slf4j.dummyExt +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/dummyExt/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/dummyExt/package-summary.html new file mode 100644 index 0000000..d7b2bec --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/dummyExt/package-summary.html @@ -0,0 +1,87 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.dummyExt + + + +
+ +
+
+ +
+ +

Package org.slf4j.dummyExt

+ + + + + + + + + + + + + + + + + + + + + + + + +
Class Summary
+ EventLoggerTest +
+ ListAppender +
+ MDCStrLookupTest +
+ PackageTest +
+ XLoggerTest +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/helpers/BogoPerf.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/helpers/BogoPerf.html new file mode 100644 index 0000000..1f86276 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/helpers/BogoPerf.html @@ -0,0 +1,173 @@ + + + + +BogoPerf xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.helpers;
+26  
+27  import junit.framework.AssertionFailedError;
+28  
+29  /**
+30   * BogoPerf is used to check that the time required to perform a certain
+31   * operation does not deteriorate over time. BogoPerf adjusts to the CPU speed
+32   * and capabilities of the host.
+33   * 
+34   * @author Ceki G&uuml;lc&uuml;
+35   * 
+36   */
+37  public class BogoPerf {
+38  
+39    private static long NANOS_IN_ONE_SECOND = 1000 * 1000 * 1000;
+40    private static int INITIAL_N = 1000;
+41    private static int LAST_N = 100;
+42    private static int SLACK_FACTOR = 3;
+43  
+44    static {
+45      // let the JIT warm up
+46      computeBogoIPS(INITIAL_N);
+47      double bogo_ips = computeBogoIPS(INITIAL_N);
+48      System.out.println("Host runs at " + bogo_ips + " BIPS");
+49    }
+50  
+51    /**
+52     * Compute bogoInstructions per second
+53     * <p>
+54     * on a 3.2 Ghz Pentium D CPU (around 2007), we obtain about 9'000 bogoIPS.
+55     * 
+56     * @param N
+57     *                number of bogoInstructions to average over in order to
+58     *                compute the result
+59     * @return bogo Instructions Per Second
+60     */
+61    private static double computeBogoIPS(int N) {
+62      long begin = System.nanoTime();
+63  
+64      for (int i = 0; i < N; i++) {
+65        bogoInstruction();
+66      }
+67      long end = System.nanoTime();
+68  
+69      // duration
+70      double D = end - begin;
+71      // average duration per instruction
+72      double avgDPIS = D / N;
+73      // System.out.println(D + " nanos for " + N + " instructions");
+74      // System.out.println(avgD + " nanos per instruction");
+75  
+76      double bogoIPS = NANOS_IN_ONE_SECOND / avgDPIS;
+77      // System.out.println(bogoIPS + " bogoIPS");
+78  
+79      return bogoIPS;
+80    }
+81  
+82    private static void bogoInstruction() {
+83      // use our own random number generator, independent of the host JDK
+84      MyRandom myRandom = new MyRandom(100);
+85      int len = 150;
+86      int[] intArray = new int[len];
+87      for (int i = 0; i < len; i++) {
+88        intArray[i] = myRandom.nextInt();
+89      }
+90      // use our own sort algorithm, independent of the host JDK
+91      BubbleSort.sort(intArray);
+92    }
+93  
+94    /**
+95     * Computed the BogoIPS for this host CPU.
+96     * 
+97     * @return
+98     */
+99    public static double currentBIPS() {
+100     return computeBogoIPS(LAST_N);
+101   }
+102 
+103   static double min(double a, double b) {
+104     return (a <= b) ? a : b;
+105   }
+106 
+107   /**
+108    * Assertion used for values that <b>decrease</b> with faster CPUs, typically
+109    * the time (duration) needed to perform a task.
+110    * 
+111    * @param currentDuration
+112    * @param referenceDuration
+113    * @param referenceBIPS
+114    * @throws AssertionFailedError
+115    */
+116   public static void assertDuration(double currentDuration,
+117       long referenceDuration, double referenceBIPS) throws AssertionFailedError {
+118     double ajustedDuration = adjustExpectedDuration(referenceDuration,
+119         referenceBIPS);
+120     if (currentDuration > ajustedDuration * SLACK_FACTOR) {
+121       throw new AssertionFailedError("current duration " + currentDuration
+122           + " exceeded expected " + ajustedDuration + " (adjusted reference), "
+123           + referenceDuration + " (raw reference)");
+124     }
+125   }
+126 
+127   /**
+128    * Assertion used for values that <b>increase<b> with faster CPUs, typically
+129    * the number of operations accomplished per unit of time.
+130    * 
+131    * @param currentPerformance
+132    * @param referencePerformance
+133    * @param referenceBIPS
+134    * @throws AssertionFailedError
+135    */
+136   public static void assertPerformance(double currentPerformance,
+137       long referencePerformance, double referenceBIPS)
+138       throws AssertionFailedError {
+139     double ajustedPerf = adjustExpectedPerformance(referencePerformance,
+140         referenceBIPS);
+141     if (currentPerformance * SLACK_FACTOR < ajustedPerf) {
+142       throw new AssertionFailedError(currentPerformance + " below expected "
+143           + ajustedPerf + " (adjusted), " + referencePerformance + " (raw)");
+144     }
+145   }
+146 
+147   private static double adjustExpectedPerformance(long referenceDuration,
+148       double referenceBIPS) {
+149     double currentBIPS = currentBIPS();
+150     return referenceDuration * (currentBIPS / referenceBIPS);
+151   }
+152 
+153   private static double adjustExpectedDuration(long referenceDuration,
+154       double referenceBIPS) {
+155     double currentBIPS = currentBIPS();
+156     System.out.println("currentBIPS=" + currentBIPS + " BIPS");
+157     return referenceDuration * (referenceBIPS / currentBIPS);
+158   }
+159 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/helpers/BubbleSort.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/helpers/BubbleSort.html new file mode 100644 index 0000000..9ca865f --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/helpers/BubbleSort.html @@ -0,0 +1,64 @@ + + + + +BubbleSort xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.helpers;
+26  
+27  /**
+28   * This class is used internally by BogoPerf, hence the package private
+29   * (default) access.
+30   * 
+31   * @author Ceki
+32   */
+33  class BubbleSort {
+34  
+35    static void sort(int[] a) {
+36      int len = a.length;
+37      for (int i = 0; i < len - 1; i++) {
+38        for (int j = 0; j < len - 1 - i; j++) {
+39          if (a[j] > a[j + 1]) {
+40            swap(a, j, j + 1);
+41          }
+42        }
+43      }
+44    }
+45    static void swap(int[] a, int i, int j) {
+46      int t = a[i];
+47      a[i] = a[j];
+48      a[j] = t;
+49    }
+50  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/helpers/BubbleSortTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/helpers/BubbleSortTest.html new file mode 100644 index 0000000..4cbf127 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/helpers/BubbleSortTest.html @@ -0,0 +1,115 @@ + + + + +BubbleSortTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.helpers;
+26  
+27  import java.util.Arrays;
+28  import java.util.Random;
+29  
+30  import junit.framework.TestCase;
+31  
+32  /**
+33   * Test that our BubbleSort algorithm is correctly implemented.
+34   * 
+35   * @author Ceki
+36   *
+37   */
+38  public class BubbleSortTest extends TestCase {
+39    
+40    public void testSmoke() {
+41       int[] a = new int[] {5,3,2,7};
+42       BubbleSort.sort(a);
+43       int i = 0;
+44       assertEquals(2, a[i++]);
+45       assertEquals(3, a[i++]);
+46       assertEquals(5, a[i++]);
+47       assertEquals(7, a[i++]);
+48    }
+49    
+50    public void testEmpty() {
+51      int[] a = new int[] {};
+52      BubbleSort.sort(a);
+53    }
+54    
+55    public void testSorted() {
+56      int[] a = new int[] {3,30,300,3000};
+57      BubbleSort.sort(a);
+58      int i = 0;
+59      assertEquals(3, a[i++]);
+60      assertEquals(30, a[i++]);
+61      assertEquals(300, a[i++]);
+62      assertEquals(3000, a[i++]);
+63    }
+64    
+65    public void testInverted() {
+66      int[] a = new int[] {3000,300,30,3};
+67      BubbleSort.sort(a);
+68      int i = 0;
+69      assertEquals(3, a[i++]);
+70      assertEquals(30, a[i++]);
+71      assertEquals(300, a[i++]);
+72      assertEquals(3000, a[i++]);
+73    }
+74  
+75    public void testWithSameEntry() {
+76      int[] a = new int[] {10,20,10,20};
+77      BubbleSort.sort(a);
+78      int i = 0;
+79      assertEquals(10, a[i++]);
+80      assertEquals(10, a[i++]);
+81      assertEquals(20, a[i++]);
+82      assertEquals(20, a[i++]);
+83    }
+84  
+85    
+86    public void testRandom() {
+87      int len = 100;
+88      Random random = new Random(156);
+89      int[] a = new int[len];
+90      int[] witness = new int[len];
+91      for(int i = 0; i < len; i++) {
+92        int r = random.nextInt();
+93        a[i] = r;
+94        witness[i] = r;
+95      }
+96     BubbleSort.sort(a);
+97     Arrays.sort(witness);
+98     assertTrue(Arrays.equals(witness, a));
+99    }
+100 
+101 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/helpers/MessageFormatterPerfTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/helpers/MessageFormatterPerfTest.html new file mode 100644 index 0000000..ad43a2c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/helpers/MessageFormatterPerfTest.html @@ -0,0 +1,126 @@ + + + + +MessageFormatterPerfTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.helpers;
+26  
+27  import java.text.MessageFormat;
+28  
+29  import junit.framework.TestCase;
+30  
+31  public class MessageFormatterPerfTest extends TestCase {
+32  
+33    Integer i1 = new Integer(1);
+34    Integer i2 = new Integer(2);
+35    static long RUN_LENGTH = 100 * 1000;
+36    // 
+37    static long REFERENCE_BIPS = 48416;
+38  
+39    public MessageFormatterPerfTest(String name) {
+40      super(name);
+41    }
+42  
+43    protected void setUp() throws Exception {
+44    }
+45  
+46    protected void tearDown() throws Exception {
+47    }
+48  
+49    public void XtestJDKFormatterPerf() {
+50      jdkMessageFormatter(RUN_LENGTH);
+51      double duration = jdkMessageFormatter(RUN_LENGTH);
+52      System.out.println("jdk duration = " + duration + " nanos");
+53    }
+54  
+55    public void testSLF4JPerf_OneArg() {
+56      slf4jMessageFormatter_OneArg(RUN_LENGTH);
+57      double duration = slf4jMessageFormatter_OneArg(RUN_LENGTH);
+58      System.out.println("duration=" + duration);
+59      long referencePerf = 36;
+60      BogoPerf.assertDuration(duration, referencePerf, REFERENCE_BIPS);
+61    }
+62  
+63    public void testSLF4JPerf_TwoArg() {
+64      slf4jMessageFormatter_TwoArg(RUN_LENGTH);
+65      double duration = slf4jMessageFormatter_TwoArg(RUN_LENGTH);
+66      long referencePerf = 60;
+67      BogoPerf.assertDuration(duration, referencePerf, REFERENCE_BIPS);
+68    }
+69  
+70    
+71    public double slf4jMessageFormatter_OneArg(long len) {
+72      long start = System.nanoTime();
+73      for (int i = 0; i < len; i++) {
+74        final FormattingTuple tp = MessageFormatter.format("This is some rather short message {} ", i1);
+75        tp.getMessage();
+76        tp.getArgArray();
+77        tp.getThrowable();
+78        
+79        MessageFormatter.format("This is some rather short message {} ", i1);
+80      }
+81      long end = System.nanoTime();
+82      return (end - start)/(1000*1000.0);
+83    }
+84    
+85    public double slf4jMessageFormatter_TwoArg(long len) {
+86      long start = System.nanoTime();
+87      for (int i = 0; i < len; i++) {
+88        final FormattingTuple tp = MessageFormatter.format(
+89            "This is some {} short message {} ", i1, i2);
+90        tp.getMessage();
+91        tp.getArgArray();
+92        tp.getThrowable();
+93      }
+94      long end = System.nanoTime();
+95      return (end - start)/(1000*1000.0);
+96    }
+97  
+98  
+99  
+100   public double jdkMessageFormatter(long len) {
+101     String s = "";
+102     s += ""; // keep compiler happy
+103     long start = System.currentTimeMillis();
+104     Object[] oa = new Object[] { i1 };
+105     for (int i = 0; i < len; i++) {
+106       s = MessageFormat.format("This is some rather short message {0}", oa);
+107     }
+108     long end = System.currentTimeMillis();
+109     return (1.0 * end - start);
+110   }
+111 
+112 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/helpers/MessageFormatterTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/helpers/MessageFormatterTest.html new file mode 100644 index 0000000..e1b94d6 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/helpers/MessageFormatterTest.html @@ -0,0 +1,363 @@ + + + + +MessageFormatterTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.helpers;
+26  
+27  import java.util.Arrays;
+28  
+29  import junit.framework.TestCase;
+30  
+31  /**
+32   * @author Ceki Gulcu
+33   * 
+34   */
+35  public class MessageFormatterTest extends TestCase {
+36  
+37    Integer i1 = new Integer(1);
+38    Integer i2 = new Integer(2);
+39    Integer i3 = new Integer(3);
+40    Integer[] ia0 = new Integer[] { i1, i2, i3 };
+41    Integer[] ia1 = new Integer[] { new Integer(10), new Integer(20),
+42        new Integer(30) };
+43  
+44    String result;
+45  
+46    public void testNull() {
+47      result = MessageFormatter.format(null, i1).getMessage();
+48      assertEquals(null, result);
+49    }
+50  
+51    public void testNullParam() {
+52      result = MessageFormatter.format("Value is {}.", null).getMessage();
+53      assertEquals("Value is null.", result);
+54  
+55      result = MessageFormatter.format("Val1 is {}, val2 is {}.", null, null)
+56          .getMessage();
+57      assertEquals("Val1 is null, val2 is null.", result);
+58  
+59      result = MessageFormatter.format("Val1 is {}, val2 is {}.", i1, null)
+60          .getMessage();
+61      assertEquals("Val1 is 1, val2 is null.", result);
+62  
+63      result = MessageFormatter.format("Val1 is {}, val2 is {}.", null, i2)
+64          .getMessage();
+65      assertEquals("Val1 is null, val2 is 2.", result);
+66  
+67      result = MessageFormatter.arrayFormat("Val1 is {}, val2 is {}, val3 is {}",
+68          new Integer[] { null, null, null }).getMessage();
+69      assertEquals("Val1 is null, val2 is null, val3 is null", result);
+70  
+71      result = MessageFormatter.arrayFormat("Val1 is {}, val2 is {}, val3 is {}",
+72          new Integer[] { null, i2, i3 }).getMessage();
+73      assertEquals("Val1 is null, val2 is 2, val3 is 3", result);
+74  
+75      result = MessageFormatter.arrayFormat("Val1 is {}, val2 is {}, val3 is {}",
+76          new Integer[] { null, null, i3 }).getMessage();
+77      assertEquals("Val1 is null, val2 is null, val3 is 3", result);
+78    }
+79  
+80    public void testOneParameter() {
+81      result = MessageFormatter.format("Value is {}.", i3).getMessage();
+82      assertEquals("Value is 3.", result);
+83  
+84      result = MessageFormatter.format("Value is {", i3).getMessage();
+85      assertEquals("Value is {", result);
+86  
+87      result = MessageFormatter.format("{} is larger than 2.", i3).getMessage();
+88      assertEquals("3 is larger than 2.", result);
+89  
+90      result = MessageFormatter.format("No subst", i3).getMessage();
+91      assertEquals("No subst", result);
+92  
+93      result = MessageFormatter.format("Incorrect {subst", i3).getMessage();
+94      assertEquals("Incorrect {subst", result);
+95  
+96      result = MessageFormatter.format("Value is {bla} {}", i3).getMessage();
+97      assertEquals("Value is {bla} 3", result);
+98  
+99      result = MessageFormatter.format("Escaped \\{} subst", i3).getMessage();
+100     assertEquals("Escaped {} subst", result);
+101 
+102     result = MessageFormatter.format("{Escaped", i3).getMessage();
+103     assertEquals("{Escaped", result);
+104 
+105     result = MessageFormatter.format("\\{}Escaped", i3).getMessage();
+106     assertEquals("{}Escaped", result);
+107 
+108     result = MessageFormatter.format("File name is {{}}.", "App folder.zip")
+109         .getMessage();
+110     assertEquals("File name is {App folder.zip}.", result);
+111 
+112     // escaping the escape character
+113     result = MessageFormatter
+114         .format("File name is C:\\\\{}.", "App folder.zip").getMessage();
+115     assertEquals("File name is C:\\App folder.zip.", result);
+116   }
+117 
+118   public void testTwoParameters() {
+119     result = MessageFormatter.format("Value {} is smaller than {}.", i1, i2)
+120         .getMessage();
+121     assertEquals("Value 1 is smaller than 2.", result);
+122 
+123     result = MessageFormatter.format("Value {} is smaller than {}", i1, i2)
+124         .getMessage();
+125     assertEquals("Value 1 is smaller than 2", result);
+126 
+127     result = MessageFormatter.format("{}{}", i1, i2).getMessage();
+128     assertEquals("12", result);
+129 
+130     result = MessageFormatter.format("Val1={}, Val2={", i1, i2).getMessage();
+131     assertEquals("Val1=1, Val2={", result);
+132 
+133     result = MessageFormatter.format("Value {} is smaller than \\{}", i1, i2)
+134         .getMessage();
+135     assertEquals("Value 1 is smaller than {}", result);
+136 
+137     result = MessageFormatter.format("Value {} is smaller than \\{} tail", i1,
+138         i2).getMessage();
+139     assertEquals("Value 1 is smaller than {} tail", result);
+140 
+141     result = MessageFormatter.format("Value {} is smaller than \\{", i1, i2)
+142         .getMessage();
+143     assertEquals("Value 1 is smaller than \\{", result);
+144 
+145     result = MessageFormatter.format("Value {} is smaller than {tail", i1, i2)
+146         .getMessage();
+147     assertEquals("Value 1 is smaller than {tail", result);
+148 
+149     result = MessageFormatter.format("Value \\{} is smaller than {}", i1, i2)
+150         .getMessage();
+151     assertEquals("Value {} is smaller than 1", result);
+152   }
+153 
+154   public void testExceptionIn_toString() {
+155     Object o = new Object() {
+156       public String toString() {
+157         throw new IllegalStateException("a");
+158       }
+159     };
+160     result = MessageFormatter.format("Troublesome object {}", o).getMessage();
+161     assertEquals("Troublesome object [FAILED toString()]", result);
+162 
+163   }
+164 
+165   public void testNullArray() {
+166     String msg0 = "msg0";
+167     String msg1 = "msg1 {}";
+168     String msg2 = "msg2 {} {}";
+169     String msg3 = "msg3 {} {} {}";
+170 
+171     Object[] args = null;
+172 
+173     result = MessageFormatter.arrayFormat(msg0, args).getMessage();
+174     assertEquals(msg0, result);
+175 
+176     result = MessageFormatter.arrayFormat(msg1, args).getMessage();
+177     assertEquals(msg1, result);
+178 
+179     result = MessageFormatter.arrayFormat(msg2, args).getMessage();
+180     assertEquals(msg2, result);
+181 
+182     result = MessageFormatter.arrayFormat(msg3, args).getMessage();
+183     assertEquals(msg3, result);
+184   }
+185 
+186   // tests the case when the parameters are supplied in a single array
+187   public void testArrayFormat() {
+188     result = MessageFormatter.arrayFormat(
+189         "Value {} is smaller than {} and {}.", ia0).getMessage();
+190     assertEquals("Value 1 is smaller than 2 and 3.", result);
+191 
+192     result = MessageFormatter.arrayFormat("{}{}{}", ia0).getMessage();
+193     assertEquals("123", result);
+194 
+195     result = MessageFormatter.arrayFormat("Value {} is smaller than {}.", ia0)
+196         .getMessage();
+197     assertEquals("Value 1 is smaller than 2.", result);
+198 
+199     result = MessageFormatter.arrayFormat("Value {} is smaller than {}", ia0)
+200         .getMessage();
+201     assertEquals("Value 1 is smaller than 2", result);
+202 
+203     result = MessageFormatter.arrayFormat("Val={}, {, Val={}", ia0)
+204         .getMessage();
+205     assertEquals("Val=1, {, Val=2", result);
+206 
+207     result = MessageFormatter.arrayFormat("Val={}, {, Val={}", ia0)
+208         .getMessage();
+209     assertEquals("Val=1, {, Val=2", result);
+210 
+211     result = MessageFormatter.arrayFormat("Val1={}, Val2={", ia0).getMessage();
+212     assertEquals("Val1=1, Val2={", result);
+213   }
+214 
+215   public void testArrayValues() {
+216     Integer p0 = i1;
+217     Integer[] p1 = new Integer[] { i2, i3 };
+218 
+219     result = MessageFormatter.format("{}{}", p0, p1).getMessage();
+220     assertEquals("1[2, 3]", result);
+221 
+222     // Integer[]
+223     result = MessageFormatter.arrayFormat("{}{}", new Object[] { "a", p1 })
+224         .getMessage();
+225     assertEquals("a[2, 3]", result);
+226 
+227     // byte[]
+228     result = MessageFormatter.arrayFormat("{}{}",
+229         new Object[] { "a", new byte[] { 1, 2 } }).getMessage();
+230     assertEquals("a[1, 2]", result);
+231 
+232     // int[]
+233     result = MessageFormatter.arrayFormat("{}{}",
+234         new Object[] { "a", new int[] { 1, 2 } }).getMessage();
+235     assertEquals("a[1, 2]", result);
+236 
+237     // float[]
+238     result = MessageFormatter.arrayFormat("{}{}",
+239         new Object[] { "a", new float[] { 1, 2 } }).getMessage();
+240     assertEquals("a[1.0, 2.0]", result);
+241 
+242     // double[]
+243     result = MessageFormatter.arrayFormat("{}{}",
+244         new Object[] { "a", new double[] { 1, 2 } }).getMessage();
+245     assertEquals("a[1.0, 2.0]", result);
+246 
+247   }
+248 
+249   public void testMultiDimensionalArrayValues() {
+250     Integer[][] multiIntegerA = new Integer[][] { ia0, ia1 };
+251     result = MessageFormatter.arrayFormat("{}{}",
+252         new Object[] { "a", multiIntegerA }).getMessage();
+253     assertEquals("a[[1, 2, 3], [10, 20, 30]]", result);
+254 
+255     int[][] multiIntA = new int[][] { { 1, 2 }, { 10, 20 } };
+256     result = MessageFormatter.arrayFormat("{}{}",
+257         new Object[] { "a", multiIntA }).getMessage();
+258     assertEquals("a[[1, 2], [10, 20]]", result);
+259 
+260     float[][] multiFloatA = new float[][] { { 1, 2 }, { 10, 20 } };
+261     result = MessageFormatter.arrayFormat("{}{}",
+262         new Object[] { "a", multiFloatA }).getMessage();
+263     assertEquals("a[[1.0, 2.0], [10.0, 20.0]]", result);
+264 
+265     Object[][] multiOA = new Object[][] { ia0, ia1 };
+266     result = MessageFormatter
+267         .arrayFormat("{}{}", new Object[] { "a", multiOA }).getMessage();
+268     assertEquals("a[[1, 2, 3], [10, 20, 30]]", result);
+269 
+270     Object[][][] _3DOA = new Object[][][] { multiOA, multiOA };
+271     result = MessageFormatter.arrayFormat("{}{}", new Object[] { "a", _3DOA })
+272         .getMessage();
+273     assertEquals("a[[[1, 2, 3], [10, 20, 30]], [[1, 2, 3], [10, 20, 30]]]",
+274         result);
+275   }
+276 
+277   public void testCyclicArrays() {
+278     {
+279       Object[] cyclicA = new Object[1];
+280       cyclicA[0] = cyclicA;
+281       assertEquals("[[...]]", MessageFormatter.arrayFormat("{}", cyclicA)
+282           .getMessage());
+283     }
+284     {
+285       Object[] a = new Object[2];
+286       a[0] = i1;
+287       Object[] c = new Object[] { i3, a };
+288       Object[] b = new Object[] { i2, c };
+289       a[1] = b;
+290       assertEquals("1[2, [3, [1, [...]]]]", MessageFormatter.arrayFormat(
+291           "{}{}", a).getMessage());
+292     }
+293   }
+294 
+295   public void testArrayThrowable() {
+296     FormattingTuple ft;
+297     Throwable t = new Throwable();
+298     Object[] ia = new Object[] { i1, i2, i3, t };
+299     Object[] iaWitness = new Object[] { i1, i2, i3 };
+300 
+301     ft = MessageFormatter
+302         .arrayFormat("Value {} is smaller than {} and {}.", ia);
+303     assertEquals("Value 1 is smaller than 2 and 3.", ft.getMessage());
+304     assertTrue(Arrays.equals(iaWitness, ft.getArgArray()));
+305     assertEquals(t, ft.getThrowable());
+306 
+307     ft = MessageFormatter.arrayFormat("{}{}{}", ia);
+308     assertEquals("123", ft.getMessage());
+309     assertTrue(Arrays.equals(iaWitness, ft.getArgArray()));
+310     assertEquals(t, ft.getThrowable());
+311 
+312     ft = MessageFormatter.arrayFormat("Value {} is smaller than {}.", ia);
+313     assertEquals("Value 1 is smaller than 2.", ft.getMessage());
+314     assertTrue(Arrays.equals(iaWitness, ft.getArgArray()));
+315     assertEquals(t, ft.getThrowable());
+316 
+317     ft = MessageFormatter.arrayFormat("Value {} is smaller than {}", ia);
+318     assertEquals("Value 1 is smaller than 2", ft.getMessage());
+319     assertTrue(Arrays.equals(iaWitness, ft.getArgArray()));
+320     assertEquals(t, ft.getThrowable());
+321 
+322     ft = MessageFormatter.arrayFormat("Val={}, {, Val={}", ia);
+323     assertEquals("Val=1, {, Val=2", ft.getMessage());
+324     assertTrue(Arrays.equals(iaWitness, ft.getArgArray()));
+325     assertEquals(t, ft.getThrowable());
+326 
+327     ft = MessageFormatter.arrayFormat("Val={}, \\{, Val={}", ia);
+328     assertEquals("Val=1, \\{, Val=2", ft.getMessage());
+329     assertTrue(Arrays.equals(iaWitness, ft.getArgArray()));
+330     assertEquals(t, ft.getThrowable());
+331 
+332     ft = MessageFormatter.arrayFormat("Val1={}, Val2={", ia);
+333     assertEquals("Val1=1, Val2={", ft.getMessage());
+334     assertTrue(Arrays.equals(iaWitness, ft.getArgArray()));
+335     assertEquals(t, ft.getThrowable());
+336 
+337     ft = MessageFormatter.arrayFormat(
+338         "Value {} is smaller than {} and {} -- {} .", ia);
+339     assertEquals("Value 1 is smaller than 2 and 3 -- " + t.toString() + " .",
+340         ft.getMessage());
+341     assertTrue(Arrays.equals(ia, ft.getArgArray()));
+342     assertNull(ft.getThrowable());
+343 
+344     ft = MessageFormatter.arrayFormat("{}{}{}{}", ia);
+345     assertEquals("123" + t.toString(), ft.getMessage());
+346     assertTrue(Arrays.equals(ia, ft.getArgArray()));
+347     assertNull(ft.getThrowable());
+348   }
+349 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/helpers/MyRandom.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/helpers/MyRandom.html new file mode 100644 index 0000000..545443d --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/helpers/MyRandom.html @@ -0,0 +1,70 @@ + + + + +MyRandom xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.helpers;
+26  
+27  
+28  class MyRandom  {
+29  
+30    private static final long serialVersionUID = -907426287094698288L;
+31  
+32    private final static long m = 200000000041L;  // a prime number
+33    private final static long a = 2000000011L; // a prime number
+34    
+35    long y;
+36    long unused;
+37    int bits = 32;
+38    
+39    public MyRandom() { 
+40      this(System.nanoTime()); 
+41    }
+42  
+43    
+44    public MyRandom(long seed) { 
+45      this.y = seed; 
+46    }
+47    
+48    
+49    int nextInt() {
+50      // we don't really care about the randomness of this
+51      // generator
+52      y = (a*y + 1) % m;
+53      unused = y >>> (48-bits); // just exercise the >>> operator
+54      return (int)(y);
+55    }
+56  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/helpers/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/helpers/package-frame.html new file mode 100644 index 0000000..f9840ff --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/helpers/package-frame.html @@ -0,0 +1,39 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.helpers + + + + +

+ org.slf4j.helpers +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/helpers/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/helpers/package-summary.html new file mode 100644 index 0000000..374d36c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/helpers/package-summary.html @@ -0,0 +1,92 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.helpers + + + +
+ +
+
+ +
+ +

Package org.slf4j.helpers

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class Summary
+ BogoPerf +
+ BubbleSort +
+ BubbleSortTest +
+ MessageFormatterPerfTest +
+ MessageFormatterTest +
+ MyRandom +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/impl/JDK14AdapterLoggerNameTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/impl/JDK14AdapterLoggerNameTest.html new file mode 100644 index 0000000..7f7f38a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/impl/JDK14AdapterLoggerNameTest.html @@ -0,0 +1,103 @@ + + + + +JDK14AdapterLoggerNameTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.impl;
+26  
+27  import java.util.logging.Handler;
+28  import java.util.logging.LogRecord;
+29  import java.util.logging.Logger;
+30  
+31  import junit.framework.TestCase;
+32  
+33  public class JDK14AdapterLoggerNameTest extends TestCase {
+34    private MockHandler mockHandler;
+35  
+36    protected void setUp() throws Exception {
+37      super.setUp();
+38      Logger logger = Logger.getLogger("TEST");
+39      mockHandler = new MockHandler();
+40      removeHandlers(logger);
+41      logger.addHandler(mockHandler);
+42    }
+43  
+44    protected void tearDown() throws Exception {
+45      removeHandlers(Logger.getLogger("TEST"));
+46      super.tearDown();
+47    }
+48  
+49    public void testLoggerNameusingJdkLogging() throws Exception {
+50      Logger.getLogger("TEST").info("test message");
+51      assertCorrectLoggerName();
+52  
+53    }
+54  
+55    public void testLoggerNameUsingSlf4j() throws Exception {
+56      JDK14LoggerFactory factory = new JDK14LoggerFactory();
+57      org.slf4j.Logger logger = factory.getLogger("TEST");
+58      logger.info("test message");
+59      assertCorrectLoggerName();
+60    }
+61  
+62    private void removeHandlers(Logger logger) {
+63      logger.setUseParentHandlers(false);
+64      Handler[] handlers = logger.getHandlers();
+65      for (int i = 0; i < handlers.length; i++) {
+66        logger.removeHandler(handlers[i]);
+67      }
+68    }
+69  
+70    private void assertCorrectLoggerName() {
+71      assertNotNull("no log record", mockHandler.record);
+72      assertNotNull("missing logger name", mockHandler.record.getLoggerName());
+73    }
+74  
+75    private class MockHandler extends java.util.logging.Handler {
+76      public LogRecord record;
+77  
+78      public void close() throws SecurityException {
+79      }
+80  
+81      public void flush() {
+82      }
+83  
+84      public void publish(LogRecord record) {
+85        this.record = record;
+86      }
+87  
+88    }
+89  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/impl/PerfTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/impl/PerfTest.html new file mode 100644 index 0000000..3f9fed2 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/impl/PerfTest.html @@ -0,0 +1,90 @@ + + + + +PerfTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.impl;
+26  
+27  import junit.framework.TestCase;
+28  
+29  import org.slf4j.Logger;
+30  import org.slf4j.LoggerFactory;
+31  import org.slf4j.helpers.BogoPerf;
+32  
+33  public class PerfTest extends TestCase {
+34  
+35    static long REFERENCE_BIPS = 9000;
+36  
+37    public PerfTest(String name) {
+38      super(name);
+39    }
+40  
+41    protected void setUp() throws Exception {
+42      super.setUp();
+43    }
+44  
+45    protected void tearDown() throws Exception {
+46      super.tearDown();
+47    }
+48  
+49    public void testBug72() {
+50      
+51      int LEN = 1000*1000*10;
+52      debugLoop(LEN); // warm up
+53      double avg = debugLoop(LEN);
+54      long referencePerf = 93;
+55      BogoPerf.assertDuration(avg, referencePerf, REFERENCE_BIPS);
+56  
+57      // when the code is guarded by a logger.isLoggable condition,
+58      // duration is about 16 *micro*seconds for 1000 iterations
+59      // when it is not guarded the figure is 90 milliseconds,
+60      // i.e a ration of 1 to 5000
+61    }
+62  
+63    double debugLoop(int len) {
+64      Logger logger = LoggerFactory.getLogger(PerfTest.class);
+65      long start = System.currentTimeMillis();
+66      for (int i = 0; i < len; i++) {
+67        logger.debug("hello");
+68      }
+69  
+70      long end = System.currentTimeMillis();
+71  
+72      long duration = end - start;
+73      return duration;
+74    }
+75  
+76  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/impl/RecursiveAppender.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/impl/RecursiveAppender.html new file mode 100644 index 0000000..df62c1f --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/impl/RecursiveAppender.html @@ -0,0 +1,68 @@ + + + + +RecursiveAppender xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.impl;
+26  
+27  import java.util.Random;
+28  
+29  import org.apache.log4j.AppenderSkeleton;
+30  import org.apache.log4j.spi.LoggingEvent;
+31  import org.slf4j.Logger;
+32  import org.slf4j.LoggerFactory;
+33  
+34  public class RecursiveAppender extends AppenderSkeleton {
+35  
+36    int diff = new Random().nextInt();
+37    
+38    public RecursiveAppender() {
+39      System.out.println("in RecursiveAppender constructor");
+40      Logger logger = LoggerFactory.getLogger("RecursiveAppender"+diff);
+41      System.out.println("logger class="+logger.getClass().getName());
+42      logger.info("Calling a logger in the constructor");
+43    }
+44    
+45    protected void append(LoggingEvent arg0) {
+46    }
+47  
+48    public void close() {
+49    }
+50  
+51    public boolean requiresLayout() {
+52      return false;
+53    }
+54  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/impl/RecursiveInitializationTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/impl/RecursiveInitializationTest.html new file mode 100644 index 0000000..3d21f53 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/impl/RecursiveInitializationTest.html @@ -0,0 +1,71 @@ + + + + +RecursiveInitializationTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.impl;
+26  
+27  import java.util.Random;
+28  
+29  import junit.framework.TestCase;
+30  
+31  import org.slf4j.Logger;
+32  import org.slf4j.LoggerFactory;
+33  
+34  public class RecursiveInitializationTest extends TestCase {
+35  
+36    // value of LogManager.DEFAULT_CONFIGURATION_KEY;
+37    static String CONFIG_FILE_KEY = "log4j.configuration";
+38  
+39    int diff = new Random().nextInt(10000);
+40    
+41    protected void setUp() throws Exception {
+42      System.setProperty(CONFIG_FILE_KEY, "recursiveInit.properties");
+43      super.setUp();
+44    }
+45  
+46    protected void tearDown() throws Exception {
+47      System.clearProperty(CONFIG_FILE_KEY);
+48      super.tearDown();
+49    }
+50  
+51    public void testLog4j() {
+52      Logger logger = LoggerFactory.getLogger("x"+diff);
+53      System.out.println("logger class="+logger.getClass().getName());
+54      logger.info("hello");
+55    }
+56  
+57  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/impl/SimpleLoggerTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/impl/SimpleLoggerTest.html new file mode 100644 index 0000000..3e6730d --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/impl/SimpleLoggerTest.html @@ -0,0 +1,91 @@ + + + + +SimpleLoggerTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2012 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.impl;
+26  
+27  import org.junit.After;
+28  import org.junit.Before;
+29  import org.junit.Test;
+30  
+31  import static junit.framework.Assert.assertEquals;
+32  import static junit.framework.Assert.assertNull;
+33  
+34  public class SimpleLoggerTest {
+35  
+36    String A_KEY = SimpleLogger.LOG_KEY_PREFIX+"a";
+37  
+38    @Before public void before() {
+39      System.setProperty(A_KEY, "info");
+40    }
+41  
+42    @After public void after() {
+43      System.clearProperty(A_KEY);
+44    }
+45  
+46    @Test
+47    public void emptyLoggerName() {
+48      SimpleLogger simpleLogger = new SimpleLogger("a");
+49      assertEquals("info", simpleLogger.recursivelyComputeLevelString());
+50    }
+51  
+52    @Test
+53    public void loggerNameWithNoDots_WithLevel() {
+54      SimpleLogger simpleLogger = new SimpleLogger("a");
+55      assertEquals("info", simpleLogger.recursivelyComputeLevelString());
+56    }
+57  
+58    @Test
+59    public void loggerNameWithOneDotShouldInheritFromParent() {
+60      SimpleLogger simpleLogger = new SimpleLogger("a.b");
+61      assertEquals("info", simpleLogger.recursivelyComputeLevelString());
+62    }
+63  
+64  
+65    @Test
+66    public void loggerNameWithNoDots_WithNoSetLevel() {
+67      SimpleLogger simpleLogger = new SimpleLogger("x");
+68      assertNull(simpleLogger.recursivelyComputeLevelString());
+69    }
+70  
+71    @Test
+72    public void loggerNameWithOneDot_NoSetLevel() {
+73      SimpleLogger simpleLogger = new SimpleLogger("x.y");
+74      assertNull(simpleLogger.recursivelyComputeLevelString());
+75    }
+76  
+77  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/impl/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/impl/package-frame.html new file mode 100644 index 0000000..b389675 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/impl/package-frame.html @@ -0,0 +1,39 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.impl + + + + +

+ org.slf4j.impl +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/impl/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/impl/package-summary.html new file mode 100644 index 0000000..0575cc2 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/impl/package-summary.html @@ -0,0 +1,92 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.impl + + + +
+ +
+
+ +
+ +

Package org.slf4j.impl

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class Summary
+ JDK14AdapterLoggerNameTest +
+ MockHandler +
+ PerfTest +
+ RecursiveAppender +
+ RecursiveInitializationTest +
+ SimpleLoggerTest +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/instrumentation/ToStringHelperTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/instrumentation/ToStringHelperTest.html new file mode 100644 index 0000000..8d08279 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/instrumentation/ToStringHelperTest.html @@ -0,0 +1,92 @@ + + + + +ToStringHelperTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.instrumentation;
+26  
+27  import junit.framework.TestCase;
+28  
+29  public class ToStringHelperTest extends TestCase {
+30  
+31  	public void testRenderer() {
+32  		assertEquals("", "null", ToStringHelper.render(null));
+33  		assertEquals("", "a", ToStringHelper.render("a"));
+34  		assertEquals("", "[]", ToStringHelper.render(new String[0]));
+35  
+36  		assertEquals("", "[a]", ToStringHelper.render(new String[] { "a" }));
+37  
+38  		assertEquals("", "[a, b]", ToStringHelper.render(new String[] { "a",
+39  				"b" }));
+40  
+41  		assertEquals("", "[a, b, c]", ToStringHelper.render(new String[] { "a",
+42  				"b", "c" }));
+43  
+44  		assertEquals("", "[[a], [b, c]]", ToStringHelper.render(new String[][] {
+45  				{ "a" }, { "b", "c" } }));
+46  
+47  		assertEquals("", "[0, [a], [b, c]]", ToStringHelper
+48  				.render(new Object[] { "0", new String[] { "a" },
+49  						new Object[] { "b", "c" } }));
+50  
+51  		assertEquals("", "[1]", ToStringHelper.render(new int[] { 1 }));
+52  
+53  		assertEquals("", "[1, 2, 3]", ToStringHelper
+54  				.render(new int[] { 1, 2, 3 }));
+55  
+56  		assertEquals("", "[1, 2, 3]", ToStringHelper.render(new long[] { 1, 2,
+57  				3 }));
+58  
+59  		assertEquals("", "[1, 2, 3]", ToStringHelper.render(new short[] { 1, 2,
+60  				3 }));
+61  
+62  		assertEquals("", "[[1, 2], [], [3, 4]]", ToStringHelper
+63  				.render(new byte[][] { { 1, 2 }, {}, { 3, 4 } }));
+64  
+65  		assertEquals("", "[1.0, 2.0, 3.0]", ToStringHelper.render(new float[] {
+66  				1, 2, 3 }));
+67  
+68  		assertEquals("", "[1.0, 2.0, 3.0]", ToStringHelper.render(new double[] {
+69  				1, 2, 3 }));
+70  
+71  		assertEquals("", "[[1.0, 2.0, 3.0]]", ToStringHelper
+72  				.render(new double[][] { { 1, 2, 3 } }));
+73  
+74  		assertEquals("", "[true, false, true]", ToStringHelper
+75  				.render(new boolean[] { true, false, true }));
+76  	}
+77  
+78  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/instrumentation/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/instrumentation/package-frame.html new file mode 100644 index 0000000..d09b3b9 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/instrumentation/package-frame.html @@ -0,0 +1,24 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.instrumentation + + + + +

+ org.slf4j.instrumentation +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/instrumentation/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/instrumentation/package-summary.html new file mode 100644 index 0000000..ffa62d6 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/instrumentation/package-summary.html @@ -0,0 +1,67 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.instrumentation + + + +
+ +
+
+ +
+ +

Package org.slf4j.instrumentation

+ + + + + + + + + + + + +
Class Summary
+ ToStringHelperTest +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/issue/LoggerSerializationTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/issue/LoggerSerializationTest.html new file mode 100644 index 0000000..1bed8cf --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/issue/LoggerSerializationTest.html @@ -0,0 +1,99 @@ + + + + +LoggerSerializationTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.issue;
+26  
+27  
+28  import java.io.ByteArrayInputStream;
+29  import java.io.ByteArrayOutputStream;
+30  import java.io.IOException;
+31  import java.io.InputStream;
+32  import java.io.ObjectInputStream;
+33  import java.io.ObjectOutputStream;
+34  import java.io.Serializable;
+35  
+36  import junit.framework.Assert;
+37  
+38  import junit.framework.TestCase;
+39  import org.slf4j.Logger;
+40  import org.slf4j.LoggerFactory;
+41  
+42  /**
+43   * See http://bugzilla.slf4j.org/show_bug.cgi?id=261
+44   * @author Thorbjorn Ravn Andersen
+45   */
+46  public class LoggerSerializationTest extends TestCase {
+47  
+48    static class LoggerHolder implements Serializable {
+49   		private static final long serialVersionUID = 1L;
+50  
+51   		private Logger log = LoggerFactory.getLogger(LoggerHolder.class);
+52  
+53   		public String toString() {
+54   			return "log=" + getLog();
+55   		}
+56  
+57   		public Logger getLog() {
+58   			return log;
+59   		}
+60   	}
+61  
+62   	public void testCanLoggerBeSerialized() throws IOException,
+63   			ClassNotFoundException {
+64  
+65   		LoggerHolder lh1 = new LoggerHolder();
+66  
+67   		ByteArrayOutputStream baos = new ByteArrayOutputStream();
+68   		ObjectOutputStream out = new ObjectOutputStream(baos);
+69   		out.writeObject(lh1);
+70   		out.close();
+71  
+72   		lh1 = null;
+73  
+74   		byte[] serializedLoggerHolder = baos.toByteArray();
+75  
+76   		InputStream is = new ByteArrayInputStream(serializedLoggerHolder);
+77   		ObjectInputStream in = new ObjectInputStream(is);
+78   		LoggerHolder lh2 = (LoggerHolder) in.readObject();
+79  
+80   		Assert.assertNotNull(lh2);
+81   		Assert.assertNotNull(lh2.getLog());
+82   		lh2.getLog().info("You must see this message as a log message");
+83   	}
+84  
+85  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/issue/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/issue/package-frame.html new file mode 100644 index 0000000..a7a0f87 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/issue/package-frame.html @@ -0,0 +1,27 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.issue + + + + +

+ org.slf4j.issue +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/issue/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/issue/package-summary.html new file mode 100644 index 0000000..1057b3a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/issue/package-summary.html @@ -0,0 +1,72 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.issue + + + +
+ +
+
+ +
+ +

Package org.slf4j.issue

+ + + + + + + + + + + + + + + +
Class Summary
+ LoggerHolder +
+ LoggerSerializationTest +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/AllTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/AllTest.html new file mode 100644 index 0000000..30f7da2 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/AllTest.html @@ -0,0 +1,55 @@ + + + + +AllTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.migrator;
+26  
+27  import junit.framework.Test;
+28  import junit.framework.TestCase;
+29  import junit.framework.TestSuite;
+30  
+31  public class AllTest extends TestCase {
+32  
+33    public static Test suite() {
+34      TestSuite suite = new TestSuite();
+35      suite.addTest(org.slf4j.migrator.PackageTest.suite());
+36      suite.addTest(org.slf4j.migrator.line.PackageTest.suite());
+37      suite.addTest(org.slf4j.migrator.helper.PackageTest.suite());
+38      
+39      return suite;
+40    }
+41  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/AternativeApproach.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/AternativeApproach.html new file mode 100644 index 0000000..2bc2c95 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/AternativeApproach.html @@ -0,0 +1,169 @@ + + + + +AternativeApproach xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.migrator;
+26  
+27  import java.util.regex.Matcher;
+28  import java.util.regex.Pattern;
+29  
+30  import org.slf4j.migrator.line.MultiGroupConversionRule;
+31  
+32  import junit.framework.TestCase;
+33  
+34  public class AternativeApproach extends TestCase {
+35  
+36    /**
+37     * In this test we see that we cans use more simple Pattern to do the
+38     * conversion
+39     * 
+40     */
+41    public void test() {
+42      MultiGroupConversionRule cr2 = new MultiGroupConversionRule(Pattern
+43          .compile("(.*)(Log)"));
+44      cr2.addReplacement(2, "LOGGER");
+45  
+46      String s = "abcd Log";
+47      Pattern pat = cr2.getPattern();
+48      Matcher m = pat.matcher(s);
+49  
+50      assertTrue(m.matches());
+51      String r = cr2.replace(m);
+52      assertEquals("abcd LOGGER", r);
+53  
+54      System.out.println(r);
+55    }
+56  
+57    /**
+58     * In this test we replace, using the simple Pattern (Log), the full Log
+59     * declaration and instanciation. This is not convenient because we will also
+60     * replace all String containing "Log".
+61     */
+62    public void test2() {
+63      Pattern pat = Pattern.compile("(Log)");
+64      String s = "abcd Log =";
+65      Matcher m = pat.matcher(s);
+66      assertTrue(m.find());
+67      String r = m.replaceAll("Logger");
+68      assertEquals("abcd Logger =", r);
+69  
+70      String s1 = "Log l = LogFactory.getLog(MyClass.class);";
+71      m = pat.matcher(s1);
+72      assertTrue(m.find());
+73      r = m.replaceAll("Logger");
+74      assertEquals("Logger l = LoggerFactory.getLogger(MyClass.class);", r);
+75  
+76      String s2 = "Logabc ";
+77      m = pat.matcher(s2);
+78      assertTrue(m.find());
+79  
+80      String s3 = "abcLog";
+81      m = pat.matcher(s3);
+82      assertTrue(m.find());
+83    }
+84  
+85    /**
+86     * In this test we use a simple Pattern to replace the log instanciation
+87     * without influence on Log declaration.
+88     * 
+89     */
+90    public void test3() {
+91      Pattern pat = Pattern.compile("LogFactory.getFactory\\(\\).getInstance\\(");
+92      String s = "Log log =  LogFactory.getFactory().getInstance(\"x\");";
+93      Matcher m = pat.matcher(s);
+94      assertTrue(m.find());
+95      String r = m.replaceAll("LoggerFactory.getLogger(");
+96      assertEquals("Log log =  LoggerFactory.getLogger(\"x\");", r);
+97  
+98      String nonMatching = "Log log = xxx;";
+99      pat.matcher(nonMatching);
+100     assertFalse(m.find());
+101   }
+102 
+103   /**
+104    * In this test we try to replace keyword Log without influence on String
+105    * containg Log We see that we have to use two differents Patterns
+106    */
+107   public void test4() {
+108     Pattern pat = Pattern.compile("(\\sLog\\b)");
+109     String s = "abcd Log =";
+110     Matcher m = pat.matcher(s);
+111     assertTrue(m.find());
+112     String r = m.replaceAll(" Logger");
+113     assertEquals("abcd Logger =", r);
+114 
+115     String s2 = "Logabcd ";
+116     m = pat.matcher(s2);
+117     assertFalse(m.find());
+118 
+119     String s3 = "abcdLogabcd ";
+120     m = pat.matcher(s3);
+121     assertFalse(m.find());
+122 
+123     String s4 = "abcdLog";
+124     m = pat.matcher(s4);
+125     assertFalse(m.find());
+126 
+127     String s5 = "Log myLog";
+128     m = pat.matcher(s5);
+129     assertFalse(m.find());
+130 
+131     Pattern pat2 = Pattern.compile("^Log\\b");
+132     Matcher m2 = pat2.matcher(s5);
+133     assertTrue(m2.find());
+134     r = m2.replaceAll("Logger");
+135     assertEquals("Logger myLog", r);
+136   }
+137 
+138   /**
+139    * In this test we combine two Pattern to achieve the intended conversion
+140    */
+141   public void test5() {
+142     Pattern pat = Pattern.compile("(\\sLog\\b)");
+143     String s = "public Log myLog =LogFactory.getFactory().getInstance(myClass.class);";
+144     Matcher m = pat.matcher(s);
+145     assertTrue(m.find());
+146     String r = m.replaceAll(" Logger");
+147     assertEquals("public Logger myLog =LogFactory.getFactory().getInstance(myClass.class);", r);
+148 
+149     Pattern pat2 = Pattern.compile("LogFactory.getFactory\\(\\).getInstance\\(");
+150     m = pat2.matcher(r);
+151     assertTrue(m.find());
+152     r = m.replaceAll("LoggerFactory.getLogger(");
+153     assertEquals("public Logger myLog =LoggerFactory.getLogger(myClass.class);", r);
+154   }
+155 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/FileConverterTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/FileConverterTest.html new file mode 100644 index 0000000..1b4d7e1 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/FileConverterTest.html @@ -0,0 +1,72 @@ + + + + +FileConverterTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.migrator;
+26  
+27  import java.io.File;
+28  import java.io.IOException;
+29  
+30  import junit.framework.TestCase;
+31  
+32  import org.slf4j.migrator.InplaceFileConverter;
+33  import org.slf4j.migrator.internal.NopProgressListener;
+34  import org.slf4j.migrator.line.EmptyRuleSet;
+35  
+36  public class FileConverterTest extends TestCase {
+37  
+38    public FileConverterTest(String arg0) {
+39      super(arg0);
+40    }
+41  
+42    protected void setUp() throws Exception {
+43      super.setUp();
+44    }
+45  
+46    protected void tearDown() throws Exception {
+47      super.tearDown();
+48    }
+49  
+50    public void test() {
+51    }
+52  
+53    
+54    public void XtestNOP() throws IOException {
+55      InplaceFileConverter fc = new InplaceFileConverter(new EmptyRuleSet(), new NopProgressListener());
+56      fc.convert(new File("c:/varargs.txt"));
+57    }
+58  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/PackageTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/PackageTest.html new file mode 100644 index 0000000..84a9483 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/PackageTest.html @@ -0,0 +1,52 @@ + + + + +PackageTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.migrator;
+26  
+27  import junit.framework.Test;
+28  import junit.framework.TestCase;
+29  import junit.framework.TestSuite;
+30  
+31  public class PackageTest extends TestCase {
+32  
+33    public static Test suite() {
+34      TestSuite suite = new TestSuite();
+35      suite.addTestSuite(AternativeApproach.class);
+36      return suite;
+37    }
+38  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/ProjectConverterTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/ProjectConverterTest.html new file mode 100644 index 0000000..7959a6c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/ProjectConverterTest.html @@ -0,0 +1,60 @@ + + + + +ProjectConverterTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.migrator;
+26  
+27  import java.io.File;
+28  
+29  import org.slf4j.migrator.Constant;
+30  import org.slf4j.migrator.ProjectConverter;
+31  import org.slf4j.migrator.internal.NopProgressListener;
+32  
+33  import junit.framework.TestCase;
+34  
+35  public class ProjectConverterTest extends TestCase {
+36  
+37    public void test() {
+38    }
+39  
+40    public void XtestBarracuda() {
+41      ProjectConverter pc = new ProjectConverter(Constant.LOG4J_TO_SLF4J,
+42          new NopProgressListener());
+43      File projectFolder = new File("c:/home/ceki//Varia/Barracuda");
+44      pc.convertProject(projectFolder);
+45    }
+46  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/helper/AbbreviatorTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/helper/AbbreviatorTest.html new file mode 100644 index 0000000..5acb177 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/helper/AbbreviatorTest.html @@ -0,0 +1,179 @@ + + + + +AbbreviatorTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.migrator.helper;
+26  
+27  import org.slf4j.migrator.helper.Abbreviator;
+28  
+29  import junit.framework.TestCase;
+30  
+31  public class AbbreviatorTest extends TestCase {
+32  
+33    static final char FS = '/';
+34    static final String INPUT_0 = "/abc/123456/ABC";
+35    static final String INPUT_1 = "/abc/123456/xxxxx/ABC";
+36  
+37    RandomHelper rh = new RandomHelper(FS);
+38  
+39    public AbbreviatorTest(String arg0) {
+40      super(arg0);
+41    }
+42  
+43    protected void setUp() throws Exception {
+44      super.setUp();
+45    }
+46  
+47    protected void tearDown() throws Exception {
+48      super.tearDown();
+49    }
+50  
+51    public void testSmoke() {
+52      {
+53        Abbreviator abb = new Abbreviator(2, 100, FS);
+54        String r = abb.abbreviate(INPUT_0);
+55        assertEquals(INPUT_0, r);
+56      }
+57  
+58      {
+59        Abbreviator abb = new Abbreviator(3, 8, FS);
+60        String r = abb.abbreviate(INPUT_0);
+61        assertEquals("/abc/.../ABC", r);
+62      }
+63      {
+64        Abbreviator abb = new Abbreviator(3, 8, FS);
+65        String r = abb.abbreviate(INPUT_0);
+66        assertEquals("/abc/.../ABC", r);
+67      }
+68    }
+69  
+70    public void testImpossibleToAbbreviate() {
+71      Abbreviator abb = new Abbreviator(2, 20, FS);
+72      String in = "iczldqwivpgm/mgrmvbjdxrwmqgprdjusth";
+73      String r = abb.abbreviate(in);
+74      assertEquals(in, r);
+75    }
+76  
+77    public void testNoFS() {
+78      Abbreviator abb = new Abbreviator(2, 100, FS);
+79      String r = abb.abbreviate("hello");
+80      assertEquals("hello", r);
+81  
+82    }
+83  
+84    public void testZeroPrefix() {
+85      {
+86        Abbreviator abb = new Abbreviator(0, 100, FS);
+87        String r = abb.abbreviate(INPUT_0);
+88        assertEquals(INPUT_0, r);
+89      }
+90    }
+91  
+92    public void testTheories() {
+93      int MAX_RANDOM_FIXED_LEN = 20;
+94      int MAX_RANDOM_AVG_LEN = 20;
+95      int MAX_RANDOM_MAX_LEN = 100;
+96      for (int i = 0; i < 10000; i++) {
+97  
+98        //System.out.println("Test number " + i);
+99  
+100       // 0 <= fixedLen < MAX_RANDOM_FIXED_LEN
+101       int fixedLen = rh.nextInt(MAX_RANDOM_FIXED_LEN);
+102       // 5 <= averageLen < MAX_RANDOM_AVG_LEN
+103       int averageLen = rh.nextInt(MAX_RANDOM_AVG_LEN) + 3;
+104       // System.out.println("fixedLen="+fixedLen+", averageLen="+averageLen);
+105 
+106       int maxLen = rh.nextInt(MAX_RANDOM_MAX_LEN) + fixedLen;
+107       if (maxLen <= 1) {
+108         continue;
+109       }
+110       // System.out.println("maxLen="+maxLen);
+111       int targetLen = (maxLen / 2) + rh.nextInt(maxLen / 2) + 1;
+112 
+113       if (targetLen > maxLen) {
+114         targetLen = maxLen;
+115       }
+116       String filename = rh.buildRandomFileName(averageLen, maxLen);
+117 
+118       Abbreviator abb = new Abbreviator(fixedLen, targetLen, FS);
+119       String result = abb.abbreviate(filename);
+120       assertTheory0(averageLen, filename, result, fixedLen, targetLen);
+121       assertUsefulness(averageLen, filename, result, fixedLen, targetLen);
+122       assertTheory1(filename, result, fixedLen, targetLen);
+123       assertTheory2(filename, result, fixedLen, targetLen);
+124     }
+125   }
+126 
+127   // result length is smaller than original length 
+128   void assertTheory0(int averageLen, String filename, String result,
+129       int fixedLen, int targetLength) {
+130       assertTrue("filename=[" + filename + "] result=[" + result + "]", result
+131         .length() <= filename.length());
+132   }
+133 
+134   // if conditions allow, result length should be to target length
+135   void assertUsefulness(int averageLen, String filename, String result,
+136       int fixedLen, int targetLength) {
+137     int resLen = result.length();
+138 
+139     int margin = averageLen * 4;
+140     if (targetLength > fixedLen + margin) {
+141       assertTrue("filename=[" + filename + "], result=[" + result
+142           + "] resultLength=" + resLen + " fixedLength=" + fixedLen
+143           + ", targetLength=" + targetLength + ", avgLen=" + averageLen, result
+144           .length() <= targetLength + averageLen);
+145     }
+146   }
+147 
+148   // result start with prefix found in filename
+149   void assertTheory1(String filename, String result, int fixedLen,
+150       int targetLength) {
+151     String prefix = filename.substring(0, fixedLen);
+152     assertTrue(result.startsWith(prefix));
+153   }
+154 
+155   // The string /.../ is found in the result once at a position higher
+156   // than fixedLen
+157   void assertTheory2(String filename, String result, int fixedLen,
+158       int targetLength) {
+159     if (filename == result) {
+160       return;
+161     }
+162     int fillerIndex = result.indexOf(Abbreviator.FILLER);
+163     assertTrue(fillerIndex >= fixedLen);
+164   }
+165 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/helper/PackageTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/helper/PackageTest.html new file mode 100644 index 0000000..5f0c207 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/helper/PackageTest.html @@ -0,0 +1,52 @@ + + + + +PackageTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.migrator.helper;
+26  
+27  import junit.framework.Test;
+28  import junit.framework.TestCase;
+29  import junit.framework.TestSuite;
+30  
+31  public class PackageTest extends TestCase {
+32  
+33    public static Test suite() {
+34      TestSuite suite = new TestSuite();
+35      suite.addTestSuite(AbbreviatorTest.class);
+36      return suite;
+37    }
+38  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/helper/RandomHelper.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/helper/RandomHelper.html new file mode 100644 index 0000000..084b0ce --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/helper/RandomHelper.html @@ -0,0 +1,84 @@ + + + + +RandomHelper xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.migrator.helper;
+26  
+27  import java.util.Random;
+28  
+29  public class RandomHelper {
+30  
+31    private Random random = new Random(100);
+32    final char folderSeparator;
+33    
+34    RandomHelper(char folderSeparator) {
+35     this.folderSeparator = folderSeparator;
+36    }
+37    
+38    private String randomString(int len) {
+39      StringBuffer buf = new StringBuffer();
+40      for (int i = 0; i < len; i++) {
+41        int offset = random.nextInt(26);
+42        char c = (char) ('a' + offset);
+43        buf.append(c);
+44      }
+45      return buf.toString();
+46    }
+47  
+48    int nextInt(int n) {
+49      return random.nextInt(n);
+50    }
+51    
+52    String buildRandomFileName(int averageNodeLength, int totalLength) {
+53      StringBuffer buf = new StringBuffer();
+54      int MAX_NODE_LENGTH = averageNodeLength * 2;
+55      while (buf.length() < totalLength) {
+56        int remaining = totalLength - buf.length();
+57        int currentNodeLength;
+58        if (remaining > MAX_NODE_LENGTH) {
+59          currentNodeLength = random.nextInt(MAX_NODE_LENGTH) + 1;
+60          buf.append(randomString(currentNodeLength));
+61          buf.append('/');
+62        } else {
+63          currentNodeLength = remaining;
+64          buf.append(randomString(currentNodeLength));
+65        }
+66      }
+67      return buf.toString();
+68    }
+69  
+70  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/helper/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/helper/package-frame.html new file mode 100644 index 0000000..4b976fe --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/helper/package-frame.html @@ -0,0 +1,30 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.migrator.helper + + + + +

+ org.slf4j.migrator.helper +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/helper/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/helper/package-summary.html new file mode 100644 index 0000000..1bc2d03 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/helper/package-summary.html @@ -0,0 +1,77 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.migrator.helper + + + +
+ +
+
+ +
+ +

Package org.slf4j.migrator.helper

+ + + + + + + + + + + + + + + + + + +
Class Summary
+ AbbreviatorTest +
+ PackageTest +
+ RandomHelper +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/internal/NopProgressListener.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/internal/NopProgressListener.html new file mode 100644 index 0000000..48ef06a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/internal/NopProgressListener.html @@ -0,0 +1,68 @@ + + + + +NopProgressListener xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.migrator.internal;
+26  
+27  import java.io.File;
+28  
+29  import org.slf4j.migrator.internal.ProgressListener;
+30  
+31  public class NopProgressListener implements ProgressListener {
+32  
+33    public void onDirectory(File file) {
+34    }
+35  
+36    public void onDone() {
+37    }
+38  
+39    public void onFileAddition(File file) {
+40    }
+41  
+42    public void onFileScan(File file) {
+43    }
+44  
+45    public void onInplaceConversion(File file) {
+46    }
+47  
+48    public void onFileScanBegin() {
+49    }
+50  
+51    public void onMigrationBegin() {
+52    }
+53  
+54  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/internal/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/internal/package-frame.html new file mode 100644 index 0000000..ccb05dd --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/internal/package-frame.html @@ -0,0 +1,24 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.migrator.internal + + + + +

+ org.slf4j.migrator.internal +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/internal/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/internal/package-summary.html new file mode 100644 index 0000000..69a6854 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/internal/package-summary.html @@ -0,0 +1,67 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.migrator.internal + + + +
+ +
+
+ +
+ +

Package org.slf4j.migrator.internal

+ + + + + + + + + + + + +
Class Summary
+ NopProgressListener +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/line/JCLRuleSetTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/line/JCLRuleSetTest.html new file mode 100644 index 0000000..273de02 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/line/JCLRuleSetTest.html @@ -0,0 +1,173 @@ + + + + +JCLRuleSetTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.migrator.line;
+26  
+27  import org.slf4j.migrator.line.JCLRuleSet;
+28  import org.slf4j.migrator.line.LineConverter;
+29  
+30  import junit.framework.TestCase;
+31  
+32  public class JCLRuleSetTest extends TestCase {
+33  
+34    LineConverter jclConverter = new LineConverter(new JCLRuleSet());
+35    
+36    public void testImportReplacement() {
+37      // LogFactory import replacement
+38      assertEquals("import org.slf4j.LoggerFactory;", jclConverter
+39          .getOneLineReplacement("import org.apache.commons.logging.LogFactory;"));
+40      // Log import replacement
+41      assertEquals("import org.slf4j.Logger;", jclConverter
+42          .getOneLineReplacement("import org.apache.commons.logging.Log;"));
+43    }
+44  
+45    public void testLogFactoryGetLogReplacement() {
+46      // Logger declaration and instanciation without modifier
+47      assertEquals("  Logger   l = LoggerFactory.getLogger(MyClass.class);",
+48          jclConverter
+49              .getOneLineReplacement("  Log   l = LogFactory.getLog(MyClass.class);"));
+50      // Logger declaration and instanciation with one modifier
+51      assertEquals(
+52          "public Logger mylog=LoggerFactory.getLogger(MyClass.class);",
+53          jclConverter
+54              .getOneLineReplacement("public Log mylog=LogFactory.getLog(MyClass.class);"));
+55      // Logger declaration and instanciation with two modifier
+56      assertEquals(
+57          "public static Logger mylog1 = LoggerFactory.getLogger(MyClass.class);",
+58          jclConverter
+59              .getOneLineReplacement("public static Log mylog1 = LogFactory.getLog(MyClass.class);"));
+60      // Logger declaration and instanciation with two modifier and comment at the
+61      // end of line
+62      assertEquals(
+63          "public static Logger mylog1 = LoggerFactory.getLogger(MyClass.class); //logger instanciation and declaration",
+64          jclConverter
+65              .getOneLineReplacement("public static Log mylog1 = LogFactory.getLog(MyClass.class); //logger instanciation and declaration"));
+66      // Logger instanciation without declaration and comment at the end of line
+67      assertEquals(
+68          " myLog = LoggerFactory.getLogger(MyClass.class);//logger instanciation",
+69          jclConverter
+70              .getOneLineReplacement(" myLog = LogFactory.getLog(MyClass.class);//logger instanciation"));
+71      // commented Logger declaration and instanciation with two modifier
+72      assertEquals(
+73          "//public static Logger mylog1 = LoggerFactory.getLogger(MyClass.class);",
+74          jclConverter
+75              .getOneLineReplacement("//public static Log mylog1 = LogFactory.getLog(MyClass.class);"));
+76      // commented Logger instanciation without declaration
+77      assertEquals(
+78          "// myLog = LoggerFactory.getLogger(MyClass.class);//logger instanciation",
+79          jclConverter
+80              .getOneLineReplacement("// myLog = LogFactory.getLog(MyClass.class);//logger instanciation"));
+81    }
+82  
+83    public void testLogFactoryGetFactoryReplacement() {
+84     
+85      // Logger declaration and instanciation without modifier
+86      assertEquals(
+87          "Logger l = LoggerFactory.getLogger(MyClass.class);",
+88          jclConverter
+89              .getOneLineReplacement("Log l = LogFactory.getFactory().getInstance(MyClass.class);"));
+90      // Logger declaration and instanciation with one modifier
+91      assertEquals(
+92          "public Logger mylog=LoggerFactory.getLogger(MyClass.class);",
+93          jclConverter
+94              .getOneLineReplacement("public Log mylog=LogFactory.getFactory().getInstance(MyClass.class);"));
+95      // Logger declaration and instanciation with modifiers
+96      assertEquals(
+97          "public static Logger mylog1 = LoggerFactory.getLogger(MyClass.class);",
+98          jclConverter
+99              .getOneLineReplacement("public static Log mylog1 = LogFactory.getFactory().getInstance(MyClass.class);"));
+100     // Logger declaration and instanciation with two modifier and comment at the
+101     // end of line
+102     assertEquals(
+103         "public static Logger mylog1 = LoggerFactory.getLogger(MyClass.class); //logger instanciation and declaration",
+104         jclConverter
+105             .getOneLineReplacement("public static Log mylog1 = LogFactory.getFactory().getInstance(MyClass.class); //logger instanciation and declaration"));
+106     // Logger instanciation without declaration and comment at the end of line
+107     assertEquals(
+108         " myLog = LoggerFactory.getLogger(MyClass.class);//logger instanciation",
+109         jclConverter
+110             .getOneLineReplacement(" myLog = LogFactory.getFactory().getInstance(MyClass.class);//logger instanciation"));
+111     // commented Logger declaration and instanciation with two modifier
+112     assertEquals(
+113         "//public static Logger mylog1 = LoggerFactory.getLogger(MyClass.class);",
+114         jclConverter
+115             .getOneLineReplacement("//public static Log mylog1 = LogFactory.getFactory().getInstance(MyClass.class);"));
+116     // commented Logger instanciation without declaration
+117     assertEquals(
+118         "// myLog = LoggerFactory.getLogger(MyClass.class);//logger instanciation",
+119         jclConverter
+120             .getOneLineReplacement("// myLog = LogFactory.getFactory().getInstance(MyClass.class);//logger instanciation"));
+121   }
+122 
+123   public void testLogDeclarationReplacement() {
+124    
+125     // simple Logger declaration
+126     assertEquals("Logger mylog;", jclConverter.getOneLineReplacement("Log mylog;"));
+127     // Logger declaration with a modifier
+128     assertEquals("private Logger mylog;", jclConverter
+129         .getOneLineReplacement("private Log mylog;"));
+130 
+131     // Logger declaration with modifiers
+132     assertEquals("public static final Logger myLog;", jclConverter
+133         .getOneLineReplacement("public static final Log myLog;"));
+134     // Logger declaration with modifiers and comment at the end of line
+135     assertEquals("public Logger myLog;//logger declaration", jclConverter
+136         .getOneLineReplacement("public Log myLog;//logger declaration"));
+137     // commented Logger declaration
+138     assertEquals("//private Logger myLog;", jclConverter
+139         .getOneLineReplacement("//private Log myLog;"));
+140   }
+141 
+142   public void testMultiLineReplacement() {
+143     // Logger declaration on a line
+144     assertEquals("protected Logger log =", jclConverter
+145         .getOneLineReplacement("protected Log log ="));
+146 
+147     // Logger instanciation on the next line
+148     assertEquals(" LoggerFactory.getLogger(MyComponent.class);", jclConverter
+149         .getOneLineReplacement(" LogFactory.getLog(MyComponent.class);"));
+150     // Logger declaration on a line
+151     assertEquals("protected Logger log ", jclConverter
+152         .getOneLineReplacement("protected Log log "));
+153     // Logger instanciation on the next line
+154     assertEquals(
+155         " = LoggerFactory.getLogger(MyComponent.class);",
+156         jclConverter
+157             .getOneLineReplacement(" = LogFactory.getFactory().getInstance(MyComponent.class);"));
+158   }
+159 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/line/Log4jRuleSetTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/line/Log4jRuleSetTest.html new file mode 100644 index 0000000..b1bf1d5 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/line/Log4jRuleSetTest.html @@ -0,0 +1,173 @@ + + + + +Log4jRuleSetTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.migrator.line;
+26  
+27  import java.util.Arrays;
+28  
+29  import org.slf4j.migrator.line.LineConverter;
+30  import org.slf4j.migrator.line.Log4jRuleSet;
+31  
+32  import junit.framework.TestCase;
+33  
+34  public class Log4jRuleSetTest extends TestCase {
+35  
+36    LineConverter log4jConverter = new LineConverter(new Log4jRuleSet());
+37    
+38    public void testImportReplacement() {
+39      // LogFactory import replacement
+40      assertEquals("import org.slf4j.LoggerFactory;", log4jConverter
+41          .getOneLineReplacement("import org.apache.log4j.LogManager;"));
+42      // Log import replacement
+43      assertTrue(Arrays.equals( 
+44          new String[] {"import org.slf4j.Logger;", "import org.slf4j.LoggerFactory;" },
+45          log4jConverter.getReplacement("import org.apache.log4j.Logger;")));
+46    }
+47  
+48    public void testLogManagerGetLoggerReplacement() {
+49      // Logger declaration and instanciation without modifier
+50      assertEquals(" Logger l = LoggerFactory.getLogger(MyClass.class);",
+51          log4jConverter
+52              .getOneLineReplacement(" Logger l = LogManager.getLogger(MyClass.class);"));
+53      // Logger declaration and instanciation with one modifier
+54      assertEquals(
+55          "public Logger mylog=LoggerFactory.getLogger(MyClass.class);",
+56          log4jConverter
+57              .getOneLineReplacement("public Logger mylog=LogManager.getLogger(MyClass.class);"));
+58      // Logger declaration and instanciation with two modifier
+59      assertEquals(
+60          "public static Logger mylog1 = LoggerFactory.getLogger(MyClass.class);",
+61          log4jConverter
+62              .getOneLineReplacement("public static Logger mylog1 = LogManager.getLogger(MyClass.class);"));
+63      // Logger declaration and instanciation with two modifier and comment at the
+64      // end of line
+65      assertEquals(
+66          "public static Logger mylog1 = LoggerFactory.getLogger(MyClass.class);//logger instanciation and declaration",
+67          log4jConverter
+68              .getOneLineReplacement("public static Logger mylog1 = LogManager.getLogger(MyClass.class);//logger instanciation and declaration"));
+69      // Logger instanciation without declaration and comment at the end of line
+70      assertEquals(
+71          " myLog = LoggerFactory.getLogger(MyClass.class);//logger instanciation",
+72          log4jConverter
+73              .getOneLineReplacement(" myLog = LogManager.getLogger(MyClass.class);//logger instanciation"));
+74      // commented Logger declaration and instanciation with two modifier
+75      assertEquals(
+76          "//public static Logger mylog1 = LoggerFactory.getLogger(MyClass.class);",
+77          log4jConverter
+78              .getOneLineReplacement("//public static Logger mylog1 = LogManager.getLogger(MyClass.class);"));
+79      // commented Logger instanciation without declaration
+80      assertEquals(
+81          "// myLog = LoggerFactory.getLogger(MyClass.class);//logger instanciation",
+82          log4jConverter
+83              .getOneLineReplacement("// myLog = LogManager.getLogger(MyClass.class);//logger instanciation"));
+84    }
+85  
+86    public void testLoggerGetLoggerReplacement() {
+87      // Logger declaration and instanciation without modifier
+88      assertEquals("Logger l = LoggerFactory.getLogger(MyClass.class);",
+89          log4jConverter
+90              .getOneLineReplacement("Logger l = Logger.getLogger(MyClass.class);"));
+91      // Logger declaration and instanciation with one modifier
+92      assertEquals(
+93          "public Logger mylog=LoggerFactory.getLogger(MyClass.class);",
+94          log4jConverter
+95              .getOneLineReplacement("public Logger mylog=Logger.getLogger(MyClass.class);"));
+96      // Logger declaration and instanciation with modifiers
+97      assertEquals(
+98          "public static Logger mylog1 = LoggerFactory.getLogger(MyClass.class);",
+99          log4jConverter
+100             .getOneLineReplacement("public static Logger mylog1 = Logger.getLogger(MyClass.class);"));
+101     // Logger declaration and instanciation with two modifier and comment at the
+102     // end of line
+103     assertEquals(
+104         "public static Logger mylog1 = LoggerFactory.getLogger(MyClass.class); // logger instanciation and declaration",
+105         log4jConverter
+106             .getOneLineReplacement("public static Logger mylog1 = Logger.getLogger(MyClass.class); // logger instanciation and declaration"));
+107     // Logger instanciation without declaration and comment at the end of line
+108     assertEquals(
+109         " myLog = LoggerFactory.getLogger(MyClass.class);//logger instanciation",
+110         log4jConverter
+111             .getOneLineReplacement(" myLog = Logger.getLogger(MyClass.class);//logger instanciation"));
+112     // commented Logger declaration and instanciation with two modifier
+113     assertEquals(
+114         "//public static Logger mylog1 = LoggerFactory.getLogger(MyClass.class);",
+115         log4jConverter
+116             .getOneLineReplacement("//public static Logger mylog1 = Logger.getLogger(MyClass.class);"));
+117     // commented Logger instanciation without declaration
+118     assertEquals(
+119         "// myLog = LoggerFactory.getLogger(MyClass.class);//logger instanciation",
+120         log4jConverter
+121             .getOneLineReplacement("// myLog = Logger.getLogger(MyClass.class);//logger instanciation"));
+122   }
+123 
+124   public void testLogDeclarationReplacement() {
+125     // simple Logger declaration
+126     assertEquals("Logger mylog;", log4jConverter.getOneLineReplacement("Logger mylog;"));
+127     // Logger declaration with a modifier
+128     assertEquals("private Logger mylog;", log4jConverter
+129         .getOneLineReplacement("private Logger mylog;"));
+130 
+131     // Logger declaration with modifiers
+132     assertEquals("public static final Logger myLog;", log4jConverter
+133         .getOneLineReplacement("public static final Logger myLog;"));
+134     // Logger declaration with modifiers and comment at the end of line
+135     assertEquals("public Logger myLog;//logger declaration", log4jConverter
+136         .getOneLineReplacement("public Logger myLog;//logger declaration"));
+137     // commented Logger declaration
+138     assertEquals("//private Logger myLog;", log4jConverter
+139         .getOneLineReplacement("//private Logger myLog;"));
+140   }
+141 
+142   public void testMultiLineReplacement()  {
+143    // Logger declaration on a line
+144    assertEquals("protected Logger log =", log4jConverter
+145    .getOneLineReplacement("protected Logger log ="));
+146     
+147    // Logger instanciation on the next line
+148    assertEquals(" LoggerFactory.getLogger(MyComponent.class);", log4jConverter
+149    .getOneLineReplacement(" LogManager.getLogger(MyComponent.class);"));
+150    // Logger declaration on a line
+151    assertEquals("protected Logger log ", log4jConverter
+152    .getOneLineReplacement("protected Logger log "));
+153    // Logger instanciation on the next line
+154    assertEquals(
+155    " = LoggerFactory.getLogger(MyComponent.class);",
+156    log4jConverter
+157    .getOneLineReplacement(" = LogManager.getLogger(MyComponent.class);"));
+158    }
+159 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/line/NoConversionTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/line/NoConversionTest.html new file mode 100644 index 0000000..4927ec1 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/line/NoConversionTest.html @@ -0,0 +1,101 @@ + + + + +NoConversionTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.migrator.line;
+26  
+27  import org.slf4j.migrator.line.JCLRuleSet;
+28  import org.slf4j.migrator.line.LineConverter;
+29  import org.slf4j.migrator.line.Log4jRuleSet;
+30  
+31  import junit.framework.TestCase;
+32  
+33  public class NoConversionTest extends TestCase {
+34  
+35    /**
+36     * This test shows that performing JCL to SLF4J conversion has no impact on
+37     * Log4j implementation
+38     */
+39    public void testJclOverLog4jConversion() {
+40      // running jcl to slf4j conversion
+41      //JCLMatcher jclMatcher = 
+42      LineConverter jclLineConverter = new LineConverter(new JCLRuleSet());
+43      // no changes on log4j.LogManager import
+44      assertEquals("import org.apache.log4j.LogManager;", jclLineConverter
+45          .getOneLineReplacement("import org.apache.log4j.LogManager;"));
+46      // no changes on log4j.Logger import
+47      assertEquals("import org.apache.log4j.Logger;", jclLineConverter
+48          .getOneLineReplacement("import org.apache.log4j.Logger;"));
+49      // no changes on Logger instanciation using LogManager
+50      assertEquals(
+51          "Logger log = LogManager.getLogger(MyClass.class);",
+52          jclLineConverter
+53              .getOneLineReplacement("Logger log = LogManager.getLogger(MyClass.class);"));
+54      // no changes on Logger instanciation using Logger.getLogger
+55      assertEquals(
+56          "public static Logger mylog1 = Logger.getLogger(MyClass.class);",
+57          jclLineConverter
+58              .getOneLineReplacement("public static Logger mylog1 = Logger.getLogger(MyClass.class);"));
+59    }
+60  
+61    /**
+62     * This test shows that performing Log4j to SLF4J conversion has no impact on
+63     * JCL implementation
+64     */
+65    public void testLog4jOverJclConversion() {
+66      // running log4j to slf4j conversion
+67      LineConverter log4jConverter = new LineConverter(new Log4jRuleSet());
+68      
+69      // no changes on LogFactory import
+70      assertEquals("import org.apache.commons.logging.LogFactory;", log4jConverter
+71          .getOneLineReplacement("import org.apache.commons.logging.LogFactory;"));
+72      // no changes on Log import
+73      assertEquals("import org.apache.commons.logging.Log;", log4jConverter
+74          .getOneLineReplacement("import org.apache.commons.logging.Log;"));
+75      // no changes on Log instanciation using Logfactory.getLog
+76      assertEquals(
+77          "public static Log mylog1 = LogFactory.getLog(MyClass.class);",
+78          log4jConverter
+79              .getOneLineReplacement("public static Log mylog1 = LogFactory.getLog(MyClass.class);"));
+80      // no changes on log instanciation using LogFactory.getFactory().getInstance
+81      assertEquals(
+82          "public Log mylog=LogFactory.getFactory().getInstance(MyClass.class);",
+83          log4jConverter
+84              .getOneLineReplacement("public Log mylog=LogFactory.getFactory().getInstance(MyClass.class);"));
+85  
+86    }
+87  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/line/PackageTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/line/PackageTest.html new file mode 100644 index 0000000..c347c0f --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/line/PackageTest.html @@ -0,0 +1,58 @@ + + + + +PackageTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.migrator.line;
+26  
+27  import org.slf4j.migrator.line.JCLRuleSetTest;
+28  import org.slf4j.migrator.line.Log4jRuleSetTest;
+29  
+30  import junit.framework.Test;
+31  import junit.framework.TestCase;
+32  import junit.framework.TestSuite;
+33  
+34  public class PackageTest extends TestCase {
+35  
+36    public static Test suite() {
+37      TestSuite suite = new TestSuite();
+38      suite.addTestSuite(TrivialMatcherTest.class);
+39      suite.addTestSuite(JCLRuleSetTest.class);
+40      suite.addTestSuite(Log4jRuleSetTest.class);
+41      suite.addTestSuite(NoConversionTest.class);
+42      return suite;
+43    }
+44  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/line/TrivialMatcherTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/line/TrivialMatcherTest.html new file mode 100644 index 0000000..1a54165 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/line/TrivialMatcherTest.html @@ -0,0 +1,61 @@ + + + + +TrivialMatcherTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.migrator.line;
+26  
+27  import org.slf4j.migrator.line.LineConverter;
+28  
+29  import junit.framework.TestCase;
+30  
+31  public class TrivialMatcherTest extends TestCase {
+32  
+33    public void testSimpleReplacement() {
+34      LineConverter trivialLC = new LineConverter(new TrivialMatcher());
+35  
+36  
+37      // "import org.slf4j.converter" -- > simple replacement with an unique
+38      // capturing group
+39      assertEquals("simple replacement with an unique capturing group",
+40          trivialLC.getOneLineReplacement("import org.slf4j.converter"));
+41  
+42      assertEquals("1st group second group 4th group", trivialLC
+43          .getOneLineReplacement("first group second group third group 4th group"));
+44  
+45    }
+46  
+47  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/line/TriviialMatcher.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/line/TriviialMatcher.html new file mode 100644 index 0000000..390ccde --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/line/TriviialMatcher.html @@ -0,0 +1,79 @@ + + + + +TriviialMatcher xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.migrator.line;
+26  
+27  import java.util.ArrayList;
+28  import java.util.Iterator;
+29  import java.util.regex.Pattern;
+30  
+31  import org.slf4j.migrator.line.ConversionRule;
+32  import org.slf4j.migrator.line.MultiGroupConversionRule;
+33  import org.slf4j.migrator.line.RuleSet;
+34  import org.slf4j.migrator.line.SingleConversionRule;
+35  
+36  class TrivialMatcher implements RuleSet {
+37   
+38    private ArrayList<ConversionRule> conversionRuleList;
+39    
+40    public TrivialMatcher() {
+41      //simple rule no capturing group is defined, we use default capturing group which is group zero
+42      SingleConversionRule cr = new SingleConversionRule(Pattern.compile("import org.slf4j.converter"), 
+43          "simple replacement with an unique capturing group");
+44      
+45      //we define 4 differents capturing groups
+46      MultiGroupConversionRule cr1 = new MultiGroupConversionRule(Pattern.compile("(first group)( second group)( third group)( 4th group)"));
+47      //group zero is ignored during treatment
+48      //replacement for the first
+49      cr1.addReplacement(1, "1st group");
+50      //no replacement for the second group it will remains the same
+51      //empty string for the third group it will be deleted
+52      cr1.addReplacement(3, "");
+53      //no replacement for the third group it will remains the same
+54      
+55      conversionRuleList = new ArrayList<ConversionRule>();
+56      conversionRuleList.add(cr);
+57      conversionRuleList.add(cr1);
+58    }
+59  
+60    public Iterator<ConversionRule> iterator() {
+61      return conversionRuleList.iterator();
+62    }
+63    
+64    
+65  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/line/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/line/package-frame.html new file mode 100644 index 0000000..c0b44a6 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/line/package-frame.html @@ -0,0 +1,39 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.migrator.line + + + + +

+ org.slf4j.migrator.line +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/line/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/line/package-summary.html new file mode 100644 index 0000000..cd3fb23 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/line/package-summary.html @@ -0,0 +1,92 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.migrator.line + + + +
+ +
+
+ +
+ +

Package org.slf4j.migrator.line

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class Summary
+ JCLRuleSetTest +
+ Log4jRuleSetTest +
+ NoConversionTest +
+ PackageTest +
+ TrivialMatcher +
+ TrivialMatcherTest +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/package-frame.html new file mode 100644 index 0000000..0b3735b --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/package-frame.html @@ -0,0 +1,36 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.migrator + + + + +

+ org.slf4j.migrator +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/package-summary.html new file mode 100644 index 0000000..e059277 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/migrator/package-summary.html @@ -0,0 +1,87 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.migrator + + + +
+ +
+
+ +
+ +

Package org.slf4j.migrator

+ + + + + + + + + + + + + + + + + + + + + + + + +
Class Summary
+ AllTest +
+ AternativeApproach +
+ FileConverterTest +
+ PackageTest +
+ ProjectConverterTest +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/package-frame.html new file mode 100644 index 0000000..3977c95 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/package-frame.html @@ -0,0 +1,60 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j + + + + +

+ org.slf4j +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/package-summary.html new file mode 100644 index 0000000..12fe45a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/package-summary.html @@ -0,0 +1,127 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j + + + +
+ +
+
+ +
+ +

Package org.slf4j

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class Summary
+ BasicMarkerTest +
+ CompatibilityAssertionTest +
+ Differentiator +
+ IncompatibleMultiBindingAssertionTest +
+ InvocationTest +
+ ListAppender +
+ MissingSingletonMethodAssertionTest +
+ MultiBindingAssertionTest +
+ NDCTest +
+ NoBindingTest +
+ SilentPrintStream +
+ StringPrintStream +
+ VersionMismatchAssertionTest +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/profiler/BasicProfilerDemo.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/profiler/BasicProfilerDemo.html new file mode 100644 index 0000000..301354d --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/profiler/BasicProfilerDemo.html @@ -0,0 +1,101 @@ + + + + +BasicProfilerDemo xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.profiler;
+26  
+27  /**
+28   * 
+29   * This demo illustrates usage of SLF4J profilers.
+30   * 
+31   * <p>
+32   * We have been given the task of generating a large number, say N, of random
+33   * integers. We need to transform that array into a smaller array containing
+34   * only prime numbers. The new array has to be sorted.
+35   * 
+36   * <p>
+37   * While tackling this problem, we would like to measure the time spent in each
+38   * subtask.
+39   * 
+40   * <p>
+41   * A typical output for this demo would be:
+42   * 
+43   * <pre>
+44     + Profiler [BASIC]
+45     |-- elapsed time                      [A]   213.186 milliseconds.
+46     |-- elapsed time                      [B]  2499.107 milliseconds.
+47     |-- elapsed time                  [OTHER]  3300.752 milliseconds.
+48     |-- Total                         [BASIC]  6014.161 milliseconds.
+49    </pre>
+50   * 
+51   * @author Ceki Gulcu
+52   */
+53  public class BasicProfilerDemo {
+54  
+55    public static void main(String[] args) {
+56      // create a profiler called "BASIC"
+57      Profiler profiler = new Profiler("BASIC");
+58      profiler.start("A");
+59      doA();
+60  
+61      profiler.start("B");
+62      doB();
+63  
+64      profiler.start("OTHER");
+65      doOther();
+66      profiler.stop().print();
+67    }
+68  
+69    static private void doA() {
+70      delay(200);
+71    }
+72  
+73    static private void doB() {
+74      delay(2500);
+75    }
+76  
+77    static private void doOther() {
+78      delay(3300);
+79    }
+80  
+81    static private void delay(int millis) {
+82      try {
+83        Thread.sleep(millis);
+84      } catch (InterruptedException e) {
+85      }
+86    }
+87  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/profiler/NestedProfilerDemo.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/profiler/NestedProfilerDemo.html new file mode 100644 index 0000000..7eb9b3e --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/profiler/NestedProfilerDemo.html @@ -0,0 +1,100 @@ + + + + +NestedProfilerDemo xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.profiler;
+26  
+27  
+28  
+29  /**
+30   * 
+31   * This demo illustrates usage of SLF4J profilers.
+32   * 
+33   * <p>
+34   * We have been given the task of generating a large number, say N, 
+35   * of random integers. We need to transform that array into a smaller array
+36   * containing only prime numbers. The new array has to be sorted.
+37   * 
+38   * <p>
+39   * While tackling this problem, we would like to measure the
+40   * time spent in each subtask.
+41   * 
+42   * <p>
+43   * A typical output for this demo would be:
+44   <pre>
+45   + Profiler [DEMO]
+46  |-- elapsed time                       [RANDOM]     0.089  seconds.
+47  |---+ Profiler [SORT_AND_PRUNE]
+48  &nbsp;&nbsp;&nbsp;&nbsp;|-- elapsed time                         [SORT]     0.221  seconds.
+49  &nbsp;&nbsp;&nbsp;&nbsp;|-- elapsed time             [PRUNE_COMPOSITES]    11.567  seconds.
+50  &nbsp;&nbsp;&nbsp;&nbsp;|-- Subtotal                   [SORT_AND_PRUNE]    11.788  seconds.
+51  |-- elapsed time               [SORT_AND_PRUNE]    11.788  seconds.
+52  |-- Total                                [DEMO]    11.877  seconds.
+53  </pre>
+54   * 
+55   * @author Ceki Gulcu
+56   */
+57  public class NestedProfilerDemo {
+58    
+59    public static void main(String[] args) {
+60      // create a profiler called "DEMO"
+61      Profiler profiler = new Profiler("DEMO");
+62      
+63      // register this profiler in the thread context's profiler registry
+64      ProfilerRegistry profilerRegistry = ProfilerRegistry.getThreadContextInstance();
+65      profiler.registerWith(profilerRegistry);
+66      
+67      // start a stopwatch called "RANDOM"
+68      profiler.start("RANDOM");
+69      RandomIntegerArrayGenerator riaGenerator = new RandomIntegerArrayGenerator();
+70      int n = 10*1000;
+71      int[] randomArray = riaGenerator.generate(n);
+72      
+73      // create and start a nested profiler called "SORT_AND_PRUNE"
+74      // By virtue of its parent-child relationship with the "DEMO"
+75      // profiler, and the previous registration of the parent profiler, 
+76      // this nested profiler will be automatically registered
+77      // with the thread context's profiler registry
+78      profiler.startNested(SortAndPruneComposites.NESTED_PROFILER_NAME);
+79      
+80      SortAndPruneComposites pruner = new SortAndPruneComposites(randomArray);
+81      pruner.sortAndPruneComposites();
+82      
+83      // stop and print the "DEMO" printer
+84      profiler.stop().print();
+85    }
+86  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/profiler/NestedProfilerDemo2.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/profiler/NestedProfilerDemo2.html new file mode 100644 index 0000000..e42df75 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/profiler/NestedProfilerDemo2.html @@ -0,0 +1,80 @@ + + + + +NestedProfilerDemo2 xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.profiler;
+26  
+27  import org.slf4j.Logger;
+28  import org.slf4j.LoggerFactory;
+29  
+30  
+31  
+32  /**
+33   * 
+34   * This demo illustrates usage of SLF4J profilers. It is almost identical to
+35   * the first NestProfilerDemo, except that it uses a logger instead of
+36   * printing its output on the console.
+37   * 
+38  
+39   * @author Ceki Gulcu
+40   */
+41  public class NestedProfilerDemo2 {
+42  
+43    static Logger logger = LoggerFactory.getLogger(NestedProfilerDemo2.class);
+44    
+45    public static void main(String[] args) {
+46      Profiler profiler = new Profiler("DEMO");
+47      // associate a logger with the profiler
+48      profiler.setLogger(logger);
+49      
+50      ProfilerRegistry profilerRegistry = ProfilerRegistry.getThreadContextInstance();
+51      profiler.registerWith(profilerRegistry);
+52      
+53      profiler.start("RANDOM");
+54      RandomIntegerArrayGenerator riaGenerator = new RandomIntegerArrayGenerator();
+55      int n = 10*1000;
+56      int[] randomArray = riaGenerator.generate(n);
+57      
+58      profiler.startNested(SortAndPruneComposites.NESTED_PROFILER_NAME);
+59      
+60      SortAndPruneComposites pruner = new SortAndPruneComposites(randomArray);
+61      pruner.sortAndPruneComposites();
+62      
+63      // stop and log
+64      profiler.stop().log();
+65    }
+66  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/profiler/PackageTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/profiler/PackageTest.html new file mode 100644 index 0000000..be326f4 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/profiler/PackageTest.html @@ -0,0 +1,52 @@ + + + + +PackageTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.profiler;
+26  
+27  
+28  import junit.framework.*;
+29  
+30  public class PackageTest extends TestCase {
+31  
+32    public static Test suite() {
+33      TestSuite suite = new TestSuite();
+34      suite.addTestSuite(UtilTest.class);
+35      suite.addTestSuite(ProfilerTest.class);
+36      return suite;
+37    }
+38  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/profiler/ProfilerTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/profiler/ProfilerTest.html new file mode 100644 index 0000000..47817dc --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/profiler/ProfilerTest.html @@ -0,0 +1,150 @@ + + + + +ProfilerTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.profiler;
+26  
+27  import junit.framework.TestCase;
+28  
+29  import org.slf4j.Logger;
+30  import org.slf4j.LoggerFactory;
+31  
+32  public class ProfilerTest  extends TestCase {
+33  
+34    Logger logger = LoggerFactory.getLogger(ProfilerTest.class);
+35  
+36    public void setUp() throws Exception {
+37      super.setUp();
+38    }
+39    public void testSmoke() {
+40      Profiler profiler = new Profiler("SMOKE");
+41      profiler.stop();
+42      StopWatch gSW = profiler.globalStopWatch;
+43      
+44      // verify
+45      profiler.sanityCheck();
+46      assertEquals(TimeInstrumentStatus.STOPPED,  gSW.status);
+47      assertEquals(0, profiler.childTimeInstrumentList.size());
+48      assertNull(profiler.getLastTimeInstrument());
+49    }
+50  
+51    public void testBasicProfiling() {
+52      Profiler profiler = new Profiler("BAS");
+53  
+54      profiler.start("doX");
+55      doX(1);
+56  
+57      profiler.start("doY");
+58      doY(10);
+59  
+60      profiler.start("doZ");
+61      doZ(2);
+62      profiler.stop();
+63      
+64      // verify
+65      profiler.sanityCheck();
+66      StopWatch gSW = profiler.globalStopWatch;
+67      assertEquals(TimeInstrumentStatus.STOPPED,  gSW.status);
+68      assertEquals(3, profiler.childTimeInstrumentList.size());
+69      assertNotNull(profiler.getLastTimeInstrument());
+70      assertEquals("doZ", profiler.getLastTimeInstrument().getName());
+71    }
+72  
+73    // + Profiler [BAS]
+74    // |-- elapsed time                          [doX]     1.272 milliseconds.
+75    // |-- elapsed time                      [doYYYYY]    25.398 milliseconds.
+76    // |--+ Profiler [subtask]
+77    //    |-- elapsed time                           [n1]     1.434 milliseconds.
+78    //    |-- elapsed time                           [n2]     5.855 milliseconds.
+79    //    |-- Total elapsed time                [subtask]     7.321 milliseconds.
+80    // |-- elapsed time                          [doZ]     3.211 milliseconds.
+81    // |-- Total elapsed time                    [BAS]    30.317 milliseconds.
+82    public void testNestedProfiling() {
+83      
+84      Profiler profiler = new Profiler("BAS");
+85      profiler.setLogger(logger);
+86      profiler.start("doX");
+87      doX(1);
+88  
+89      profiler.start("doYYYYY");
+90      for (int i = 0; i < 5; i++) {
+91        doY(i);
+92      }
+93      Profiler nested = profiler.startNested("subtask");
+94      doSubtask(nested);
+95      profiler.start("doZ");
+96      doZ(2);
+97      profiler.stop();
+98      
+99      // verify
+100     profiler.sanityCheck();
+101     StopWatch gSW = profiler.globalStopWatch;
+102     assertEquals(TimeInstrumentStatus.STOPPED,  gSW.status);
+103     //assertEquals(3, profiler.stopwatchList.size());
+104     assertEquals(4, profiler.childTimeInstrumentList.size());
+105     assertNotNull(profiler.getLastTimeInstrument());
+106     assertEquals("doZ", profiler.getLastTimeInstrument().getName());
+107     
+108   }
+109 
+110   private void doX(int millis) {
+111     delay(millis);
+112   }
+113   private void doY(int millis) {
+114     delay(millis);
+115   }
+116   private void doZ(int millis) {
+117     delay(millis);
+118   }
+119 
+120   public void doSubtask(Profiler nested) {
+121     nested.start("n1");
+122     doX(1);
+123 
+124     nested.start("n2");
+125     doX(5);
+126     nested.stop();
+127   }
+128 
+129 
+130   void delay(int millis) {
+131     try {
+132       Thread.sleep(millis);
+133     } catch (InterruptedException e) {
+134     }
+135   }
+136 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/profiler/RandomIntegerArrayGenerator.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/profiler/RandomIntegerArrayGenerator.html new file mode 100644 index 0000000..65f9ce0 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/profiler/RandomIntegerArrayGenerator.html @@ -0,0 +1,54 @@ + + + + +RandomIntegerArrayGenerator xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.profiler;
+26  
+27  import java.util.Random;
+28  
+29  public class RandomIntegerArrayGenerator {
+30    Random rand = new Random(11);
+31    
+32    int[] generate(int size) {
+33      int[] result = new int[size];
+34      for(int i = 0; i < size; i++) {
+35        int r = rand.nextInt();
+36        result[i] = r;
+37      }
+38      return result;
+39    }
+40  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/profiler/SortAndPruneComposites.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/profiler/SortAndPruneComposites.html new file mode 100644 index 0000000..c6bf73d --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/profiler/SortAndPruneComposites.html @@ -0,0 +1,110 @@ + + + + +SortAndPruneComposites xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.profiler;
+26  
+27  import java.util.ArrayList;
+28  import java.util.Arrays;
+29  
+30  public class SortAndPruneComposites {
+31  
+32    static String NESTED_PROFILER_NAME = "SORT_AND_PRUNE";
+33    
+34    final int[] originalArray;
+35    final int originalArrrayLength;
+36    
+37    public SortAndPruneComposites(int[] randomArray) {
+38      this.originalArray = randomArray;
+39      this.originalArrrayLength = randomArray.length;
+40     
+41    }
+42    
+43    public int[] sortAndPruneComposites() {
+44      // retrieve previously registered profiler named "SORT_AND_PRUNE"
+45      ProfilerRegistry profilerRegistry = ProfilerRegistry.getThreadContextInstance();
+46      Profiler sortProfiler = profilerRegistry.get(NESTED_PROFILER_NAME);
+47  
+48      // start a new stopwatch called SORT
+49      sortProfiler.start("SORT");
+50      int[] sortedArray = sort();
+51      // start a new stopwatch called PRUNE_COMPOSITES
+52      sortProfiler.start("PRUNE_COMPOSITES");
+53      int result[] = pruneComposites(sortedArray);
+54      
+55      return result;
+56    }
+57  
+58    private int[] sort() {
+59      int[] sortedArray = new int[originalArrrayLength];
+60      System.arraycopy(originalArray, 0, sortedArray, 0, originalArrrayLength);
+61      Arrays.sort(sortedArray);
+62      return sortedArray;
+63    }
+64    
+65    int[] pruneComposites(int[] sortedArray) {
+66      ArrayList<Integer> primesArray = new ArrayList<Integer>();
+67      for(int i = 0; i < originalArrrayLength; i++) {
+68        int n = sortedArray[i];
+69        if(isPrime(n)) {
+70          primesArray.add(n);
+71        }
+72      }
+73      int resultSize = primesArray.size();
+74      int[] result = new int[resultSize];
+75      
+76      for(int i = 0; i < resultSize; i++) {
+77        result[i] = primesArray.get(i);
+78      }
+79      return result;
+80    }
+81  
+82    public boolean isPrime(int n) {
+83      if(n < 2) {
+84        return false;
+85      }
+86      if(n%2 == 0) {
+87        return false;
+88      }
+89      for(int i = 3; i*i <=n; i += 2) {
+90        if(n%i ==0) {
+91          return false;
+92        }
+93      }
+94      return true;
+95    }
+96  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/profiler/UtilTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/profiler/UtilTest.html new file mode 100644 index 0000000..22910a0 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/profiler/UtilTest.html @@ -0,0 +1,66 @@ + + + + +UtilTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.profiler;
+26  
+27  import junit.framework.TestCase;
+28  
+29  public class UtilTest extends TestCase {
+30  
+31    public UtilTest(String name) {
+32      super(name);
+33    }
+34  
+35    protected void setUp() throws Exception {
+36      super.setUp();
+37    }
+38  
+39    protected void tearDown() throws Exception {
+40      super.tearDown();
+41    }
+42    
+43    public void testSelectDurationUnitForDisplay() throws InterruptedException {
+44      assertEquals(DurationUnit.NANOSECOND, Util.selectDurationUnitForDisplay(10));
+45      assertEquals(DurationUnit.NANOSECOND, Util.selectDurationUnitForDisplay(9*Util.NANOS_IN_ONE_MICROSECOND));
+46      assertEquals(DurationUnit.MICROSECOND, Util.selectDurationUnitForDisplay(11*Util.NANOS_IN_ONE_MICROSECOND));
+47      assertEquals(DurationUnit.MICROSECOND, Util.selectDurationUnitForDisplay(9*Util.NANOS_IN_ONE_MILLISECOND));
+48      assertEquals(DurationUnit.MILLISSECOND, Util.selectDurationUnitForDisplay(11*Util.NANOS_IN_ONE_MILLISECOND));
+49      assertEquals(DurationUnit.SECOND, Util.selectDurationUnitForDisplay(11*Util.NANOS_IN_ONE_SECOND));
+50    }
+51    
+52  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/profiler/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/profiler/package-frame.html new file mode 100644 index 0000000..7ae8f40 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/profiler/package-frame.html @@ -0,0 +1,45 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.profiler + + + + +

+ org.slf4j.profiler +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/profiler/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/profiler/package-summary.html new file mode 100644 index 0000000..9508a84 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/profiler/package-summary.html @@ -0,0 +1,102 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.profiler + + + +
+ +
+
+ +
+ +

Package org.slf4j.profiler

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class Summary
+ BasicProfilerDemo +
+ NestedProfilerDemo +
+ NestedProfilerDemo2 +
+ PackageTest +
+ ProfilerTest +
+ RandomIntegerArrayGenerator +
+ SortAndPruneComposites +
+ UtilTest +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/test_osgi/BundleTest.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/test_osgi/BundleTest.html new file mode 100644 index 0000000..836aab0 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/test_osgi/BundleTest.html @@ -0,0 +1,73 @@ + + + + +BundleTest xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.test_osgi;
+26  
+27  import java.io.File;
+28  
+29  import junit.framework.TestCase;
+30  
+31  public class BundleTest extends TestCase {
+32  
+33    FrameworkErrorListener fel = new FrameworkErrorListener();
+34    CheckingBundleListener mbl = new CheckingBundleListener();
+35    
+36    FelixHost felixHost = new FelixHost(fel, mbl);
+37    
+38    protected void setUp() throws Exception {
+39      super.setUp();
+40      felixHost.doLaunch();
+41    }
+42  
+43    protected void tearDown() throws Exception {
+44      super.tearDown();
+45      felixHost.stop();
+46    }
+47  
+48    public void testSmoke() {
+49      System.out.println("==========="+new File(".").getAbsolutePath());
+50      mbl.dumpAll();
+51      // check that the bundle was installed
+52      assertTrue(mbl.exists("iBundle"));
+53      if(fel.errorList.size() != 0) {
+54        fel.dumpAll(); 
+55      }
+56      // check that no errors occured
+57      assertEquals(0, fel.errorList.size());
+58    }
+59  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/test_osgi/CheckingBundleListener.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/test_osgi/CheckingBundleListener.html new file mode 100644 index 0000000..966b824 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/test_osgi/CheckingBundleListener.html @@ -0,0 +1,81 @@ + + + + +CheckingBundleListener xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.test_osgi;
+26  
+27  import java.util.ArrayList;
+28  import java.util.List;
+29  
+30  import org.osgi.framework.Bundle;
+31  import org.osgi.framework.BundleEvent;
+32  import org.osgi.framework.BundleListener;
+33  
+34  public class CheckingBundleListener implements BundleListener {
+35  
+36    List eventList = new ArrayList();
+37  
+38    public void bundleChanged(BundleEvent be) {
+39      eventList.add(be);
+40    }
+41  
+42    private void dump(BundleEvent be) {
+43      System.out.println("BE:" + ", source " + be.getSource() + ", bundle="
+44          + be.getBundle() + ", type=" + be.getType());
+45  
+46    }
+47  
+48    public void dumpAll() {
+49      for (int i = 0; i < eventList.size(); i++) {
+50        BundleEvent fe = (BundleEvent) eventList.get(i);
+51        dump(fe);
+52      }
+53    }
+54  
+55    boolean exists(String bundleName) {
+56      for (int i = 0; i < eventList.size(); i++) {
+57        BundleEvent fe = (BundleEvent) eventList.get(i);
+58        Bundle b = fe.getBundle();
+59        System.out.println("===["+b+"]");
+60        if (bundleName.equals(b.getSymbolicName())) {
+61          return true;
+62        }
+63      }
+64      return false;
+65    }
+66  
+67  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/test_osgi/FelixHost.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/test_osgi/FelixHost.html new file mode 100644 index 0000000..79a7f2a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/test_osgi/FelixHost.html @@ -0,0 +1,143 @@ + + + + +FelixHost xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.test_osgi;
+26  
+27  import java.util.ArrayList;
+28  import java.util.List;
+29  import java.util.Map;
+30  import java.util.Properties;
+31  
+32  import org.apache.felix.framework.Felix;
+33  import org.apache.felix.framework.util.FelixConstants;
+34  import org.apache.felix.framework.util.StringMap;
+35  import org.apache.felix.main.AutoProcessor;
+36  import org.osgi.framework.Bundle;
+37  import org.osgi.framework.BundleContext;
+38  import org.osgi.framework.BundleException;
+39  import org.osgi.framework.Constants;
+40  
+41  /**
+42   * Runs a hosted version of Felix for testing purposes. Any bundle errors are
+43   * reported via the FrameworkListener passed to the constructor.
+44   * 
+45   * @author Ceki G&uuml;c&uuml;
+46   */
+47  public class FelixHost {
+48  
+49    private Felix felix = null;
+50  
+51    Properties otherProps = new Properties();
+52  
+53    final FrameworkErrorListener frameworkErrorListener;
+54    final CheckingBundleListener myBundleListener;
+55  
+56    public FelixHost(FrameworkErrorListener frameworkErrorListener,
+57        CheckingBundleListener myBundleListener) {
+58      this.frameworkErrorListener = frameworkErrorListener;
+59      this.myBundleListener = myBundleListener;
+60    }
+61  
+62    public void doLaunch() {
+63      // Create a case-insensitive configuration property map.
+64      Map configMap = new StringMap(false);
+65      // Configure the Felix instance to be embedded.
+66      // configMap.put(FelixConstants.EMBEDDED_EXECUTION_PROP, "true");
+67      // Add core OSGi packages to be exported from the class path
+68      // via the system bundle.
+69      configMap.put(Constants.FRAMEWORK_SYSTEMPACKAGES,
+70          "org.osgi.framework; version=1.3.0,"
+71              + "org.osgi.service.packageadmin; version=1.2.0,"
+72              + "org.osgi.service.startlevel; version=1.0.0,"
+73              + "org.osgi.service.url; version=1.0.0");
+74  
+75      configMap.put(Constants.FRAMEWORK_STORAGE_CLEAN,
+76          Constants.FRAMEWORK_STORAGE_CLEAN_ONFIRSTINIT);
+77  
+78      // Explicitly specify the directory to use for caching bundles.
+79      // configMap.put(BundleCache.CACHE_PROFILE_DIR_PROP, "cache");
+80  
+81      try {
+82        // Create host activator;
+83  
+84        List list = new ArrayList();
+85  
+86        // list.add(new HostActivator());
+87        configMap.put(Constants.FRAMEWORK_SYSTEMPACKAGES_EXTRA,
+88            "org.xml.sax, org.xml.sax.helpers, javax.xml.parsers, javax.naming");
+89        configMap.put(FelixConstants.SYSTEMBUNDLE_ACTIVATORS_PROP, list);
+90        configMap.put("felix.log.level", "4");
+91  
+92        // Now create an instance of the framework with
+93        // our configuration properties and activator.
+94        felix = new Felix(configMap);
+95        felix.init();
+96  
+97        // otherProps.put(Constants.FRAMEWORK_STORAGE, "bundles");
+98  
+99         otherProps.put(AutoProcessor.AUTO_DEPLOY_DIR_PROPERY,
+100        AutoProcessor.AUTO_DEPLOY_DIR_VALUE);
+101       otherProps.put(AutoProcessor.AUTO_DEPLOY_ACTION_PROPERY,
+102           AutoProcessor.AUTO_DEPLOY_START_VALUE + ","
+103               + AutoProcessor.AUTO_DEPLOY_INSTALL_VALUE);
+104 
+105       BundleContext felixBudleContext = felix.getBundleContext();
+106 
+107       AutoProcessor.process(otherProps, felixBudleContext);
+108       // listen to errors
+109       felixBudleContext.addFrameworkListener(frameworkErrorListener);
+110       felixBudleContext.addBundleListener(myBundleListener);
+111       // Now start Felix instance.
+112       felix.start();
+113       System.out.println("felix started");
+114 
+115     } catch (Exception ex) {
+116       ex.printStackTrace();
+117     }
+118   }
+119 
+120   public void stop() throws BundleException {
+121     felix.stop();
+122   }
+123 
+124   public Bundle[] getInstalledBundles() {
+125     // Use the system bundle activator to gain external
+126     // access to the set of installed bundles.
+127     return null;// m_activator.getBundles();
+128   }
+129 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/test_osgi/FrameworkErrorListener.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/test_osgi/FrameworkErrorListener.html new file mode 100644 index 0000000..62fd466 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/test_osgi/FrameworkErrorListener.html @@ -0,0 +1,77 @@ + + + + +FrameworkErrorListener xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.test_osgi;
+26  
+27  import java.util.ArrayList;
+28  import java.util.List;
+29  
+30  import org.osgi.framework.FrameworkEvent;
+31  import org.osgi.framework.FrameworkListener;
+32  
+33  public class FrameworkErrorListener implements FrameworkListener {
+34  
+35    public List errorList = new ArrayList();
+36    
+37    public void frameworkEvent(FrameworkEvent fe) {
+38      if (fe.getType() == FrameworkEvent.ERROR) {
+39        errorList.add(fe);
+40      
+41      }
+42    }
+43    
+44    private void dump(FrameworkEvent fe) {
+45      Throwable t = fe.getThrowable();
+46      String tString = null;
+47      if (t != null) {
+48        tString = t.toString();
+49      }
+50      System.out.println("Framework ERROR:" + ", source " + fe.getSource()
+51          + ", bundle=" + fe.getBundle() + ", ex=" + tString);
+52      if(t != null) {
+53        t.printStackTrace();
+54      }
+55    }
+56  
+57    public void dumpAll() {
+58      for(int i = 0; i < errorList.size(); i++) {
+59        FrameworkEvent fe = (FrameworkEvent) errorList.get(i);
+60        dump(fe);
+61      }
+62    }
+63  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/test_osgi/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/test_osgi/package-frame.html new file mode 100644 index 0000000..43904aa --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/test_osgi/package-frame.html @@ -0,0 +1,33 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.test_osgi + + + + +

+ org.slf4j.test_osgi +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/test_osgi/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/test_osgi/package-summary.html new file mode 100644 index 0000000..ba0cc5f --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/org/slf4j/test_osgi/package-summary.html @@ -0,0 +1,82 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.test_osgi + + + +
+ +
+
+ +
+ +

Package org.slf4j.test_osgi

+ + + + + + + + + + + + + + + + + + + + + +
Class Summary
+ BundleTest +
+ CheckingBundleListener +
+ FelixHost +
+ FrameworkErrorListener +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/overview-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/overview-frame.html new file mode 100644 index 0000000..9b3857c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/overview-frame.html @@ -0,0 +1,79 @@ + + + + + + SLF4J 1.7.5 Reference + + + + +

+ All Classes +

+ +

Packages

+ + + + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/overview-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/overview-summary.html new file mode 100644 index 0000000..94e9e8f --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/overview-summary.html @@ -0,0 +1,154 @@ + + + + + + SLF4J 1.7.5 Reference + + + +
+
    +
  • Overview
  • +
  • Package
  • +
+
+
+ +
+ +

SLF4J 1.7.5 Reference

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Packages
+ integrator +
+ org.apache.commons.logging +
+ org.apache.commons.logging.impl +
+ org.apache.log4j +
+ org.dummy +
+ org.slf4j +
+ org.slf4j.bridge +
+ org.slf4j.cal10n_dummy +
+ org.slf4j.dummyExt +
+ org.slf4j.helpers +
+ org.slf4j.impl +
+ org.slf4j.instrumentation +
+ org.slf4j.issue +
+ org.slf4j.migrator +
+ org.slf4j.migrator.helper +
+ org.slf4j.migrator.internal +
+ org.slf4j.migrator.line +
+ org.slf4j.profiler +
+ org.slf4j.test_osgi +
+ +
+
    +
  • Overview
  • +
  • Package
  • +
+
+
+ +
+ +
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/stylesheet.css b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/stylesheet.css new file mode 100644 index 0000000..00e6114 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref-test/stylesheet.css @@ -0,0 +1,116 @@ +/* Javadoc style sheet */ +/* Define colors, fonts and other style attributes here to override the defaults */ +body { + background-color: #fff; + font-family: Arial, Helvetica, sans-serif; +} + +a:link { + color: #00f; +} +a:visited { + color: #00a; +} + +a:active, a:hover { + color: #f30 !important; +} + +ul, li { + list-style-type:none; + margin:0; + padding:0; +} + +table td { + padding: 3px; + border: 1px solid #000; +} +table { + width:100%; + border: 1px solid #000; + border-collapse: collapse; +} + +div.overview { + background-color:#ddd; + padding: 4px 4px 4px 0; +} +div.overview li, div.framenoframe li { + display: inline; +} +div.framenoframe { + text-align: center; + font-size: x-small; +} +div.framenoframe li { + margin: 0 3px 0 3px; +} +div.overview li { + margin:3px 3px 0 3px; + padding: 4px; +} +li.selected { + background-color:#888; + color: #fff; + font-weight: bold; +} + +table.summary { + margin-bottom: 20px; +} +table.summary td, table.summary th { + font-weight: bold; + text-align: left; + padding: 3px; +} +table.summary th { + background-color:#036; + color: #fff; +} +table.summary td { + background-color:#eee; + border: 1px solid black; +} + +em { + color: #A00; +} +em.comment { + color: #390; +} +.string { + color: #009; +} +div#footer { + text-align:center; +} +#overview { + padding:2px; +} + +hr { + height: 1px; + color: #000; +} + +/* JXR style sheet */ +.jxr_comment +{ + color: #390; +} + +.jxr_javadoccomment +{ + color: #A00; +} + +.jxr_string +{ + color: #009; +} + +.jxr_keyword +{ + color: #000; +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/allclasses-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/allclasses-frame.html new file mode 100644 index 0000000..53b1a6d --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/allclasses-frame.html @@ -0,0 +1,350 @@ + + + + + + All Classes + + + + +

All Classes

+ + + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/index.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/index.html new file mode 100644 index 0000000..8574a0a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/index.html @@ -0,0 +1,24 @@ + + + + + + SLF4J 1.7.5 Reference + + + + + + + + + <body> + <h1>Frame Alert</h1> + <p> + You don't have frames. Go <a href="overview-summary.html">here</a> + </p> + </body> + + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/commons/logging/Log.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/commons/logging/Log.html new file mode 100644 index 0000000..46e3892 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/commons/logging/Log.html @@ -0,0 +1,252 @@ + + + + +Log xref + + + +
+
+1   /*
+2    * Copyright 2001-2004 The Apache Software Foundation.
+3    *
+4    * Licensed under the Apache License, Version 2.0 (the "License");
+5    * you may not use this file except in compliance with the License.
+6    * You may obtain a copy of the License at
+7    *
+8    *      http://www.apache.org/licenses/LICENSE-2.0
+9    *
+10   * Unless required by applicable law or agreed to in writing, software
+11   * distributed under the License is distributed on an "AS IS" BASIS,
+12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+13   * See the License for the specific language governing permissions and
+14   * limitations under the License.
+15   */
+16  
+17  package org.apache.commons.logging;
+18  
+19  /**
+20   * <p>A simple logging interface abstracting logging APIs.  In order to be
+21   * instantiated successfully by {@link LogFactory}, classes that implement
+22   * this interface must have a constructor that takes a single String
+23   * parameter representing the "name" of this Log.</p>
+24   *
+25   * <p> The six logging levels used by <code>Log</code> are (in order):
+26   * <ol>
+27   * <li>trace (the least serious)</li>
+28   * <li>debug</li>
+29   * <li>info</li>
+30   * <li>warn</li>
+31   * <li>error</li>
+32   * <li>fatal (the most serious)</li>
+33   * </ol>
+34   * The mapping of these log levels to the concepts used by the underlying
+35   * logging system is implementation dependent.
+36   * The implementation should ensure, though, that this ordering behaves
+37   * as expected.</p>
+38   *
+39   * <p>Performance is often a logging concern.
+40   * By examining the appropriate property,
+41   * a component can avoid expensive operations (producing information
+42   * to be logged).</p>
+43   *
+44   * <p> For example,
+45   * <code><pre>
+46   *    if (log.isDebugEnabled()) {
+47   *        ... do something expensive ...
+48   *        log.debug(theResult);
+49   *    }
+50   * </pre></code>
+51   * </p>
+52   *
+53   * <p>Configuration of the underlying logging system will generally be done
+54   * external to the Logging APIs, through whatever mechanism is supported by
+55   * that system.</p>
+56   *
+57   * <p style="color: #E40; font-weight: bold;">Please note that this interface is identical to that found in JCL 1.1.1.</p>
+58   * 
+59   * @author <a href="mailto:sanders@apache.org">Scott Sanders</a>
+60   * @author Rod Waldhoff
+61   * @version $Id: Log.java,v 1.19 2004/06/06 21:16:04 rdonkin Exp $
+62   */
+63  public interface Log {
+64  
+65  
+66      // ----------------------------------------------------- Logging Properties
+67  
+68  
+69      /**
+70       * <p> Is debug logging currently enabled? </p>
+71       *
+72       * <p> Call this method to prevent having to perform expensive operations
+73       * (for example, <code>String</code> concatenation)
+74       * when the log level is more than debug. </p>
+75       */
+76      public boolean isDebugEnabled();
+77  
+78  
+79      /**
+80       * <p> Is error logging currently enabled? </p>
+81       *
+82       * <p> Call this method to prevent having to perform expensive operations
+83       * (for example, <code>String</code> concatenation)
+84       * when the log level is more than error. </p>
+85       */
+86      public boolean isErrorEnabled();
+87  
+88  
+89      /**
+90       * <p> Is fatal logging currently enabled? </p>
+91       *
+92       * <p> Call this method to prevent having to perform expensive operations
+93       * (for example, <code>String</code> concatenation)
+94       * when the log level is more than fatal. </p>
+95       */
+96      public boolean isFatalEnabled();
+97  
+98  
+99      /**
+100      * <p> Is info logging currently enabled? </p>
+101      *
+102      * <p> Call this method to prevent having to perform expensive operations
+103      * (for example, <code>String</code> concatenation)
+104      * when the log level is more than info. </p>
+105      * 
+106      * @return true if info enabled, false otherwise
+107      */
+108     public boolean isInfoEnabled();
+109 
+110 
+111     /**
+112      * <p> Is trace logging currently enabled? </p>
+113      *
+114      * <p> Call this method to prevent having to perform expensive operations
+115      * (for example, <code>String</code> concatenation)
+116      * when the log level is more than trace. </p>
+117      * 
+118      * @return true if trace enabled, false otherwise
+119      */
+120     public boolean isTraceEnabled();
+121 
+122 
+123     /**
+124      * <p> Is warn logging currently enabled? </p>
+125      *
+126      * <p> Call this method to prevent having to perform expensive operations
+127      * (for example, <code>String</code> concatenation)
+128      * when the log level is more than warn. </p>
+129      */
+130     public boolean isWarnEnabled();
+131 
+132 
+133     // -------------------------------------------------------- Logging Methods
+134 
+135 
+136     /**
+137      * <p> Log a message with trace log level. </p>
+138      *
+139      * @param message log this message
+140      */
+141     public void trace(Object message);
+142 
+143 
+144     /**
+145      * <p> Log an error with trace log level. </p>
+146      *
+147      * @param message log this message
+148      * @param t log this cause
+149      */
+150     public void trace(Object message, Throwable t);
+151 
+152 
+153     /**
+154      * <p> Log a message with debug log level. </p>
+155      *
+156      * @param message log this message
+157      */
+158     public void debug(Object message);
+159 
+160 
+161     /**
+162      * <p> Log an error with debug log level. </p>
+163      *
+164      * @param message log this message
+165      * @param t log this cause
+166      */
+167     public void debug(Object message, Throwable t);
+168 
+169 
+170     /**
+171      * <p> Log a message with info log level. </p>
+172      *
+173      * @param message log this message
+174      */
+175     public void info(Object message);
+176 
+177 
+178     /**
+179      * <p> Log an error with info log level. </p>
+180      *
+181      * @param message log this message
+182      * @param t log this cause
+183      */
+184     public void info(Object message, Throwable t);
+185 
+186 
+187     /**
+188      * <p> Log a message with warn log level. </p>
+189      *
+190      * @param message log this message
+191      */
+192     public void warn(Object message);
+193 
+194 
+195     /**
+196      * <p> Log an error with warn log level. </p>
+197      *
+198      * @param message log this message
+199      * @param t log this cause
+200      */
+201     public void warn(Object message, Throwable t);
+202 
+203 
+204     /**
+205      * <p> Log a message with error log level. </p>
+206      *
+207      * @param message log this message
+208      */
+209     public void error(Object message);
+210 
+211 
+212     /**
+213      * <p> Log an error with error log level. </p>
+214      *
+215      * @param message log this message
+216      * @param t log this cause
+217      */
+218     public void error(Object message, Throwable t);
+219 
+220 
+221     /**
+222      * <p> Log a message with fatal log level. </p>
+223      *
+224      * @param message log this message
+225      */
+226     public void fatal(Object message);
+227 
+228 
+229     /**
+230      * <p> Log an error with fatal log level. </p>
+231      *
+232      * @param message log this message
+233      * @param t log this cause
+234      */
+235     public void fatal(Object message, Throwable t);
+236 
+237 
+238 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/commons/logging/LogConfigurationException.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/commons/logging/LogConfigurationException.html new file mode 100644 index 0000000..527da2c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/commons/logging/LogConfigurationException.html @@ -0,0 +1,107 @@ + + + + +LogConfigurationException xref + + + +
+
+1   /*
+2    * Copyright 2001-2004 The Apache Software Foundation.
+3    *
+4    * Licensed under the Apache License, Version 2.0 (the "License");
+5    * you may not use this file except in compliance with the License.
+6    * You may obtain a copy of the License at
+7    *
+8    *      http://www.apache.org/licenses/LICENSE-2.0
+9    *
+10   * Unless required by applicable law or agreed to in writing, software
+11   * distributed under the License is distributed on an "AS IS" BASIS,
+12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+13   * See the License for the specific language governing permissions and
+14   * limitations under the License.
+15   */
+16  
+17  package org.apache.commons.logging;
+18  
+19  /**
+20   * <p>
+21   * An exception that is thrown only if a suitable <code>LogFactory</code> or
+22   * <code>Log</code> instance cannot be created by the corresponding factory
+23   * methods.
+24   * </p>
+25   * 
+26   * <p>
+27   * In this version of JCL, this exception will never be thrown in practice.
+28   * However, it is included here to ensure total compile time and run time
+29   * compatibility with the original JCL 1.0.4.
+30   * 
+31   * @author Craig R. McClanahan
+32   */
+33  
+34  public class LogConfigurationException extends RuntimeException {
+35  
+36    private static final long serialVersionUID = 8486587136871052495L;
+37  
+38    /**
+39     * Construct a new exception with <code>null</code> as its detail message.
+40     */
+41    public LogConfigurationException() {
+42      super();
+43    }
+44  
+45    /**
+46     * Construct a new exception with the specified detail message.
+47     * 
+48     * @param message
+49     *          The detail message
+50     */
+51    public LogConfigurationException(String message) {
+52      super(message);
+53    }
+54  
+55    /**
+56     * Construct a new exception with the specified cause and a derived detail
+57     * message.
+58     * 
+59     * @param cause
+60     *          The underlying cause
+61     */
+62    public LogConfigurationException(Throwable cause) {
+63  
+64      this((cause == null) ? null : cause.toString(), cause);
+65  
+66    }
+67  
+68    /**
+69     * Construct a new exception with the specified detail message and cause.
+70     * 
+71     * @param message
+72     *          The detail message
+73     * @param cause
+74     *          The underlying cause
+75     */
+76    public LogConfigurationException(String message, Throwable cause) {
+77      super(message + " (Caused by " + cause + ")");
+78      this.cause = cause; // Two-argument version requires JDK 1.4 or later
+79    }
+80  
+81    /**
+82     * The underlying cause of this exception.
+83     */
+84    protected Throwable cause = null;
+85  
+86    /**
+87     * Return the underlying cause of this exception (if any).
+88     */
+89    public Throwable getCause() {
+90      return (this.cause);
+91    }
+92  
+93  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/commons/logging/LogFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/commons/logging/LogFactory.html new file mode 100644 index 0000000..fcf3547 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/commons/logging/LogFactory.html @@ -0,0 +1,435 @@ + + + + +LogFactory xref + + + +
+
+1   /*
+2    * Copyright 2001-2004 The Apache Software Foundation.
+3    *
+4    * Licensed under the Apache License, Version 2.0 (the "License");
+5    * you may not use this file except in compliance with the License.
+6    * You may obtain a copy of the License at
+7    *
+8    *      http://www.apache.org/licenses/LICENSE-2.0
+9    *
+10   * Unless required by applicable law or agreed to in writing, software
+11   * distributed under the License is distributed on an "AS IS" BASIS,
+12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+13   * See the License for the specific language governing permissions and
+14   * limitations under the License.
+15   */
+16  
+17  package org.apache.commons.logging;
+18  
+19  import java.util.Hashtable;
+20  
+21  import org.apache.commons.logging.impl.SLF4JLogFactory;
+22  
+23  /**
+24   * <p>
+25   * Factory for creating {@link Log} instances, which always delegates to an
+26   * instance of {@link SLF4JLogFactory}.
+27   * 
+28   * </p>
+29   * 
+30   * @author Craig R. McClanahan
+31   * @author Costin Manolache
+32   * @author Richard A. Sitze
+33   * @author Ceki G&uuml;lc&uuml;
+34   */
+35  
+36  public abstract class LogFactory {
+37  
+38    static String UNSUPPORTED_OPERATION_IN_JCL_OVER_SLF4J = "http://www.slf4j.org/codes.html#unsupported_operation_in_jcl_over_slf4j";
+39  
+40    static LogFactory logFactory = new SLF4JLogFactory();
+41  
+42    /**
+43     * The name (<code>priority</code>) of the key in the config file used to
+44     * specify the priority of that particular config file. The associated value
+45     * is a floating-point number; higher values take priority over lower values.
+46     * 
+47     * <p>
+48     * This property is not used but preserved here for compatibility.
+49     */
+50    public static final String PRIORITY_KEY = "priority";
+51  
+52    /**
+53     * The name (<code>use_tccl</code>) of the key in the config file used to
+54     * specify whether logging classes should be loaded via the thread context
+55     * class loader (TCCL), or not. By default, the TCCL is used.
+56     * 
+57     * <p>
+58     * This property is not used but preserved here for compatibility.
+59     */
+60    public static final String TCCL_KEY = "use_tccl";
+61  
+62    /**
+63     * The name of the property used to identify the LogFactory implementation
+64     * class name.
+65     * <p>
+66     * This property is not used but preserved here for compatibility.
+67     */
+68    public static final String FACTORY_PROPERTY = "org.apache.commons.logging.LogFactory";
+69  
+70    /**
+71     * The fully qualified class name of the fallback <code>LogFactory</code>
+72     * implementation class to use, if no other can be found.
+73     * 
+74     * <p>
+75     * This property is not used but preserved here for compatibility.
+76     */
+77    public static final String FACTORY_DEFAULT = "org.apache.commons.logging.impl.SLF4JLogFactory";
+78  
+79    /**
+80     * The name of the properties file to search for.
+81     * <p>
+82     * This property is not used but preserved here for compatibility.
+83     */
+84    public static final String FACTORY_PROPERTIES = "commons-logging.properties";
+85  
+86    
+87    /**
+88     * JDK1.3+ <a href="http://java.sun.com/j2se/1.3/docs/guide/jar/jar.html#Service%20Provider">
+89     * 'Service Provider' specification</a>.
+90     * <p>
+91     * This property is not used but preserved here for compatibility.
+92     */
+93    protected static final String SERVICE_ID =
+94        "META-INF/services/org.apache.commons.logging.LogFactory";
+95    
+96    /**
+97     * The name (<code>org.apache.commons.logging.diagnostics.dest</code>) of
+98     * the property used to enable internal commons-logging diagnostic output, in
+99     * order to get information on what logging implementations are being
+100    * discovered, what classloaders they are loaded through, etc.
+101    * 
+102    * <p>
+103    * This property is not used but preserved here for compatibility.
+104    */
+105   public static final String DIAGNOSTICS_DEST_PROPERTY = "org.apache.commons.logging.diagnostics.dest";
+106 
+107   /**
+108    * <p>
+109    * Setting this system property value allows the <code>Hashtable</code> used
+110    * to store classloaders to be substituted by an alternative implementation.
+111    * <p>
+112    * This property is not used but preserved here for compatibility.
+113    */
+114   public static final String HASHTABLE_IMPLEMENTATION_PROPERTY = "org.apache.commons.logging.LogFactory.HashtableImpl";
+115   
+116   /**
+117    * The previously constructed <code>LogFactory</code> instances, keyed by
+118    * the <code>ClassLoader</code> with which it was created.
+119    * 
+120    * <p>
+121    * This property is not used but preserved here for compatibility.
+122    */
+123   protected static Hashtable factories = null;
+124   
+125   /**
+126    * <p>
+127    * This property is not used but preserved here for compatibility.
+128    */
+129   protected static LogFactory nullClassLoaderFactory = null;
+130 
+131   /**
+132    * Protected constructor that is not available for public use.
+133    */
+134   protected LogFactory() {
+135   }
+136 
+137   // --------------------------------------------------------- Public Methods
+138 
+139   /**
+140    * Return the configuration attribute with the specified name (if any), or
+141    * <code>null</code> if there is no such attribute.
+142    * 
+143    * @param name Name of the attribute to return
+144    * @return configuration attribute
+145    */
+146   public abstract Object getAttribute(String name);
+147 
+148   /**
+149    * Return an array containing the names of all currently defined configuration
+150    * attributes. If there are no such attributes, a zero length array is
+151    * returned.
+152    * 
+153    * @return names of all currently defined configuration attributes
+154    */
+155   public abstract String[] getAttributeNames();
+156 
+157   /**
+158    * Convenience method to derive a name from the specified class and call
+159    * <code>getInstance(String)</code> with it.
+160    * 
+161    * @param clazz
+162    *                Class for which a suitable Log name will be derived
+163    * 
+164    * @exception LogConfigurationException
+165    *                    if a suitable <code>Log</code> instance cannot be
+166    *                    returned
+167    */
+168   public abstract Log getInstance(Class clazz) throws LogConfigurationException;
+169 
+170   /**
+171    * <p>
+172    * Construct (if necessary) and return a <code>Log</code> instance, using
+173    * the factory's current set of configuration attributes.
+174    * </p>
+175    * 
+176    * <p>
+177    * <strong>NOTE </strong>- Depending upon the implementation of the
+178    * <code>LogFactory</code> you are using, the <code>Log</code> instance
+179    * you are returned may or may not be local to the current application, and
+180    * may or may not be returned again on a subsequent call with the same name
+181    * argument.
+182    * </p>
+183    * 
+184    * @param name
+185    *                Logical name of the <code>Log</code> instance to be
+186    *                returned (the meaning of this name is only known to the
+187    *                underlying logging implementation that is being wrapped)
+188    * 
+189    * @exception LogConfigurationException
+190    *                    if a suitable <code>Log</code> instance cannot be
+191    *                    returned
+192    */
+193   public abstract Log getInstance(String name) throws LogConfigurationException;
+194 
+195   /**
+196    * Release any internal references to previously created {@link Log}instances
+197    * returned by this factory. This is useful in environments like servlet
+198    * containers, which implement application reloading by throwing away a
+199    * ClassLoader. Dangling references to objects in that class loader would
+200    * prevent garbage collection.
+201    */
+202   public abstract void release();
+203 
+204   /**
+205    * Remove any configuration attribute associated with the specified name. If
+206    * there is no such attribute, no action is taken.
+207    * 
+208    * @param name
+209    *                Name of the attribute to remove
+210    */
+211   public abstract void removeAttribute(String name);
+212 
+213   /**
+214    * Set the configuration attribute with the specified name. Calling this with
+215    * a <code>null</code> value is equivalent to calling
+216    * <code>removeAttribute(name)</code>.
+217    * 
+218    * @param name
+219    *                Name of the attribute to set
+220    * @param value
+221    *                Value of the attribute to set, or <code>null</code> to
+222    *                remove any setting for this attribute
+223    */
+224   public abstract void setAttribute(String name, Object value);
+225 
+226   // --------------------------------------------------------- Static Methods
+227 
+228   /**
+229    * <p>
+230    * Construct (if necessary) and return a <code>LogFactory</code> instance,
+231    * using the following ordered lookup procedure to determine the name of the
+232    * implementation class to be loaded.
+233    * </p>
+234    * <ul>
+235    * <li>The <code>org.apache.commons.logging.LogFactory</code> system
+236    * property.</li>
+237    * <li>The JDK 1.3 Service Discovery mechanism</li>
+238    * <li>Use the properties file <code>commons-logging.properties</code>
+239    * file, if found in the class path of this class. The configuration file is
+240    * in standard <code>java.util.Properties</code> format and contains the
+241    * fully qualified name of the implementation class with the key being the
+242    * system property defined above.</li>
+243    * <li>Fall back to a default implementation class (
+244    * <code>org.apache.commons.logging.impl.SLF4FLogFactory</code>).</li>
+245    * </ul>
+246    * 
+247    * <p>
+248    * <em>NOTE</em>- If the properties file method of identifying the
+249    * <code>LogFactory</code> implementation class is utilized, all of the
+250    * properties defined in this file will be set as configuration attributes on
+251    * the corresponding <code>LogFactory</code> instance.
+252    * </p>
+253    * 
+254    * @exception LogConfigurationException
+255    *                    if the implementation class is not available or cannot
+256    *                    be instantiated.
+257    */
+258   public static LogFactory getFactory() throws LogConfigurationException {
+259     return logFactory;
+260   }
+261 
+262   /**
+263    * Convenience method to return a named logger, without the application having
+264    * to care about factories.
+265    * 
+266    * @param clazz
+267    *                Class from which a log name will be derived
+268    * 
+269    * @exception LogConfigurationException
+270    *                    if a suitable <code>Log</code> instance cannot be
+271    *                    returned
+272    */
+273   public static Log getLog(Class clazz) throws LogConfigurationException {
+274     return (getFactory().getInstance(clazz));
+275   }
+276 
+277   /**
+278    * Convenience method to return a named logger, without the application having
+279    * to care about factories.
+280    * 
+281    * @param name
+282    *                Logical name of the <code>Log</code> instance to be
+283    *                returned (the meaning of this name is only known to the
+284    *                underlying logging implementation that is being wrapped)
+285    * 
+286    * @exception LogConfigurationException
+287    *                    if a suitable <code>Log</code> instance cannot be
+288    *                    returned
+289    */
+290   public static Log getLog(String name) throws LogConfigurationException {
+291     return (getFactory().getInstance(name));
+292   }
+293 
+294   /**
+295    * Release any internal references to previously created {@link LogFactory}
+296    * instances that have been associated with the specified class loader (if
+297    * any), after calling the instance method <code>release()</code> on each of
+298    * them.
+299    * 
+300    * @param classLoader
+301    *                ClassLoader for which to release the LogFactory
+302    */
+303   public static void release(ClassLoader classLoader) {
+304     // since SLF4J based JCL does not make use of classloaders, there is nothing
+305     // to do here
+306   }
+307 
+308   /**
+309    * Release any internal references to previously created {@link LogFactory}
+310    * instances, after calling the instance method <code>release()</code> on
+311    * each of them. This is useful in environments like servlet containers, which
+312    * implement application reloading by throwing away a ClassLoader. Dangling
+313    * references to objects in that class loader would prevent garbage
+314    * collection.
+315    */
+316   public static void releaseAll() {
+317     // since SLF4J based JCL does not make use of classloaders, there is nothing
+318     // to do here
+319   }
+320 
+321   /**
+322    * Returns a string that uniquely identifies the specified object, including
+323    * its class.
+324    * <p>
+325    * The returned string is of form "classname@hashcode", ie is the same as the
+326    * return value of the Object.toString() method, but works even when the
+327    * specified object's class has overidden the toString method.
+328    * 
+329    * @param o
+330    *                may be null.
+331    * @return a string of form classname@hashcode, or "null" if param o is null.
+332    * @since 1.1
+333    */
+334   public static String objectId(Object o) {
+335     if (o == null) {
+336       return "null";
+337     } else {
+338       return o.getClass().getName() + "@" + System.identityHashCode(o);
+339     }
+340   }
+341 
+342   // protected methods which were added in JCL 1.1. These are not used
+343   // by SLF4JLogFactory
+344 
+345   /**
+346    * This method exists to ensure signature compatibility.
+347    */
+348   protected static Object createFactory(String factoryClass, ClassLoader classLoader) {
+349     throw new UnsupportedOperationException(
+350         "Operation [factoryClass] is not supported in jcl-over-slf4j. See also "
+351             + UNSUPPORTED_OPERATION_IN_JCL_OVER_SLF4J);
+352   }
+353 
+354   /**
+355    * This method exists to ensure signature compatibility.
+356    */
+357   protected static ClassLoader directGetContextClassLoader() {
+358     throw new UnsupportedOperationException(
+359         "Operation [directGetContextClassLoader] is not supported in jcl-over-slf4j. See also "
+360             + UNSUPPORTED_OPERATION_IN_JCL_OVER_SLF4J);
+361   }
+362 
+363   /**
+364    * This method exists to ensure signature compatibility.
+365    */
+366   protected static ClassLoader getContextClassLoader()
+367       throws LogConfigurationException {
+368     throw new UnsupportedOperationException(
+369         "Operation [getContextClassLoader] is not supported in jcl-over-slf4j. See also "
+370             + UNSUPPORTED_OPERATION_IN_JCL_OVER_SLF4J);
+371   }
+372   
+373   /**
+374    * This method exists to ensure signature compatibility.
+375    */
+376   protected static ClassLoader getClassLoader(Class clazz) {
+377     throw new UnsupportedOperationException(
+378         "Operation [getClassLoader] is not supported in jcl-over-slf4j. See also "
+379             + UNSUPPORTED_OPERATION_IN_JCL_OVER_SLF4J);
+380   }
+381 
+382   /**
+383    * This method exists to ensure signature compatibility.
+384    */
+385   protected static boolean isDiagnosticsEnabled() {
+386     throw new UnsupportedOperationException(
+387         "Operation [isDiagnosticsEnabled] is not supported in jcl-over-slf4j. See also "
+388             + UNSUPPORTED_OPERATION_IN_JCL_OVER_SLF4J);
+389   }
+390   
+391   /**
+392    * This method exists to ensure signature compatibility.
+393    */
+394   protected static void logRawDiagnostic(String msg) {
+395     throw new UnsupportedOperationException(
+396         "Operation [logRawDiagnostic] is not supported in jcl-over-slf4j. See also "
+397             + UNSUPPORTED_OPERATION_IN_JCL_OVER_SLF4J);
+398   }
+399   
+400   /**
+401    * This method exists to ensure signature compatibility.
+402    */
+403   protected static LogFactory newFactory(final String factoryClass,
+404       final ClassLoader classLoader, final ClassLoader contextClassLoader) {
+405     throw new UnsupportedOperationException(
+406         "Operation [logRawDiagnostic] is not supported in jcl-over-slf4j. See also "
+407             + UNSUPPORTED_OPERATION_IN_JCL_OVER_SLF4J);
+408   }
+409  
+410   /**
+411    * This method exists to ensure signature compatibility.
+412    */
+413   protected static LogFactory newFactory(final String factoryClass,
+414                                          final ClassLoader classLoader) {
+415     throw new UnsupportedOperationException(
+416         "Operation [newFactory] is not supported in jcl-over-slf4j. See also "
+417             + UNSUPPORTED_OPERATION_IN_JCL_OVER_SLF4J);
+418   }
+419 
+420 
+421 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/commons/logging/impl/NoOpLog.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/commons/logging/impl/NoOpLog.html new file mode 100644 index 0000000..da92594 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/commons/logging/impl/NoOpLog.html @@ -0,0 +1,159 @@ + + + + +NoOpLog xref + + + +
+
+1   /*
+2    * Copyright 2001-2004 The Apache Software Foundation.
+3    *
+4    * Licensed under the Apache License, Version 2.0 (the "License");
+5    * you may not use this file except in compliance with the License.
+6    * You may obtain a copy of the License at
+7    *
+8    *      http://www.apache.org/licenses/LICENSE-2.0
+9    *
+10   * Unless required by applicable law or agreed to in writing, software
+11   * distributed under the License is distributed on an "AS IS" BASIS,
+12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+13   * See the License for the specific language governing permissions and
+14   * limitations under the License.
+15   */
+16  
+17  package org.apache.commons.logging.impl;
+18  
+19  import java.io.Serializable;
+20  import org.apache.commons.logging.Log;
+21  
+22  /**
+23   * <p>
+24   * Trivial implementation of Log that throws away all messages. No configurable
+25   * system properties are supported.
+26   * </p>
+27   * 
+28   * @author <a href="mailto:sanders@apache.org">Scott Sanders</a>
+29   * @author Rod Waldhoff
+30   * @version $Id: NoOpLog.java,v 1.8 2004/06/06 21:13:12 rdonkin Exp $
+31   */
+32  public class NoOpLog implements Log, Serializable {
+33    private static final long serialVersionUID = 561423906191706148L;
+34  
+35    /** Convenience constructor */
+36    public NoOpLog() {
+37    }
+38  
+39    /** Base constructor */
+40    public NoOpLog(String name) {
+41    }
+42  
+43    /** Do nothing */
+44    public void trace(Object message) {
+45    }
+46  
+47    /** Do nothing */
+48    public void trace(Object message, Throwable t) {
+49    }
+50  
+51    /** Do nothing */
+52    public void debug(Object message) {
+53    }
+54  
+55    /** Do nothing */
+56    public void debug(Object message, Throwable t) {
+57    }
+58  
+59    /** Do nothing */
+60    public void info(Object message) {
+61    }
+62  
+63    /** Do nothing */
+64    public void info(Object message, Throwable t) {
+65    }
+66  
+67    /** Do nothing */
+68    public void warn(Object message) {
+69    }
+70  
+71    /** Do nothing */
+72    public void warn(Object message, Throwable t) {
+73    }
+74  
+75    /** Do nothing */
+76    public void error(Object message) {
+77    }
+78  
+79    /** Do nothing */
+80    public void error(Object message, Throwable t) {
+81    }
+82  
+83    /** Do nothing */
+84    public void fatal(Object message) {
+85    }
+86  
+87    /** Do nothing */
+88    public void fatal(Object message, Throwable t) {
+89    }
+90  
+91    /**
+92     * Debug is never enabled.
+93     * 
+94     * @return false
+95     */
+96    public final boolean isDebugEnabled() {
+97      return false;
+98    }
+99  
+100   /**
+101    * Error is never enabled.
+102    * 
+103    * @return false
+104    */
+105   public final boolean isErrorEnabled() {
+106     return false;
+107   }
+108 
+109   /**
+110    * Fatal is never enabled.
+111    * 
+112    * @return false
+113    */
+114   public final boolean isFatalEnabled() {
+115     return false;
+116   }
+117 
+118   /**
+119    * Info is never enabled.
+120    * 
+121    * @return false
+122    */
+123   public final boolean isInfoEnabled() {
+124     return false;
+125   }
+126 
+127   /**
+128    * Trace is never enabled.
+129    * 
+130    * @return false
+131    */
+132   public final boolean isTraceEnabled() {
+133     return false;
+134   }
+135 
+136   /**
+137    * Warn is never enabled.
+138    * 
+139    * @return false
+140    */
+141   public final boolean isWarnEnabled() {
+142     return false;
+143   }
+144 
+145 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/commons/logging/impl/SLF4JLocationAwareLog.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/commons/logging/impl/SLF4JLocationAwareLog.html new file mode 100644 index 0000000..0bdb39e --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/commons/logging/impl/SLF4JLocationAwareLog.html @@ -0,0 +1,280 @@ + + + + +SLF4JLocationAwareLog xref + + + +
+
+1   /*
+2    * Copyright 2001-2004 The Apache Software Foundation.
+3    *
+4    * Licensed under the Apache License, Version 2.0 (the "License");
+5    * you may not use this file except in compliance with the License.
+6    * You may obtain a copy of the License at
+7    *
+8    *      http://www.apache.org/licenses/LICENSE-2.0
+9    *
+10   * Unless required by applicable law or agreed to in writing, software
+11   * distributed under the License is distributed on an "AS IS" BASIS,
+12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+13   * See the License for the specific language governing permissions and
+14   * limitations under the License.
+15   */
+16  
+17  package org.apache.commons.logging.impl;
+18  
+19  import java.io.ObjectStreamException;
+20  import java.io.Serializable;
+21  
+22  import org.apache.commons.logging.Log;
+23  import org.slf4j.Logger;
+24  import org.slf4j.LoggerFactory;
+25  import org.slf4j.spi.LocationAwareLogger;
+26  
+27  /**
+28   * Implementation of {@link Log org.apache.commons.logging.Log} interface which
+29   * delegates all processing to a wrapped {@link Logger org.slf4j.Logger}
+30   * instance.
+31   * 
+32   * <p>
+33   * JCL's FATAL level is mapped to ERROR. All other levels map one to one.
+34   * 
+35   * @author Ceki G&uuml;lc&uuml;
+36   */
+37  public class SLF4JLocationAwareLog implements Log, Serializable {
+38  
+39    private static final long serialVersionUID = -2379157579039314822L;
+40  
+41    // used to store this logger's name to recreate it after serialization
+42    protected String name;
+43  
+44    // in both Log4jLogger and Jdk14Logger classes in the original JCL, the
+45    // logger instance is transient
+46    private transient LocationAwareLogger logger;
+47  
+48    private static final String FQCN = SLF4JLocationAwareLog.class.getName();
+49  
+50    SLF4JLocationAwareLog(LocationAwareLogger logger) {
+51      this.logger = logger;
+52      this.name = logger.getName();
+53    }
+54  
+55    /**
+56     * Delegates to the <code>isTraceEnabled<code> method of the wrapped 
+57     * <code>org.slf4j.Logger</code> instance.
+58     */
+59    public boolean isTraceEnabled() {
+60      return logger.isTraceEnabled();
+61    }
+62  
+63    /**
+64     * Directly delegates to the wrapped <code>org.slf4j.Logger</code> instance.
+65     */
+66    public boolean isDebugEnabled() {
+67      return logger.isDebugEnabled();
+68    }
+69  
+70    /**
+71     * Directly delegates to the wrapped <code>org.slf4j.Logger</code> instance.
+72     */
+73    public boolean isInfoEnabled() {
+74      return logger.isInfoEnabled();
+75    }
+76  
+77    /**
+78     * Directly delegates to the wrapped <code>org.slf4j.Logger</code> instance.
+79     */
+80    public boolean isWarnEnabled() {
+81      return logger.isWarnEnabled();
+82    }
+83  
+84    /**
+85     * Directly delegates to the wrapped <code>org.slf4j.Logger</code> instance.
+86     */
+87    public boolean isErrorEnabled() {
+88      return logger.isErrorEnabled();
+89    }
+90  
+91    /**
+92     * Delegates to the <code>isErrorEnabled<code> method of the wrapped 
+93     * <code>org.slf4j.Logger</code> instance.
+94     */
+95    public boolean isFatalEnabled() {
+96      return logger.isErrorEnabled();
+97    }
+98  
+99    /**
+100    * Converts the input parameter to String and then delegates to the debug
+101    * method of the wrapped <code>org.slf4j.Logger</code> instance.
+102    * 
+103    * @param message
+104    *          the message to log. Converted to {@link String}
+105    */
+106   public void trace(Object message) {
+107     logger.log(null, FQCN, LocationAwareLogger.TRACE_INT, String
+108         .valueOf(message), null, null);
+109   }
+110 
+111   /**
+112    * Converts the first input parameter to String and then delegates to the
+113    * debug method of the wrapped <code>org.slf4j.Logger</code> instance.
+114    * 
+115    * @param message
+116    *          the message to log. Converted to {@link String}
+117    * @param t
+118    *          the exception to log
+119    */
+120   public void trace(Object message, Throwable t) {
+121     logger.log(null, FQCN, LocationAwareLogger.TRACE_INT, String
+122         .valueOf(message), null, t);
+123   }
+124 
+125   /**
+126    * Converts the input parameter to String and then delegates to the wrapped
+127    * <code>org.slf4j.Logger</code> instance.
+128    * 
+129    * @param message
+130    *          the message to log. Converted to {@link String}
+131    */
+132   public void debug(Object message) {
+133     logger.log(null, FQCN, LocationAwareLogger.DEBUG_INT, String
+134         .valueOf(message), null, null);
+135   }
+136 
+137   /**
+138    * Converts the first input parameter to String and then delegates to the
+139    * wrapped <code>org.slf4j.Logger</code> instance.
+140    * 
+141    * @param message
+142    *          the message to log. Converted to {@link String}
+143    * @param t
+144    *          the exception to log
+145    */
+146   public void debug(Object message, Throwable t) {
+147     logger.log(null, FQCN, LocationAwareLogger.DEBUG_INT, String
+148         .valueOf(message), null, t);
+149   }
+150 
+151   /**
+152    * Converts the input parameter to String and then delegates to the wrapped
+153    * <code>org.slf4j.Logger</code> instance.
+154    * 
+155    * @param message
+156    *          the message to log. Converted to {@link String}
+157    */
+158   public void info(Object message) {
+159     logger.log(null, FQCN, LocationAwareLogger.INFO_INT, String
+160         .valueOf(message), null, null);
+161   }
+162 
+163   /**
+164    * Converts the first input parameter to String and then delegates to the
+165    * wrapped <code>org.slf4j.Logger</code> instance.
+166    * 
+167    * @param message
+168    *          the message to log. Converted to {@link String}
+169    * @param t
+170    *          the exception to log
+171    */
+172   public void info(Object message, Throwable t) {
+173     logger.log(null, FQCN, LocationAwareLogger.INFO_INT, String
+174         .valueOf(message), null, t);
+175   }
+176 
+177   /**
+178    * Converts the input parameter to String and then delegates to the wrapped
+179    * <code>org.slf4j.Logger</code> instance.
+180    * 
+181    * @param message
+182    *          the message to log. Converted to {@link String}
+183    */
+184   public void warn(Object message) {
+185     logger.log(null, FQCN, LocationAwareLogger.WARN_INT, String
+186         .valueOf(message), null, null);
+187   }
+188 
+189   /**
+190    * Converts the first input parameter to String and then delegates to the
+191    * wrapped <code>org.slf4j.Logger</code> instance.
+192    * 
+193    * @param message
+194    *          the message to log. Converted to {@link String}
+195    * @param t
+196    *          the exception to log
+197    */
+198   public void warn(Object message, Throwable t) {
+199     logger.log(null, FQCN, LocationAwareLogger.WARN_INT, String
+200         .valueOf(message), null, t);
+201   }
+202 
+203   /**
+204    * Converts the input parameter to String and then delegates to the wrapped
+205    * <code>org.slf4j.Logger</code> instance.
+206    * 
+207    * @param message
+208    *          the message to log. Converted to {@link String}
+209    */
+210   public void error(Object message) {
+211     logger.log(null, FQCN, LocationAwareLogger.ERROR_INT, String
+212         .valueOf(message), null, null);
+213   }
+214 
+215   /**
+216    * Converts the first input parameter to String and then delegates to the
+217    * wrapped <code>org.slf4j.Logger</code> instance.
+218    * 
+219    * @param message
+220    *          the message to log. Converted to {@link String}
+221    * @param t
+222    *          the exception to log
+223    */
+224   public void error(Object message, Throwable t) {
+225     logger.log(null, FQCN, LocationAwareLogger.ERROR_INT, String
+226         .valueOf(message), null, t);
+227   }
+228 
+229   /**
+230    * Converts the input parameter to String and then delegates to the error
+231    * method of the wrapped <code>org.slf4j.Logger</code> instance.
+232    * 
+233    * @param message
+234    *          the message to log. Converted to {@link String}
+235    */
+236   public void fatal(Object message) {
+237     logger.log(null, FQCN, LocationAwareLogger.ERROR_INT, String
+238         .valueOf(message), null, null);
+239   }
+240 
+241   /**
+242    * Converts the first input parameter to String and then delegates to the
+243    * error method of the wrapped <code>org.slf4j.Logger</code> instance.
+244    * 
+245    * @param message
+246    *          the message to log. Converted to {@link String}
+247    * @param t
+248    *          the exception to log
+249    */
+250   public void fatal(Object message, Throwable t) {
+251     logger.log(null, FQCN, LocationAwareLogger.ERROR_INT, String
+252         .valueOf(message), null, t);
+253   }
+254 
+255   /**
+256    * Replace this instance with a homonymous (same name) logger returned by
+257    * LoggerFactory. Note that this method is only called during deserialization.
+258    * 
+259    * @return logger with same name as returned by LoggerFactory
+260    * @throws ObjectStreamException
+261    */
+262   protected Object readResolve() throws ObjectStreamException {
+263     Logger logger = LoggerFactory.getLogger(this.name);
+264     return new SLF4JLocationAwareLog((LocationAwareLogger) logger);
+265   }
+266 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/commons/logging/impl/SLF4JLog.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/commons/logging/impl/SLF4JLog.html new file mode 100644 index 0000000..9fdb464 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/commons/logging/impl/SLF4JLog.html @@ -0,0 +1,265 @@ + + + + +SLF4JLog xref + + + +
+
+1   /*
+2    * Copyright 2001-2004 The Apache Software Foundation.
+3    *
+4    * Licensed under the Apache License, Version 2.0 (the "License");
+5    * you may not use this file except in compliance with the License.
+6    * You may obtain a copy of the License at
+7    *
+8    *      http://www.apache.org/licenses/LICENSE-2.0
+9    *
+10   * Unless required by applicable law or agreed to in writing, software
+11   * distributed under the License is distributed on an "AS IS" BASIS,
+12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+13   * See the License for the specific language governing permissions and
+14   * limitations under the License.
+15   */
+16  
+17  package org.apache.commons.logging.impl;
+18  
+19  import java.io.ObjectStreamException;
+20  import java.io.Serializable;
+21  
+22  import org.apache.commons.logging.Log;
+23  import org.slf4j.Logger;
+24  import org.slf4j.LoggerFactory;
+25  
+26  /**
+27   * Implementation of {@link Log org.apache.commons.logging.Log} interface which
+28   * delegates all processing to a wrapped {@link Logger org.slf4j.Logger}
+29   * instance.
+30   * 
+31   * <p>
+32   * JCL's FATAL level is mapped to ERROR. All other levels map one to one.
+33   * 
+34   * @author Ceki G&uuml;lc&uuml;
+35   */
+36  public class SLF4JLog implements Log, Serializable {
+37  
+38    private static final long serialVersionUID = 680728617011167209L;
+39  
+40    // used to store this logger's name to recreate it after serialization
+41    protected String name;
+42  
+43    // in both Log4jLogger and Jdk14Logger classes in the original JCL, the
+44    // logger instance is transient
+45    private transient Logger logger;
+46  
+47    SLF4JLog(Logger logger) {
+48      this.logger = logger;
+49      this.name = logger.getName();
+50    }
+51  
+52    /**
+53     * Directly delegates to the wrapped <code>org.slf4j.Logger</code> instance.
+54     */
+55    public boolean isDebugEnabled() {
+56      return logger.isDebugEnabled();
+57    }
+58  
+59    /**
+60     * Directly delegates to the wrapped <code>org.slf4j.Logger</code> instance.
+61     */
+62    public boolean isErrorEnabled() {
+63      return logger.isErrorEnabled();
+64    }
+65  
+66    /**
+67     * Delegates to the <code>isErrorEnabled<code> method of the wrapped 
+68     * <code>org.slf4j.Logger</code> instance.
+69     */
+70    public boolean isFatalEnabled() {
+71      return logger.isErrorEnabled();
+72    }
+73  
+74    /**
+75     * Directly delegates to the wrapped <code>org.slf4j.Logger</code> instance.
+76     */
+77    public boolean isInfoEnabled() {
+78      return logger.isInfoEnabled();
+79    }
+80  
+81    /**
+82     * Delegates to the <code>isDebugEnabled<code> method of the wrapped 
+83     * <code>org.slf4j.Logger</code> instance.
+84     */
+85    public boolean isTraceEnabled() {
+86      return logger.isTraceEnabled();
+87    }
+88  
+89    /**
+90     * Directly delegates to the wrapped <code>org.slf4j.Logger</code> instance.
+91     */
+92    public boolean isWarnEnabled() {
+93      return logger.isWarnEnabled();
+94    }
+95  
+96    /**
+97     * Converts the input parameter to String and then delegates to the debug
+98     * method of the wrapped <code>org.slf4j.Logger</code> instance.
+99     * 
+100    * @param message
+101    *          the message to log. Converted to {@link String}
+102    */
+103   public void trace(Object message) {
+104     logger.trace(String.valueOf(message));
+105   }
+106 
+107   /**
+108    * Converts the first input parameter to String and then delegates to the
+109    * debug method of the wrapped <code>org.slf4j.Logger</code> instance.
+110    * 
+111    * @param message
+112    *          the message to log. Converted to {@link String}
+113    * @param t
+114    *          the exception to log
+115    */
+116   public void trace(Object message, Throwable t) {
+117     logger.trace(String.valueOf(message), t);
+118   }
+119 
+120   /**
+121    * Converts the input parameter to String and then delegates to the wrapped
+122    * <code>org.slf4j.Logger</code> instance.
+123    * 
+124    * @param message
+125    *          the message to log. Converted to {@link String}
+126    */
+127   public void debug(Object message) {
+128     logger.debug(String.valueOf(message));
+129   }
+130 
+131   /**
+132    * Converts the first input parameter to String and then delegates to the
+133    * wrapped <code>org.slf4j.Logger</code> instance.
+134    * 
+135    * @param message
+136    *          the message to log. Converted to {@link String}
+137    * @param t
+138    *          the exception to log
+139    */
+140   public void debug(Object message, Throwable t) {
+141     logger.debug(String.valueOf(message), t);
+142   }
+143 
+144   /**
+145    * Converts the input parameter to String and then delegates to the wrapped
+146    * <code>org.slf4j.Logger</code> instance.
+147    * 
+148    * @param message
+149    *          the message to log. Converted to {@link String}
+150    */
+151   public void info(Object message) {
+152     logger.info(String.valueOf(message));
+153   }
+154 
+155   /**
+156    * Converts the first input parameter to String and then delegates to the
+157    * wrapped <code>org.slf4j.Logger</code> instance.
+158    * 
+159    * @param message
+160    *          the message to log. Converted to {@link String}
+161    * @param t
+162    *          the exception to log
+163    */
+164   public void info(Object message, Throwable t) {
+165     logger.info(String.valueOf(message), t);
+166   }
+167 
+168   /**
+169    * Converts the input parameter to String and then delegates to the wrapped
+170    * <code>org.slf4j.Logger</code> instance.
+171    * 
+172    * @param message
+173    *          the message to log. Converted to {@link String}
+174    */
+175   public void warn(Object message) {
+176     logger.warn(String.valueOf(message));
+177   }
+178 
+179   /**
+180    * Converts the first input parameter to String and then delegates to the
+181    * wrapped <code>org.slf4j.Logger</code> instance.
+182    * 
+183    * @param message
+184    *          the message to log. Converted to {@link String}
+185    * @param t
+186    *          the exception to log
+187    */
+188   public void warn(Object message, Throwable t) {
+189     logger.warn(String.valueOf(message), t);
+190   }
+191 
+192   /**
+193    * Converts the input parameter to String and then delegates to the wrapped
+194    * <code>org.slf4j.Logger</code> instance.
+195    * 
+196    * @param message
+197    *          the message to log. Converted to {@link String}
+198    */
+199   public void error(Object message) {
+200     logger.error(String.valueOf(message));
+201   }
+202 
+203   /**
+204    * Converts the first input parameter to String and then delegates to the
+205    * wrapped <code>org.slf4j.Logger</code> instance.
+206    * 
+207    * @param message
+208    *          the message to log. Converted to {@link String}
+209    * @param t
+210    *          the exception to log
+211    */
+212   public void error(Object message, Throwable t) {
+213     logger.error(String.valueOf(message), t);
+214   }
+215 
+216   /**
+217    * Converts the input parameter to String and then delegates to the error
+218    * method of the wrapped <code>org.slf4j.Logger</code> instance.
+219    * 
+220    * @param message
+221    *          the message to log. Converted to {@link String}
+222    */
+223   public void fatal(Object message) {
+224     logger.error(String.valueOf(message));
+225   }
+226 
+227   /**
+228    * Converts the first input parameter to String and then delegates to the
+229    * error method of the wrapped <code>org.slf4j.Logger</code> instance.
+230    * 
+231    * @param message
+232    *          the message to log. Converted to {@link String}
+233    * @param t
+234    *          the exception to log
+235    */
+236   public void fatal(Object message, Throwable t) {
+237     logger.error(String.valueOf(message), t);
+238   }
+239 
+240   /**
+241    * Replace this instance with a homonymous (same name) logger returned by
+242    * LoggerFactory. Note that this method is only called during deserialization.
+243    * 
+244    * @return logger with same name as returned by LoggerFactory
+245    * @throws ObjectStreamException
+246    */
+247   protected Object readResolve() throws ObjectStreamException {
+248     Logger logger = LoggerFactory.getLogger(this.name);
+249     return new SLF4JLog(logger);
+250   }
+251 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/commons/logging/impl/SLF4JLogFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/commons/logging/impl/SLF4JLogFactory.html new file mode 100644 index 0000000..07dff6b --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/commons/logging/impl/SLF4JLogFactory.html @@ -0,0 +1,235 @@ + + + + +SLF4JLogFactory xref + + + +
+
+1   /*
+2    * Copyright 2001-2004 The Apache Software Foundation.
+3    *
+4    * Licensed under the Apache License, Version 2.0 (the "License");
+5    * you may not use this file except in compliance with the License.
+6    * You may obtain a copy of the License at
+7    *
+8    *      http://www.apache.org/licenses/LICENSE-2.0
+9    *
+10   * Unless required by applicable law or agreed to in writing, software
+11   * distributed under the License is distributed on an "AS IS" BASIS,
+12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+13   * See the License for the specific language governing permissions and
+14   * limitations under the License.
+15   */
+16  
+17  package org.apache.commons.logging.impl;
+18  
+19  import org.apache.commons.logging.Log;
+20  import org.apache.commons.logging.LogConfigurationException;
+21  import org.apache.commons.logging.LogFactory;
+22  import org.slf4j.Logger;
+23  import org.slf4j.LoggerFactory;
+24  import org.slf4j.spi.LocationAwareLogger;
+25  
+26  import java.util.ArrayList;
+27  import java.util.Enumeration;
+28  import java.util.Hashtable;
+29  import java.util.List;
+30  import java.util.concurrent.ConcurrentHashMap;
+31  import java.util.concurrent.ConcurrentMap;
+32  
+33  /**
+34   * <p>
+35   * Concrete subclass of {@link LogFactory} which always delegates to the
+36   * {@link LoggerFactory org.slf4j.LoggerFactory} class.
+37   * 
+38   * <p>
+39   * This factory generates instances of {@link SLF4JLog}. It will remember
+40   * previously created instances for the same name, and will return them on
+41   * repeated requests to the <code>getInstance()</code> method.
+42   * 
+43   * <p>
+44   * This implementation ignores any configured attributes.
+45   * </p>
+46   * 
+47   * @author Rod Waldhoff
+48   * @author Craig R. McClanahan
+49   * @author Richard A. Sitze
+50   * @author Ceki G&uuml;lc&uuml;
+51   */
+52  
+53  public class SLF4JLogFactory extends LogFactory {
+54  
+55    // ----------------------------------------------------------- Constructors
+56  
+57    /**
+58     * The {@link org.apache.commons.logging.Log}instances that have already been
+59     * created, keyed by logger name.
+60     */
+61    ConcurrentMap<String, Log> loggerMap;
+62  
+63    /**
+64     * Public no-arguments constructor required by the lookup mechanism.
+65     */
+66    public SLF4JLogFactory() {
+67      loggerMap = new ConcurrentHashMap<String, Log>();
+68    }
+69  
+70    // ----------------------------------------------------- Manifest Constants
+71  
+72    /**
+73     * The name of the system property identifying our {@link Log}implementation
+74     * class.
+75     */
+76    public static final String LOG_PROPERTY = "org.apache.commons.logging.Log";
+77  
+78    // ----------------------------------------------------- Instance Variables
+79  
+80    /**
+81     * Configuration attributes.
+82     */
+83    protected Hashtable attributes = new Hashtable();
+84  
+85    // --------------------------------------------------------- Public Methods
+86  
+87    /**
+88     * Return the configuration attribute with the specified name (if any), or
+89     * <code>null</code> if there is no such attribute.
+90     * 
+91     * @param name
+92     *          Name of the attribute to return
+93     */
+94    public Object getAttribute(String name) {
+95  
+96      return (attributes.get(name));
+97  
+98    }
+99  
+100   /**
+101    * Return an array containing the names of all currently defined configuration
+102    * attributes. If there are no such attributes, a zero length array is
+103    * returned.
+104    */
+105   public String[] getAttributeNames() {
+106 
+107     List names = new ArrayList();
+108     Enumeration keys = attributes.keys();
+109     while (keys.hasMoreElements()) {
+110       names.add((String) keys.nextElement());
+111     }
+112     String results[] = new String[names.size()];
+113     for (int i = 0; i < results.length; i++) {
+114       results[i] = (String) names.get(i);
+115     }
+116     return (results);
+117 
+118   }
+119 
+120   /**
+121    * Convenience method to derive a name from the specified class and call
+122    * <code>getInstance(String)</code> with it.
+123    * 
+124    * @param clazz
+125    *          Class for which a suitable Log name will be derived
+126    * 
+127    * @exception LogConfigurationException
+128    *              if a suitable <code>Log</code> instance cannot be returned
+129    */
+130   public Log getInstance(Class clazz) throws LogConfigurationException {
+131 
+132     return (getInstance(clazz.getName()));
+133 
+134   }
+135 
+136   /**
+137    * <p>
+138    * Construct (if necessary) and return a <code>Log</code> instance, using
+139    * the factory's current set of configuration attributes.
+140    * </p>
+141    * 
+142    * @param name
+143    *          Logical name of the <code>Log</code> instance to be returned
+144    *          (the meaning of this name is only known to the underlying logging
+145    *          implementation that is being wrapped)
+146    * 
+147    * @exception LogConfigurationException
+148    *              if a suitable <code>Log</code> instance cannot be returned
+149    */
+150   public Log getInstance(String name) throws LogConfigurationException {
+151     Log instance = loggerMap.get(name);
+152     if (instance != null) {
+153       return instance;
+154     } else {
+155       Log newInstance;
+156       Logger slf4jLogger = LoggerFactory.getLogger(name);
+157       if (slf4jLogger instanceof LocationAwareLogger) {
+158         newInstance = new SLF4JLocationAwareLog((LocationAwareLogger) slf4jLogger);
+159       } else {
+160         newInstance = new SLF4JLog(slf4jLogger);
+161       }
+162       Log oldInstance = loggerMap.putIfAbsent(name, newInstance);
+163       return oldInstance == null ? newInstance : oldInstance;
+164     }
+165   }
+166 
+167   /**
+168    * Release any internal references to previously created
+169    * {@link org.apache.commons.logging.Log}instances returned by this factory.
+170    * This is useful in environments like servlet containers, which implement
+171    * application reloading by throwing away a ClassLoader. Dangling references
+172    * to objects in that class loader would prevent garbage collection.
+173    */
+174   public void release() {
+175     // This method is never called by jcl-over-slf4j classes. However,
+176     // in certain deployment scenarios, in particular if jcl-over-slf4j.jar
+177     // is
+178     // in the the web-app class loader and the official commons-logging.jar is
+179     // deployed in some parent class loader (e.g. commons/lib), then it is
+180     // possible
+181     // for the parent class loader to mask the classes shipping in
+182     // jcl-over-slf4j.jar.
+183     System.out.println("WARN: The method " + SLF4JLogFactory.class
+184         + "#release() was invoked.");
+185     System.out
+186         .println("WARN: Please see http://www.slf4j.org/codes.html#release for an explanation.");
+187     System.out.flush();
+188   }
+189 
+190   /**
+191    * Remove any configuration attribute associated with the specified name. If
+192    * there is no such attribute, no action is taken.
+193    * 
+194    * @param name
+195    *          Name of the attribute to remove
+196    */
+197   public void removeAttribute(String name) {
+198     attributes.remove(name);
+199   }
+200 
+201   /**
+202    * Set the configuration attribute with the specified name. Calling this with
+203    * a <code>null</code> value is equivalent to calling
+204    * <code>removeAttribute(name)</code>.
+205    * 
+206    * @param name
+207    *          Name of the attribute to set
+208    * @param value
+209    *          Value of the attribute to set, or <code>null</code> to remove
+210    *          any setting for this attribute
+211    */
+212   public void setAttribute(String name, Object value) {
+213 
+214     if (value == null) {
+215       attributes.remove(name);
+216     } else {
+217       attributes.put(name, value);
+218     }
+219 
+220   }
+221 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/commons/logging/impl/SimpleLog.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/commons/logging/impl/SimpleLog.html new file mode 100644 index 0000000..5774782 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/commons/logging/impl/SimpleLog.html @@ -0,0 +1,703 @@ + + + + +SimpleLog xref + + + +
+
+1   /*
+2    * Copyright 2001-2004 The Apache Software Foundation.
+3    *
+4    * Licensed under the Apache License, Version 2.0 (the "License");
+5    * you may not use this file except in compliance with the License.
+6    * You may obtain a copy of the License at
+7    *
+8    *      http://www.apache.org/licenses/LICENSE-2.0
+9    *
+10   * Unless required by applicable law or agreed to in writing, software
+11   * distributed under the License is distributed on an "AS IS" BASIS,
+12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+13   * See the License for the specific language governing permissions and
+14   * limitations under the License.
+15   */
+16  
+17  package org.apache.commons.logging.impl;
+18  
+19  import java.io.InputStream;
+20  import java.io.Serializable;
+21  import java.lang.reflect.InvocationTargetException;
+22  import java.lang.reflect.Method;
+23  import java.security.AccessController;
+24  import java.security.PrivilegedAction;
+25  import java.text.DateFormat;
+26  import java.text.SimpleDateFormat;
+27  import java.util.Date;
+28  import java.util.Properties;
+29  
+30  import org.apache.commons.logging.Log;
+31  import org.apache.commons.logging.LogConfigurationException;
+32  
+33  /**
+34   * <p>
+35   * Simple implementation of Log that sends all enabled log messages, for all
+36   * defined loggers, to System.err. The following system properties are supported
+37   * to configure the behavior of this logger:
+38   * </p>
+39   * <ul>
+40   * <li><code>org.apache.commons.logging.simplelog.defaultlog</code> - Default
+41   * logging detail level for all instances of SimpleLog. Must be one of ("trace",
+42   * "debug", "info", "warn", "error", or "fatal"). If not specified, defaults to
+43   * "info".</li>
+44   * <li><code>org.apache.commons.logging.simplelog.log.xxxxx</code> - Logging
+45   * detail level for a SimpleLog instance named "xxxxx". Must be one of ("trace",
+46   * "debug", "info", "warn", "error", or "fatal"). If not specified, the default
+47   * logging detail level is used.</li>
+48   * <li><code>org.apache.commons.logging.simplelog.showlogname</code> - Set to
+49   * <code>true</code> if you want the Log instance name to be included in output
+50   * messages. Defaults to <code>false</code>.</li>
+51   * <li><code>org.apache.commons.logging.simplelog.showShortLogname</code> - Set
+52   * to <code>true</code> if you want the last component of the name to be
+53   * included in output messages. Defaults to <code>true</code>.</li>
+54   * <li><code>org.apache.commons.logging.simplelog.showdatetime</code> - Set to
+55   * <code>true</code> if you want the current date and time to be included in
+56   * output messages. Default is <code>false</code>.</li>
+57   * <li><code>org.apache.commons.logging.simplelog.dateTimeFormat</code> - The
+58   * date and time format to be used in the output messages. The pattern
+59   * describing the date and time format is the same that is used in
+60   * <code>java.text.SimpleDateFormat</code>. If the format is not specified or is
+61   * invalid, the default format is used. The default format is
+62   * <code>yyyy/MM/dd HH:mm:ss:SSS zzz</code>.</li>
+63   * </ul>
+64   * 
+65   * <p>
+66   * In addition to looking for system properties with the names specified above,
+67   * this implementation also checks for a class loader resource named
+68   * <code>"simplelog.properties"</code>, and includes any matching definitions
+69   * from this resource (if it exists).
+70   * </p>
+71   * 
+72   * @author <a href="mailto:sanders@apache.org">Scott Sanders</a>
+73   * @author Rod Waldhoff
+74   * @author Robert Burrell Donkin
+75   * 
+76   * @version $Id: SimpleLog.java,v 1.21 2004/06/06 20:47:56 rdonkin Exp $
+77   */
+78  public class SimpleLog implements Log, Serializable {
+79  
+80    private static final long serialVersionUID = 136942970684951178L;
+81  
+82    // ------------------------------------------------------- Class Attributes
+83  
+84    /** All system properties used by <code>SimpleLog</code> start with this */
+85    static protected final String systemPrefix = "org.apache.commons.logging.simplelog.";
+86  
+87    /** Properties loaded from simplelog.properties */
+88    static protected final Properties simpleLogProps = new Properties();
+89  
+90    /** The default format to use when formating dates */
+91    static protected final String DEFAULT_DATE_TIME_FORMAT = "yyyy/MM/dd HH:mm:ss:SSS zzz";
+92  
+93    /** Include the instance name in the log message? */
+94    static protected boolean showLogName = false;
+95    /**
+96     * Include the short name ( last component ) of the logger in the log message.
+97     * Defaults to true - otherwise we'll be lost in a flood of messages without
+98     * knowing who sends them.
+99     */
+100   static protected boolean showShortName = true;
+101   /** Include the current time in the log message */
+102   static protected boolean showDateTime = false;
+103   /** The date and time format to use in the log message */
+104   static protected String dateTimeFormat = DEFAULT_DATE_TIME_FORMAT;
+105   /** Used to format times */
+106   static protected DateFormat dateFormatter = null;
+107 
+108   // ---------------------------------------------------- Log Level Constants
+109 
+110   /** "Trace" level logging. */
+111   public static final int LOG_LEVEL_TRACE = 1;
+112   /** "Debug" level logging. */
+113   public static final int LOG_LEVEL_DEBUG = 2;
+114   /** "Info" level logging. */
+115   public static final int LOG_LEVEL_INFO = 3;
+116   /** "Warn" level logging. */
+117   public static final int LOG_LEVEL_WARN = 4;
+118   /** "Error" level logging. */
+119   public static final int LOG_LEVEL_ERROR = 5;
+120   /** "Fatal" level logging. */
+121   public static final int LOG_LEVEL_FATAL = 6;
+122 
+123   /** Enable all logging levels */
+124   public static final int LOG_LEVEL_ALL = (LOG_LEVEL_TRACE - 1);
+125 
+126   /** Enable no logging levels */
+127   public static final int LOG_LEVEL_OFF = (LOG_LEVEL_FATAL + 1);
+128 
+129   // ------------------------------------------------------------ Initializer
+130 
+131   private static String getStringProperty(String name) {
+132     String prop = null;
+133     try {
+134       prop = System.getProperty(name);
+135     } catch (SecurityException e) {
+136       ; // Ignore
+137     }
+138     return (prop == null) ? simpleLogProps.getProperty(name) : prop;
+139   }
+140 
+141   private static String getStringProperty(String name, String dephault) {
+142     String prop = getStringProperty(name);
+143     return (prop == null) ? dephault : prop;
+144   }
+145 
+146   private static boolean getBooleanProperty(String name, boolean dephault) {
+147     String prop = getStringProperty(name);
+148     return (prop == null) ? dephault : "true".equalsIgnoreCase(prop);
+149   }
+150 
+151   // Initialize class attributes.
+152   // Load properties file, if found.
+153   // Override with system properties.
+154   static {
+155     // Add props from the resource simplelog.properties
+156     InputStream in = getResourceAsStream("simplelog.properties");
+157     if (null != in) {
+158       try {
+159         simpleLogProps.load(in);
+160         in.close();
+161       } catch (java.io.IOException e) {
+162         // ignored
+163       }
+164     }
+165 
+166     showLogName = getBooleanProperty(systemPrefix + "showlogname", showLogName);
+167     showShortName = getBooleanProperty(systemPrefix + "showShortLogname",
+168         showShortName);
+169     showDateTime = getBooleanProperty(systemPrefix + "showdatetime",
+170         showDateTime);
+171 
+172     if (showDateTime) {
+173       dateTimeFormat = getStringProperty(systemPrefix + "dateTimeFormat",
+174           dateTimeFormat);
+175       try {
+176         dateFormatter = new SimpleDateFormat(dateTimeFormat);
+177       } catch (IllegalArgumentException e) {
+178         // If the format pattern is invalid - use the default format
+179         dateTimeFormat = DEFAULT_DATE_TIME_FORMAT;
+180         dateFormatter = new SimpleDateFormat(dateTimeFormat);
+181       }
+182     }
+183   }
+184 
+185   // ------------------------------------------------------------- Attributes
+186 
+187   /** The name of this simple log instance */
+188   protected String logName = null;
+189   /** The current log level */
+190   protected int currentLogLevel;
+191   /** The short name of this simple log instance */
+192   private String shortLogName = null;
+193 
+194   // ------------------------------------------------------------ Constructor
+195 
+196   /**
+197    * Construct a simple log with given name.
+198    * 
+199    * @param name
+200    *          log name
+201    */
+202   public SimpleLog(String name) {
+203 
+204     logName = name;
+205 
+206     // Set initial log level
+207     // Used to be: set default log level to ERROR
+208     // IMHO it should be lower, but at least info ( costin ).
+209     setLevel(SimpleLog.LOG_LEVEL_INFO);
+210 
+211     // Set log level from properties
+212     String lvl = getStringProperty(systemPrefix + "log." + logName);
+213     int i = String.valueOf(name).lastIndexOf(".");
+214     while (null == lvl && i > -1) {
+215       name = name.substring(0, i);
+216       lvl = getStringProperty(systemPrefix + "log." + name);
+217       i = String.valueOf(name).lastIndexOf(".");
+218     }
+219 
+220     if (null == lvl) {
+221       lvl = getStringProperty(systemPrefix + "defaultlog");
+222     }
+223 
+224     if ("all".equalsIgnoreCase(lvl)) {
+225       setLevel(SimpleLog.LOG_LEVEL_ALL);
+226     } else if ("trace".equalsIgnoreCase(lvl)) {
+227       setLevel(SimpleLog.LOG_LEVEL_TRACE);
+228     } else if ("debug".equalsIgnoreCase(lvl)) {
+229       setLevel(SimpleLog.LOG_LEVEL_DEBUG);
+230     } else if ("info".equalsIgnoreCase(lvl)) {
+231       setLevel(SimpleLog.LOG_LEVEL_INFO);
+232     } else if ("warn".equalsIgnoreCase(lvl)) {
+233       setLevel(SimpleLog.LOG_LEVEL_WARN);
+234     } else if ("error".equalsIgnoreCase(lvl)) {
+235       setLevel(SimpleLog.LOG_LEVEL_ERROR);
+236     } else if ("fatal".equalsIgnoreCase(lvl)) {
+237       setLevel(SimpleLog.LOG_LEVEL_FATAL);
+238     } else if ("off".equalsIgnoreCase(lvl)) {
+239       setLevel(SimpleLog.LOG_LEVEL_OFF);
+240     }
+241 
+242   }
+243 
+244   // -------------------------------------------------------- Properties
+245 
+246   /**
+247    * <p>
+248    * Set logging level.
+249    * </p>
+250    * 
+251    * @param currentLogLevel
+252    *          new logging level
+253    */
+254   public void setLevel(int currentLogLevel) {
+255 
+256     this.currentLogLevel = currentLogLevel;
+257 
+258   }
+259 
+260   /**
+261    * <p>
+262    * Get logging level.
+263    * </p>
+264    */
+265   public int getLevel() {
+266 
+267     return currentLogLevel;
+268   }
+269 
+270   // -------------------------------------------------------- Logging Methods
+271 
+272   /**
+273    * <p>
+274    * Do the actual logging. This method assembles the message and then calls
+275    * <code>write()</code> to cause it to be written.
+276    * </p>
+277    * 
+278    * @param type
+279    *          One of the LOG_LEVEL_XXX constants defining the log level
+280    * @param message
+281    *          The message itself (typically a String)
+282    * @param t
+283    *          The exception whose stack trace should be logged
+284    */
+285   protected void log(int type, Object message, Throwable t) {
+286     // Use a string buffer for better performance
+287     StringBuffer buf = new StringBuffer();
+288 
+289     // Append date-time if so configured
+290     if (showDateTime) {
+291       buf.append(dateFormatter.format(new Date()));
+292       buf.append(" ");
+293     }
+294 
+295     // Append a readable representation of the log level
+296     switch (type) {
+297     case SimpleLog.LOG_LEVEL_TRACE:
+298       buf.append("[TRACE] ");
+299       break;
+300     case SimpleLog.LOG_LEVEL_DEBUG:
+301       buf.append("[DEBUG] ");
+302       break;
+303     case SimpleLog.LOG_LEVEL_INFO:
+304       buf.append("[INFO] ");
+305       break;
+306     case SimpleLog.LOG_LEVEL_WARN:
+307       buf.append("[WARN] ");
+308       break;
+309     case SimpleLog.LOG_LEVEL_ERROR:
+310       buf.append("[ERROR] ");
+311       break;
+312     case SimpleLog.LOG_LEVEL_FATAL:
+313       buf.append("[FATAL] ");
+314       break;
+315     }
+316 
+317     // Append the name of the log instance if so configured
+318     if (showShortName) {
+319       if (shortLogName == null) {
+320         // Cut all but the last component of the name for both styles
+321         shortLogName = logName.substring(logName.lastIndexOf(".") + 1);
+322         shortLogName = shortLogName
+323             .substring(shortLogName.lastIndexOf("/") + 1);
+324       }
+325       buf.append(String.valueOf(shortLogName)).append(" - ");
+326     } else if (showLogName) {
+327       buf.append(String.valueOf(logName)).append(" - ");
+328     }
+329 
+330     // Append the message
+331     buf.append(String.valueOf(message));
+332 
+333     // Append stack trace if not null
+334     if (t != null) {
+335       buf.append(" <");
+336       buf.append(t.toString());
+337       buf.append(">");
+338 
+339       java.io.StringWriter sw = new java.io.StringWriter(1024);
+340       java.io.PrintWriter pw = new java.io.PrintWriter(sw);
+341       t.printStackTrace(pw);
+342       pw.close();
+343       buf.append(sw.toString());
+344     }
+345 
+346     // Print to the appropriate destination
+347     write(buf);
+348 
+349   }
+350 
+351   /**
+352    * <p>
+353    * Write the content of the message accumulated in the specified
+354    * <code>StringBuffer</code> to the appropriate output destination. The
+355    * default implementation writes to <code>System.err</code>.
+356    * </p>
+357    * 
+358    * @param buffer
+359    *          A <code>StringBuffer</code> containing the accumulated text to be
+360    *          logged
+361    */
+362   protected void write(StringBuffer buffer) {
+363 
+364     System.err.println(buffer.toString());
+365 
+366   }
+367 
+368   /**
+369    * Is the given log level currently enabled?
+370    * 
+371    * @param logLevel
+372    *          is this level enabled?
+373    */
+374   protected boolean isLevelEnabled(int logLevel) {
+375     // log level are numerically ordered so can use simple numeric
+376     // comparison
+377     return (logLevel >= currentLogLevel);
+378   }
+379 
+380   // -------------------------------------------------------- Log Implementation
+381 
+382   /**
+383    * <p>
+384    * Log a message with debug log level.
+385    * </p>
+386    */
+387   public final void debug(Object message) {
+388 
+389     if (isLevelEnabled(SimpleLog.LOG_LEVEL_DEBUG)) {
+390       log(SimpleLog.LOG_LEVEL_DEBUG, message, null);
+391     }
+392   }
+393 
+394   /**
+395    * <p>
+396    * Log an error with debug log level.
+397    * </p>
+398    */
+399   public final void debug(Object message, Throwable t) {
+400 
+401     if (isLevelEnabled(SimpleLog.LOG_LEVEL_DEBUG)) {
+402       log(SimpleLog.LOG_LEVEL_DEBUG, message, t);
+403     }
+404   }
+405 
+406   /**
+407    * <p>
+408    * Log a message with trace log level.
+409    * </p>
+410    */
+411   public final void trace(Object message) {
+412 
+413     if (isLevelEnabled(SimpleLog.LOG_LEVEL_TRACE)) {
+414       log(SimpleLog.LOG_LEVEL_TRACE, message, null);
+415     }
+416   }
+417 
+418   /**
+419    * <p>
+420    * Log an error with trace log level.
+421    * </p>
+422    */
+423   public final void trace(Object message, Throwable t) {
+424 
+425     if (isLevelEnabled(SimpleLog.LOG_LEVEL_TRACE)) {
+426       log(SimpleLog.LOG_LEVEL_TRACE, message, t);
+427     }
+428   }
+429 
+430   /**
+431    * <p>
+432    * Log a message with info log level.
+433    * </p>
+434    */
+435   public final void info(Object message) {
+436 
+437     if (isLevelEnabled(SimpleLog.LOG_LEVEL_INFO)) {
+438       log(SimpleLog.LOG_LEVEL_INFO, message, null);
+439     }
+440   }
+441 
+442   /**
+443    * <p>
+444    * Log an error with info log level.
+445    * </p>
+446    */
+447   public final void info(Object message, Throwable t) {
+448 
+449     if (isLevelEnabled(SimpleLog.LOG_LEVEL_INFO)) {
+450       log(SimpleLog.LOG_LEVEL_INFO, message, t);
+451     }
+452   }
+453 
+454   /**
+455    * <p>
+456    * Log a message with warn log level.
+457    * </p>
+458    */
+459   public final void warn(Object message) {
+460 
+461     if (isLevelEnabled(SimpleLog.LOG_LEVEL_WARN)) {
+462       log(SimpleLog.LOG_LEVEL_WARN, message, null);
+463     }
+464   }
+465 
+466   /**
+467    * <p>
+468    * Log an error with warn log level.
+469    * </p>
+470    */
+471   public final void warn(Object message, Throwable t) {
+472 
+473     if (isLevelEnabled(SimpleLog.LOG_LEVEL_WARN)) {
+474       log(SimpleLog.LOG_LEVEL_WARN, message, t);
+475     }
+476   }
+477 
+478   /**
+479    * <p>
+480    * Log a message with error log level.
+481    * </p>
+482    */
+483   public final void error(Object message) {
+484 
+485     if (isLevelEnabled(SimpleLog.LOG_LEVEL_ERROR)) {
+486       log(SimpleLog.LOG_LEVEL_ERROR, message, null);
+487     }
+488   }
+489 
+490   /**
+491    * <p>
+492    * Log an error with error log level.
+493    * </p>
+494    */
+495   public final void error(Object message, Throwable t) {
+496 
+497     if (isLevelEnabled(SimpleLog.LOG_LEVEL_ERROR)) {
+498       log(SimpleLog.LOG_LEVEL_ERROR, message, t);
+499     }
+500   }
+501 
+502   /**
+503    * <p>
+504    * Log a message with fatal log level.
+505    * </p>
+506    */
+507   public final void fatal(Object message) {
+508 
+509     if (isLevelEnabled(SimpleLog.LOG_LEVEL_FATAL)) {
+510       log(SimpleLog.LOG_LEVEL_FATAL, message, null);
+511     }
+512   }
+513 
+514   /**
+515    * <p>
+516    * Log an error with fatal log level.
+517    * </p>
+518    */
+519   public final void fatal(Object message, Throwable t) {
+520 
+521     if (isLevelEnabled(SimpleLog.LOG_LEVEL_FATAL)) {
+522       log(SimpleLog.LOG_LEVEL_FATAL, message, t);
+523     }
+524   }
+525 
+526   /**
+527    * <p>
+528    * Are debug messages currently enabled?
+529    * </p>
+530    * 
+531    * <p>
+532    * This allows expensive operations such as <code>String</code> concatenation
+533    * to be avoided when the message will be ignored by the logger.
+534    * </p>
+535    */
+536   public final boolean isDebugEnabled() {
+537 
+538     return isLevelEnabled(SimpleLog.LOG_LEVEL_DEBUG);
+539   }
+540 
+541   /**
+542    * <p>
+543    * Are error messages currently enabled?
+544    * </p>
+545    * 
+546    * <p>
+547    * This allows expensive operations such as <code>String</code> concatenation
+548    * to be avoided when the message will be ignored by the logger.
+549    * </p>
+550    */
+551   public final boolean isErrorEnabled() {
+552 
+553     return isLevelEnabled(SimpleLog.LOG_LEVEL_ERROR);
+554   }
+555 
+556   /**
+557    * <p>
+558    * Are fatal messages currently enabled?
+559    * </p>
+560    * 
+561    * <p>
+562    * This allows expensive operations such as <code>String</code> concatenation
+563    * to be avoided when the message will be ignored by the logger.
+564    * </p>
+565    */
+566   public final boolean isFatalEnabled() {
+567 
+568     return isLevelEnabled(SimpleLog.LOG_LEVEL_FATAL);
+569   }
+570 
+571   /**
+572    * <p>
+573    * Are info messages currently enabled?
+574    * </p>
+575    * 
+576    * <p>
+577    * This allows expensive operations such as <code>String</code> concatenation
+578    * to be avoided when the message will be ignored by the logger.
+579    * </p>
+580    */
+581   public final boolean isInfoEnabled() {
+582 
+583     return isLevelEnabled(SimpleLog.LOG_LEVEL_INFO);
+584   }
+585 
+586   /**
+587    * <p>
+588    * Are trace messages currently enabled?
+589    * </p>
+590    * 
+591    * <p>
+592    * This allows expensive operations such as <code>String</code> concatenation
+593    * to be avoided when the message will be ignored by the logger.
+594    * </p>
+595    */
+596   public final boolean isTraceEnabled() {
+597 
+598     return isLevelEnabled(SimpleLog.LOG_LEVEL_TRACE);
+599   }
+600 
+601   /**
+602    * <p>
+603    * Are warn messages currently enabled?
+604    * </p>
+605    * 
+606    * <p>
+607    * This allows expensive operations such as <code>String</code> concatenation
+608    * to be avoided when the message will be ignored by the logger.
+609    * </p>
+610    */
+611   public final boolean isWarnEnabled() {
+612 
+613     return isLevelEnabled(SimpleLog.LOG_LEVEL_WARN);
+614   }
+615 
+616   /**
+617    * Return the thread context class loader if available. Otherwise return null.
+618    * 
+619    * The thread context class loader is available for JDK 1.2 or later, if
+620    * certain security conditions are met.
+621    * 
+622    * @exception LogConfigurationException
+623    *              if a suitable class loader cannot be identified.
+624    */
+625   private static ClassLoader getContextClassLoader() {
+626     ClassLoader classLoader = null;
+627 
+628     if (classLoader == null) {
+629       try {
+630         // Are we running on a JDK 1.2 or later system?
+631         Method method = Thread.class.getMethod("getContextClassLoader", null);
+632 
+633         // Get the thread context class loader (if there is one)
+634         try {
+635           classLoader = (ClassLoader) method.invoke(Thread.currentThread(),
+636               null);
+637         } catch (IllegalAccessException e) {
+638           ; // ignore
+639         } catch (InvocationTargetException e) {
+640           /**
+641            * InvocationTargetException is thrown by 'invoke' when the method
+642            * being invoked (getContextClassLoader) throws an exception.
+643            * 
+644            * getContextClassLoader() throws SecurityException when the context
+645            * class loader isn't an ancestor of the calling class's class loader,
+646            * or if security permissions are restricted.
+647            * 
+648            * In the first case (not related), we want to ignore and keep going.
+649            * We cannot help but also ignore the second with the logic below, but
+650            * other calls elsewhere (to obtain a class loader) will trigger this
+651            * exception where we can make a distinction.
+652            */
+653           if (e.getTargetException() instanceof SecurityException) {
+654             ; // ignore
+655           } else {
+656             // Capture 'e.getTargetException()' exception for details
+657             // alternate: log 'e.getTargetException()', and pass back 'e'.
+658             throw new LogConfigurationException(
+659                 "Unexpected InvocationTargetException", e.getTargetException());
+660           }
+661         }
+662       } catch (NoSuchMethodException e) {
+663         // Assume we are running on JDK 1.1
+664         ; // ignore
+665       }
+666     }
+667 
+668     if (classLoader == null) {
+669       classLoader = SimpleLog.class.getClassLoader();
+670     }
+671 
+672     // Return the selected class loader
+673     return classLoader;
+674   }
+675 
+676   private static InputStream getResourceAsStream(final String name) {
+677     return (InputStream) AccessController.doPrivileged(new PrivilegedAction() {
+678       public Object run() {
+679         ClassLoader threadCL = getContextClassLoader();
+680 
+681         if (threadCL != null) {
+682           return threadCL.getResourceAsStream(name);
+683         } else {
+684           return ClassLoader.getSystemResourceAsStream(name);
+685         }
+686       }
+687     });
+688   }
+689 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/commons/logging/impl/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/commons/logging/impl/package-frame.html new file mode 100644 index 0000000..4ee4105 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/commons/logging/impl/package-frame.html @@ -0,0 +1,36 @@ + + + + + + SLF4J 1.7.5 Reference Package org.apache.commons.logging.impl + + + + +

+ org.apache.commons.logging.impl +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/commons/logging/impl/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/commons/logging/impl/package-summary.html new file mode 100644 index 0000000..a55ae9a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/commons/logging/impl/package-summary.html @@ -0,0 +1,87 @@ + + + + + + SLF4J 1.7.5 Reference Package org.apache.commons.logging.impl + + + +
+ +
+
+ +
+ +

Package org.apache.commons.logging.impl

+ + + + + + + + + + + + + + + + + + + + + + + + +
Class Summary
+ NoOpLog +
+ SLF4JLocationAwareLog +
+ SLF4JLog +
+ SLF4JLogFactory +
+ SimpleLog +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/commons/logging/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/commons/logging/package-frame.html new file mode 100644 index 0000000..dcd9e08 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/commons/logging/package-frame.html @@ -0,0 +1,30 @@ + + + + + + SLF4J 1.7.5 Reference Package org.apache.commons.logging + + + + +

+ org.apache.commons.logging +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/commons/logging/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/commons/logging/package-summary.html new file mode 100644 index 0000000..6c4f463 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/commons/logging/package-summary.html @@ -0,0 +1,77 @@ + + + + + + SLF4J 1.7.5 Reference Package org.apache.commons.logging + + + +
+ +
+
+ +
+ +

Package org.apache.commons.logging

+ + + + + + + + + + + + + + + + + + +
Class Summary
+ Log +
+ LogConfigurationException +
+ LogFactory +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/Appender.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/Appender.html new file mode 100644 index 0000000..862b25f --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/Appender.html @@ -0,0 +1,148 @@ + + + + +Appender xref + + + +
+
+1   /*
+2    * Copyright 2001-2004 The Apache Software Foundation.
+3    *
+4    * Licensed under the Apache License, Version 2.0 (the "License");
+5    * you may not use this file except in compliance with the License.
+6    * You may obtain a copy of the License at
+7    *
+8    *      http://www.apache.org/licenses/LICENSE-2.0
+9    *
+10   * Unless required by applicable law or agreed to in writing, software
+11   * distributed under the License is distributed on an "AS IS" BASIS,
+12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+13   * See the License for the specific language governing permissions and
+14   * limitations under the License.
+15   */
+16  
+17  package org.apache.log4j;
+18  
+19  import org.apache.log4j.spi.Filter;
+20  import org.apache.log4j.spi.ErrorHandler;
+21  import org.apache.log4j.spi.Layout;
+22  import org.apache.log4j.spi.LoggingEvent;
+23  
+24  /**
+25   * Implement this interface for your own strategies for outputting log
+26   * statements.
+27   *
+28   * @author Ceki G&uuml;lc&uuml;
+29   */
+30  public interface Appender {
+31  
+32    /**
+33     * Add a filter to the end of the filter list.
+34     *
+35     * @since 0.9.0
+36     */
+37    void addFilter(Filter newFilter);
+38  
+39    /**
+40     * Returns the head Filter. The Filters are organized in a linked list
+41     * and so all Filters on this Appender are available through the result.
+42     *
+43     * @return the head Filter or null, if no Filters are present
+44     * @since 1.1
+45     */
+46    public Filter getFilter();
+47  
+48    /**
+49     * Clear the list of filters by removing all the filters in it.
+50     *
+51     * @since 0.9.0
+52     */
+53    public void clearFilters();
+54  
+55    /**
+56     * Release any resources allocated within the appender such as file
+57     * handles, network connections, etc.
+58     * <p/>
+59     * <p>It is a programming error to append to a closed appender.
+60     *
+61     * @since 0.8.4
+62     */
+63    public void close();
+64  
+65    /**
+66     * Log in <code>Appender</code> specific way. When appropriate,
+67     * Loggers will call the <code>doAppend</code> method of appender
+68     * implementations in order to log.
+69     */
+70    public void doAppend(LoggingEvent event);
+71  
+72  
+73    /**
+74     * Get the name of this appender. The name uniquely identifies the
+75     * appender.
+76     */
+77    public String getName();
+78  
+79  
+80    /**
+81     * Set the {@link ErrorHandler} for this appender.
+82     *
+83     * @since 0.9.0
+84     */
+85    public void setErrorHandler(ErrorHandler errorHandler);
+86  
+87    /**
+88     * Returns the {@link ErrorHandler} for this appender.
+89     *
+90     * @since 1.1
+91     */
+92    public ErrorHandler getErrorHandler();
+93  
+94    /**
+95     * Set the {@link Layout} for this appender.
+96     *
+97     * @since 0.8.1
+98     */
+99    public void setLayout(Layout layout);
+100 
+101   /**
+102    * Returns this appenders layout.
+103    *
+104    * @since 1.1
+105    */
+106   public Layout getLayout();
+107 
+108 
+109   /**
+110    * Set the name of this appender. The name is used by other
+111    * components to identify this appender.
+112    *
+113    * @since 0.8.1
+114    */
+115   public void setName(String name);
+116 
+117   /**
+118    * Configurators call this method to determine if the appender
+119    * requires a layout. If this method returns <code>true</code>,
+120    * meaning that layout is required, then the configurator will
+121    * configure an layout using the configuration information at its
+122    * disposal.  If this method returns <code>false</code>, meaning that
+123    * a layout is not required, then layout configuration will be
+124    * skipped even if there is available layout configuration
+125    * information at the disposal of the configurator..
+126    * <p/>
+127    * <p>In the rather exceptional case, where the appender
+128    * implementation admits a layout but can also work without it, then
+129    * the appender should return <code>true</code>.
+130    *
+131    * @since 0.8.4
+132    */
+133   public boolean requiresLayout();
+134 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/BasicConfigurator.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/BasicConfigurator.html new file mode 100644 index 0000000..b820da7 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/BasicConfigurator.html @@ -0,0 +1,45 @@ + + + + +BasicConfigurator xref + + + +
+
+1   /*
+2    * Copyright 2001-2004 The Apache Software Foundation.
+3    *
+4    * Licensed under the Apache License, Version 2.0 (the "License");
+5    * you may not use this file except in compliance with the License.
+6    * You may obtain a copy of the License at
+7    *
+8    *      http://www.apache.org/licenses/LICENSE-2.0
+9    *
+10   * Unless required by applicable law or agreed to in writing, software
+11   * distributed under the License is distributed on an "AS IS" BASIS,
+12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+13   * See the License for the specific language governing permissions and
+14   * limitations under the License.
+15   */
+16  
+17  package org.apache.log4j;
+18  
+19  /**
+20   * A minimal (nop) implementation of BasicConfigurator.
+21   */
+22  public class BasicConfigurator {
+23    public static void configure() {
+24    }
+25  
+26    public static void configure(Appender appender) {
+27    }
+28  
+29    public static void resetConfiguration() {
+30    }
+31  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/Category.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/Category.html new file mode 100644 index 0000000..c14d9a7 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/Category.html @@ -0,0 +1,363 @@ + + + + +Category xref + + + +
+
+1   /*
+2    * Copyright 2001-2004 The Apache Software Foundation.
+3    *
+4    * Licensed under the Apache License, Version 2.0 (the "License");
+5    * you may not use this file except in compliance with the License.
+6    * You may obtain a copy of the License at
+7    *
+8    *      http://www.apache.org/licenses/LICENSE-2.0
+9    *
+10   * Unless required by applicable law or agreed to in writing, software
+11   * distributed under the License is distributed on an "AS IS" BASIS,
+12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+13   * See the License for the specific language governing permissions and
+14   * limitations under the License.
+15   */
+16  
+17  package org.apache.log4j;
+18  
+19  import org.apache.log4j.helpers.NullEnumeration;
+20  import org.slf4j.LoggerFactory;
+21  import org.slf4j.Marker;
+22  import org.slf4j.MarkerFactory;
+23  import org.slf4j.spi.LocationAwareLogger;
+24  
+25  import java.util.Enumeration;
+26  
+27  /**
+28   * <p>
+29   * This class is a minimal implementation of the original
+30   * <code>org.apache.log4j.Category</code> class (as found in log4j 1.2) by
+31   * delegation of all calls to a {@link org.slf4j.Logger} instance.
+32   * </p>
+33   *
+34   * <p>
+35   * Log4j's <code>trace</code>, <code>debug()</code>, <code>info()</code>,
+36   * <code>warn()</code>, <code>error()</code> printing methods are directly
+37   * mapped to their SLF4J equivalents. Log4j's <code>fatal()</code> printing
+38   * method is mapped to SLF4J's <code>error()</code> method with a FATAL marker.
+39   *
+40   * @author S&eacute;bastien Pennec
+41   * @author Ceki G&uuml;lc&uuml;
+42   */
+43  public class Category {
+44  
+45    private static final String CATEGORY_FQCN = Category.class.getName();
+46  
+47    private String name;
+48  
+49    protected org.slf4j.Logger slf4jLogger;
+50    private org.slf4j.spi.LocationAwareLogger locationAwareLogger;
+51  
+52    private static Marker FATAL_MARKER = MarkerFactory.getMarker("FATAL");
+53  
+54    Category(String name) {
+55      this.name = name;
+56      slf4jLogger = LoggerFactory.getLogger(name);
+57      if (slf4jLogger instanceof LocationAwareLogger) {
+58        locationAwareLogger = (LocationAwareLogger) slf4jLogger;
+59      }
+60    }
+61  
+62    public static Category getInstance(Class clazz) {
+63      return Log4jLoggerFactory.getLogger(clazz.getName());
+64    }
+65  
+66    public static Category getInstance(String name) {
+67      return Log4jLoggerFactory.getLogger(name);
+68    }
+69  
+70  
+71    /**
+72     * Returns the obvious.
+73     *
+74     * @return
+75     */
+76    public String getName() {
+77      return name;
+78    }
+79  
+80    public Enumeration getAllAppenders() {
+81      return NullEnumeration.getInstance();
+82    }
+83  
+84    /**
+85     * Return the level in effect for this category/logger.
+86     *
+87     * <p>
+88     * The result is computed by simulation.
+89     *
+90     * @return
+91     */
+92    public Level getEffectiveLevel() {
+93      if (slf4jLogger.isTraceEnabled()) {
+94        return Level.TRACE;
+95      }
+96      if (slf4jLogger.isDebugEnabled()) {
+97        return Level.DEBUG;
+98      }
+99      if (slf4jLogger.isInfoEnabled()) {
+100       return Level.INFO;
+101     }
+102     if (slf4jLogger.isWarnEnabled()) {
+103       return Level.WARN;
+104     }
+105     return Level.ERROR;
+106   }
+107 
+108   /**
+109    * Returns the assigned {@link Level}, if any, for this Category. This
+110    * implementation always returns null.
+111    *
+112    * @return Level - the assigned Level, can be <code>null</code>.
+113    */
+114   final public Level getLevel() {
+115     return null;
+116   }
+117 
+118   /**
+119    * @deprecated Please use {@link #getLevel} instead.
+120    */
+121   final public Level getPriority() {
+122     return null;
+123   }
+124 
+125   /**
+126    * Delegates to {@link org.slf4j.Logger#isDebugEnabled} method in SLF4J
+127    */
+128   public boolean isDebugEnabled() {
+129     return slf4jLogger.isDebugEnabled();
+130   }
+131 
+132   /**
+133    * Delegates to {@link org.slf4j.Logger#isInfoEnabled} method in SLF4J
+134    */
+135   public boolean isInfoEnabled() {
+136     return slf4jLogger.isInfoEnabled();
+137   }
+138 
+139   /**
+140    * Delegates tob {@link org.slf4j.Logger#isWarnEnabled} method in SLF4J
+141    */
+142   public boolean isWarnEnabled() {
+143     return slf4jLogger.isWarnEnabled();
+144   }
+145 
+146   /**
+147    * Delegates to {@link org.slf4j.Logger#isErrorEnabled} method in SLF4J
+148    */
+149   public boolean isErrorEnabled() {
+150     return slf4jLogger.isErrorEnabled();
+151   }
+152 
+153   /**
+154    * Determines whether the priority passed as parameter is enabled in the
+155    * underlying SLF4J logger. Each log4j priority is mapped directly to its
+156    * SLF4J equivalent, except for FATAL which is mapped as ERROR.
+157    *
+158    * @param p
+159    *          the priority to check against
+160    * @return true if this logger is enabled for the given level, false
+161    *         otherwise.
+162    */
+163   public boolean isEnabledFor(Priority p) {
+164     switch (p.level) {
+165     case Level.TRACE_INT:
+166       return slf4jLogger.isTraceEnabled();
+167     case Level.DEBUG_INT:
+168       return slf4jLogger.isDebugEnabled();
+169     case Level.INFO_INT:
+170       return slf4jLogger.isInfoEnabled();
+171     case Level.WARN_INT:
+172       return slf4jLogger.isWarnEnabled();
+173     case Level.ERROR_INT:
+174       return slf4jLogger.isErrorEnabled();
+175     case Priority.FATAL_INT:
+176       return slf4jLogger.isErrorEnabled();
+177     }
+178     return false;
+179   }
+180 
+181   void differentiatedLog(Marker marker, String fqcn, int level, Object message,
+182       Throwable t) {
+183 
+184     String m = convertToString(message);
+185     if (locationAwareLogger != null) {
+186       locationAwareLogger.log(marker, fqcn, level, m, null, t);
+187     } else {
+188       switch (level) {
+189       case LocationAwareLogger.TRACE_INT:
+190         slf4jLogger.trace(marker, m);
+191         break;
+192       case LocationAwareLogger.DEBUG_INT:
+193         slf4jLogger.debug(marker, m);
+194         break;
+195       case LocationAwareLogger.INFO_INT:
+196         slf4jLogger.info(marker, m);
+197         break;
+198       case LocationAwareLogger.WARN_INT:
+199         slf4jLogger.warn(marker, m);
+200         break;
+201       case LocationAwareLogger.ERROR_INT:
+202         slf4jLogger.error(marker, m);
+203         break;
+204       }
+205     }
+206   }
+207 
+208   /**
+209    * Delegates to {@link org.slf4j.Logger#debug(String)} method of SLF4J.
+210    */
+211   public void debug(Object message) {
+212     differentiatedLog(null, CATEGORY_FQCN, LocationAwareLogger.DEBUG_INT,
+213         message, null);
+214   }
+215 
+216   /**
+217    * Delegates to {@link org.slf4j.Logger#debug(String,Throwable)} method in
+218    * SLF4J.
+219    */
+220   public void debug(Object message, Throwable t) {
+221     differentiatedLog(null, CATEGORY_FQCN, LocationAwareLogger.DEBUG_INT,
+222         message, t);
+223   }
+224 
+225   /**
+226    * Delegates to {@link org.slf4j.Logger#info(String)} method in SLF4J.
+227    */
+228   public void info(Object message) {
+229     differentiatedLog(null, CATEGORY_FQCN, LocationAwareLogger.INFO_INT,
+230         message, null);
+231   }
+232 
+233   /**
+234    * Delegates to {@link org.slf4j.Logger#info(String,Throwable)} method in
+235    * SLF4J.
+236    */
+237   public void info(Object message, Throwable t) {
+238     differentiatedLog(null, CATEGORY_FQCN, LocationAwareLogger.INFO_INT,
+239         message, t);
+240   }
+241 
+242   /**
+243    * Delegates to {@link org.slf4j.Logger#warn(String)} method in SLF4J.
+244    */
+245   public void warn(Object message) {
+246     differentiatedLog(null, CATEGORY_FQCN, LocationAwareLogger.WARN_INT,
+247         message, null);
+248   }
+249 
+250   /**
+251    * Delegates to {@link org.slf4j.Logger#warn(String,Throwable)} method in
+252    * SLF4J.
+253    */
+254   public void warn(Object message, Throwable t) {
+255     differentiatedLog(null, CATEGORY_FQCN, LocationAwareLogger.WARN_INT,
+256         message, t);
+257   }
+258 
+259   /**
+260    * Delegates to {@link org.slf4j.Logger#error(String)} method in SLF4J.
+261    */
+262   public void error(Object message) {
+263     differentiatedLog(null, CATEGORY_FQCN, LocationAwareLogger.ERROR_INT,
+264         message, null);
+265   }
+266 
+267   /**
+268    * Delegates to {@link org.slf4j.Logger#error(String,Throwable)} method in
+269    * SLF4J.
+270    */
+271   public void error(Object message, Throwable t) {
+272     differentiatedLog(null, CATEGORY_FQCN, LocationAwareLogger.ERROR_INT,
+273         message, t);
+274   }
+275 
+276   /**
+277    * Delegates to {@link org.slf4j.Logger#error(String)} method in SLF4J.
+278    */
+279   public void fatal(Object message) {
+280     differentiatedLog(FATAL_MARKER, CATEGORY_FQCN,
+281         LocationAwareLogger.ERROR_INT, message, null);
+282   }
+283 
+284   /**
+285    * Delegates to {@link org.slf4j.Logger#error(String,Throwable)} method in
+286    * SLF4J. In addition, the call is marked with a marker named "FATAL".
+287    */
+288   public void fatal(Object message, Throwable t) {
+289     differentiatedLog(FATAL_MARKER, CATEGORY_FQCN,
+290         LocationAwareLogger.ERROR_INT, message, t);
+291   }
+292 
+293   protected void forcedLog(String FQCN, Priority p, Object msg, Throwable t) {
+294 	  log(FQCN, p, msg, t);
+295   }
+296 
+297   // See also http://bugzilla.slf4j.org/show_bug.cgi?id=168
+298   public void log(String FQCN, Priority p, Object msg, Throwable t) {
+299     int levelInt = priorityToLevelInt(p);
+300     differentiatedLog(null, FQCN, levelInt, msg, t);
+301   }
+302 
+303   public void log(Priority p, Object message, Throwable t) {
+304     int levelInt = priorityToLevelInt(p);
+305     differentiatedLog(null, CATEGORY_FQCN, levelInt, message, t);
+306   }
+307 
+308   public void log(Priority p, Object message) {
+309     int levelInt = priorityToLevelInt(p);
+310     differentiatedLog(null, CATEGORY_FQCN, levelInt, message, null);
+311   }
+312 
+313   private int priorityToLevelInt(Priority p) {
+314     switch (p.level) {
+315     case Level.TRACE_INT:
+316     case Level.X_TRACE_INT:
+317       return LocationAwareLogger.TRACE_INT;
+318     case Priority.DEBUG_INT:
+319       return LocationAwareLogger.DEBUG_INT;
+320     case Priority.INFO_INT:
+321       return LocationAwareLogger.INFO_INT;
+322     case Priority.WARN_INT:
+323       return LocationAwareLogger.WARN_INT;
+324     case Priority.ERROR_INT:
+325       return LocationAwareLogger.ERROR_INT;
+326     case Priority.FATAL_INT:
+327       return LocationAwareLogger.ERROR_INT;
+328     default:
+329       throw new IllegalStateException("Unknown Priority " + p);
+330     }
+331   }
+332 
+333   protected final String convertToString(Object message) {
+334     if (message == null) {
+335       return (String) message;
+336     } else {
+337       return message.toString();
+338     }
+339   }
+340 
+341   public void setAdditivity(boolean additive) {
+342     // nothing to do
+343   }
+344   
+345   public void addAppender(Appender newAppender) {
+346     // nothing to do
+347   }
+348 
+349 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/Layout.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/Layout.html new file mode 100644 index 0000000..2ec273c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/Layout.html @@ -0,0 +1,41 @@ + + + + +Layout xref + + + +
+
+1   /*
+2    * Copyright 2001-2004 The Apache Software Foundation.
+3    *
+4    * Licensed under the Apache License, Version 2.0 (the "License");
+5    * you may not use this file except in compliance with the License.
+6    * You may obtain a copy of the License at
+7    *
+8    *      http://www.apache.org/licenses/LICENSE-2.0
+9    *
+10   * Unless required by applicable law or agreed to in writing, software
+11   * distributed under the License is distributed on an "AS IS" BASIS,
+12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+13   * See the License for the specific language governing permissions and
+14   * limitations under the License.
+15   */
+16  
+17  // Contributors:  Christian Trutz <christian.trutz@belaso.de>
+18  package org.apache.log4j;
+19  
+20  /**
+21   * This class is a minimal implementation of the original Log4J class.
+22   * 
+23   * @author Christian Trutz <christian.trutz@belaso.de>
+24   * */
+25  public class Layout {
+26  
+27  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/Level.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/Level.html new file mode 100644 index 0000000..223a75e --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/Level.html @@ -0,0 +1,235 @@ + + + + +Level xref + + + +
+
+1   /*
+2    * Copyright 2001-2004 The Apache Software Foundation.
+3    *
+4    * Licensed under the Apache License, Version 2.0 (the "License");
+5    * you may not use this file except in compliance with the License.
+6    * You may obtain a copy of the License at
+7    *
+8    *      http://www.apache.org/licenses/LICENSE-2.0
+9    *
+10   * Unless required by applicable law or agreed to in writing, software
+11   * distributed under the License is distributed on an "AS IS" BASIS,
+12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+13   * See the License for the specific language governing permissions and
+14   * limitations under the License.
+15   */
+16  
+17  // Contributors:  Kitching Simon <Simon.Kitching@orange.ch>
+18  //                Nicholas Wolff
+19  
+20  package org.apache.log4j;
+21  import java.io.IOException;
+22  import java.io.ObjectInputStream;
+23  import java.io.ObjectOutputStream;
+24  import java.io.ObjectStreamException;
+25  import java.io.Serializable;
+26  
+27  /**
+28     Defines the minimum set of levels recognized by the system, that is
+29     <code>OFF</code>, <code>FATAL</code>, <code>ERROR</code>,
+30     <code>WARN</code>, <code>INFO</code>, <code>DEBUG</code> and
+31     <code>ALL</code>.
+32  
+33     <p>The <code>Level</code> class may be subclassed to define a larger
+34     level set.
+35  
+36     @author Ceki G&uuml;lc&uuml;
+37  
+38   */
+39  public class Level extends Priority implements Serializable {
+40  
+41     /**
+42      * TRACE level integer value.
+43      * @since 1.2.12
+44      */
+45    public static final int TRACE_INT = 5000;
+46  
+47    // match jboss' xlevel
+48    public static final int X_TRACE_INT = DEBUG_INT - 100;
+49  
+50    /**
+51       The <code>OFF</code> has the highest possible rank and is
+52       intended to turn off logging.  */
+53    final static public Level OFF = new Level(OFF_INT, "OFF", 0);
+54  
+55    /**
+56       The <code>FATAL</code> level designates very severe error
+57       events that will presumably lead the application to abort.
+58     */
+59    final static public Level FATAL = new Level(FATAL_INT, "FATAL", 0);
+60  
+61    /**
+62       The <code>ERROR</code> level designates error events that
+63       might still allow the application to continue running.  */
+64    final static public Level ERROR = new Level(ERROR_INT, "ERROR", 3);
+65  
+66    /**
+67       The <code>WARN</code> level designates potentially harmful situations.
+68    */
+69    final static public Level WARN  = new Level(WARN_INT, "WARN",  4);
+70  
+71    /**
+72       The <code>INFO</code> level designates informational messages
+73       that highlight the progress of the application at coarse-grained
+74       level.  */
+75    final static public Level INFO  = new Level(INFO_INT, "INFO",  6);
+76  
+77    /**
+78       The <code>DEBUG</code> Level designates fine-grained
+79       informational events that are most useful to debug an
+80       application.  */
+81    final static public Level DEBUG = new Level(DEBUG_INT, "DEBUG", 7);
+82  
+83    /**
+84      * The <code>TRACE</code> Level designates finer-grained
+85      * informational events than the <code>DEBUG</code level.
+86     *  @since 1.2.12
+87      */
+88    public static final Level TRACE = new Level(TRACE_INT, "TRACE", 7);
+89  
+90  
+91    /**
+92       The <code>ALL</code> has the lowest possible rank and is intended to
+93       turn on all logging.  */
+94    final static public Level ALL = new Level(ALL_INT, "ALL", 7);
+95  
+96    /**
+97     * Serialization version id.
+98     */
+99    static final long serialVersionUID = 3491141966387921974L;
+100 
+101   /**
+102      Instantiate a Level object.
+103    */
+104   protected
+105   Level(int level, String levelStr, int syslogEquivalent) {
+106     super(level, levelStr, syslogEquivalent);
+107   }
+108 
+109 
+110   /**
+111      Convert the string passed as argument to a level. If the
+112      conversion fails, then this method returns {@link #DEBUG}. 
+113   */
+114   public
+115   static
+116   Level toLevel(String sArg) {
+117     return (Level) toLevel(sArg, Level.DEBUG);
+118   }
+119 
+120   /**
+121     Convert an integer passed as argument to a level. If the
+122     conversion fails, then this method returns {@link #DEBUG}.
+123 
+124   */
+125   public
+126   static
+127   Level toLevel(int val) {
+128     return (Level) toLevel(val, Level.DEBUG);
+129   }
+130 
+131   /**
+132     Convert an integer passed as argument to a level. If the
+133     conversion fails, then this method returns the specified default.
+134   */
+135   public
+136   static
+137   Level toLevel(int val, Level defaultLevel) {
+138     switch(val) {
+139     case ALL_INT: return ALL;
+140     case DEBUG_INT: return Level.DEBUG;
+141     case INFO_INT: return Level.INFO;
+142     case WARN_INT: return Level.WARN;
+143     case ERROR_INT: return Level.ERROR;
+144     case FATAL_INT: return Level.FATAL;
+145     case OFF_INT: return OFF;
+146     case TRACE_INT: return Level.TRACE;
+147     default: return defaultLevel;
+148     }
+149   }
+150 
+151   /**
+152      Convert the string passed as argument to a level. If the
+153      conversion fails, then this method returns the value of
+154      <code>defaultLevel</code>.  
+155   */
+156   public
+157   static
+158   Level toLevel(String sArg, Level defaultLevel) {                  
+159     if(sArg == null)
+160        return defaultLevel;
+161     
+162     String s = sArg.toUpperCase();
+163 
+164     if(s.equals("ALL")) return Level.ALL; 
+165     if(s.equals("DEBUG")) return Level.DEBUG; 
+166     if(s.equals("INFO"))  return Level.INFO;
+167     if(s.equals("WARN"))  return Level.WARN;  
+168     if(s.equals("ERROR")) return Level.ERROR;
+169     if(s.equals("FATAL")) return Level.FATAL;
+170     if(s.equals("OFF")) return Level.OFF;
+171     if(s.equals("TRACE")) return Level.TRACE;
+172     return defaultLevel;
+173   }
+174 
+175     /**
+176      * Custom deserialization of Level.
+177      * @param s serialization stream.
+178      * @throws IOException if IO exception.
+179      * @throws ClassNotFoundException if class not found.
+180      */
+181     private void readObject(final ObjectInputStream s) throws IOException, ClassNotFoundException {
+182       s.defaultReadObject();
+183       level = s.readInt();
+184       syslogEquivalent = s.readInt();
+185       levelStr = s.readUTF();
+186       if (levelStr == null) {
+187           levelStr = "";
+188       }
+189     }
+190 
+191     /**
+192      * Serialize level.
+193      * @param s serialization stream.
+194      * @throws IOException if exception during serialization.
+195      */
+196     private void writeObject(final ObjectOutputStream s) throws IOException {
+197         s.defaultWriteObject();
+198         s.writeInt(level);
+199         s.writeInt(syslogEquivalent);
+200         s.writeUTF(levelStr);
+201     }
+202 
+203     /**
+204      * Resolved deserialized level to one of the stock instances.
+205      * May be overriden in classes derived from Level.
+206      * @return resolved object.
+207      * @throws ObjectStreamException if exception during resolution.
+208      */
+209     private Object readResolve() throws ObjectStreamException {
+210         //
+211         //  if the deserizalized object is exactly an instance of Level
+212         //
+213         if (getClass() == Level.class) {
+214             return toLevel(level);
+215         }
+216         //
+217         //   extension of Level can't substitute stock item
+218         //
+219         return this;
+220     }
+221 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/Log4jLoggerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/Log4jLoggerFactory.html new file mode 100644 index 0000000..7c325bf --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/Log4jLoggerFactory.html @@ -0,0 +1,92 @@ + + + + +Log4jLoggerFactory xref + + + +
+
+1   /*
+2    * Copyright 2001-2004 The Apache Software Foundation.
+3    *
+4    * Licensed under the Apache License, Version 2.0 (the "License");
+5    * you may not use this file except in compliance with the License.
+6    * You may obtain a copy of the License at
+7    *
+8    *      http://www.apache.org/licenses/LICENSE-2.0
+9    *
+10   * Unless required by applicable law or agreed to in writing, software
+11   * distributed under the License is distributed on an "AS IS" BASIS,
+12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+13   * See the License for the specific language governing permissions and
+14   * limitations under the License.
+15   */
+16  
+17  package org.apache.log4j;
+18  
+19  import org.apache.log4j.spi.LoggerFactory;
+20  import org.slf4j.helpers.Util;
+21  
+22  import java.util.concurrent.ConcurrentHashMap;
+23  import java.util.concurrent.ConcurrentMap;
+24  
+25  /**
+26   * This class is a factory that creates and maintains org.apache.log4j.Loggers
+27   * wrapping org.slf4j.Loggers.
+28   *
+29   * It keeps a hashtable of all created org.apache.log4j.Logger instances so that
+30   * all newly created instances are not duplicates of existing loggers.
+31   *
+32   * @author S&eacute;bastien Pennec
+33   */
+34  class Log4jLoggerFactory {
+35  
+36    // String, Logger
+37    private static ConcurrentMap<String, Logger> log4jLoggers = new ConcurrentHashMap<String, Logger>();
+38  
+39    private static final String LOG4J_DELEGATION_LOOP_URL = "http://www.slf4j.org/codes.html#log4jDelegationLoop";
+40  
+41    // check for delegation loops
+42    static {
+43      try {
+44        Class.forName("org.slf4j.impl.Log4jLoggerFactory");
+45        String part1 = "Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, preempting StackOverflowError. ";
+46        String part2 = "See also " + LOG4J_DELEGATION_LOOP_URL
+47                + " for more details.";
+48  
+49        Util.report(part1);
+50        Util.report(part2);
+51        throw new IllegalStateException(part1 + part2);
+52      } catch (ClassNotFoundException e) {
+53        // this is the good case
+54      }
+55    }
+56  
+57    public static Logger getLogger(String name) {
+58      org.apache.log4j.Logger instance = log4jLoggers.get(name);
+59      if (instance != null) {
+60        return instance;
+61      } else {
+62        Logger newInstance = new Logger(name);
+63        Logger oldInstance = log4jLoggers.putIfAbsent(name, newInstance);
+64        return oldInstance == null ? newInstance : oldInstance;
+65      }
+66    }
+67  
+68    public static Logger getLogger(String name, LoggerFactory loggerFactory) {
+69      org.apache.log4j.Logger instance = log4jLoggers.get(name);
+70      if (instance != null) {
+71        return instance;
+72      } else {
+73        Logger newInstance = loggerFactory.makeNewLoggerInstance(name);
+74        Logger oldInstance = log4jLoggers.putIfAbsent(name, newInstance);
+75        return oldInstance == null ? newInstance : oldInstance;
+76      }
+77    }
+78  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/LogManager.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/LogManager.html new file mode 100644 index 0000000..4ae5211 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/LogManager.html @@ -0,0 +1,100 @@ + + + + +LogManager xref + + + +
+
+1   /*
+2    * Copyright 2001-2004 The Apache Software Foundation.
+3    *
+4    * Licensed under the Apache License, Version 2.0 (the "License");
+5    * you may not use this file except in compliance with the License.
+6    * You may obtain a copy of the License at
+7    *
+8    *      http://www.apache.org/licenses/LICENSE-2.0
+9    *
+10   * Unless required by applicable law or agreed to in writing, software
+11   * distributed under the License is distributed on an "AS IS" BASIS,
+12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+13   * See the License for the specific language governing permissions and
+14   * limitations under the License.
+15   */
+16  
+17  package org.apache.log4j;
+18  
+19  import org.apache.log4j.spi.LoggerFactory;
+20  
+21  import java.util.Enumeration;
+22  import java.util.Vector;
+23  
+24  /**
+25   * <p/>
+26   * This class is a minimal implementation of the original
+27   * <code>org.apache.log4j.LogManager</code> class (as found in log4j 1.2)
+28   * delegating all calls to SLF4J.
+29   * <p/>
+30   * <p/>
+31   * This implementation does <b>NOT</b> implement the setRepositorySelector(),
+32   * getLoggerRepository(), exists(), getCurrentLoggers(), shutdown() and
+33   * resetConfiguration() methods which do not have SLF4J equivalents.
+34   *
+35   * @author Ceki G&uuml;lc&uuml;
+36   */
+37  public class LogManager {
+38  
+39    public static Logger getRootLogger() {
+40      return Log4jLoggerFactory.getLogger(org.slf4j.Logger.ROOT_LOGGER_NAME);
+41    }
+42  
+43    public static Logger getLogger(final String name) {
+44      return Log4jLoggerFactory.getLogger(name);
+45    }
+46  
+47    public static Logger getLogger(final Class clazz) {
+48      return Log4jLoggerFactory.getLogger(clazz.getName());
+49    }
+50  
+51    /**
+52     * Returns a logger instance created by loggerFactory. This method was requested in
+53     * <a href="http://bugzilla.slf4j.org/show_bug.cgi?id=234">bug #234</a>. Note that
+54     * log4j-over-slf4j does not ship with a LoggerFactory implementation. If this
+55     * method is called, the caller must provide his/her own implementation.
+56     *
+57     * @param name          the name of the desired logger
+58     * @param loggerFactory an instance of {@link LoggerFactory}
+59     * @return returns a logger instance created by loggerFactory
+60     * @since 1.6.6
+61     */
+62    public static Logger getLogger(String name, LoggerFactory loggerFactory) {
+63      return loggerFactory.makeNewLoggerInstance(name);
+64    }
+65  
+66    /**
+67     * This bogus implementation returns an empty enumeration.
+68     *
+69     * @return
+70     */
+71    public static Enumeration getCurrentLoggers() {
+72      return new Vector().elements();
+73    }
+74  
+75    /**
+76     * Implemented as NOP.
+77     */
+78    public static void shutdown() {
+79    }
+80  
+81    /**
+82     * Implemented as NOP.
+83     */
+84    public static void resetConfiguration() {
+85    }
+86  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/Logger.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/Logger.html new file mode 100644 index 0000000..28e163f --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/Logger.html @@ -0,0 +1,98 @@ + + + + +Logger xref + + + +
+
+1   /*
+2    * Copyright 2001-2004 The Apache Software Foundation.
+3    *
+4    * Licensed under the Apache License, Version 2.0 (the "License");
+5    * you may not use this file except in compliance with the License.
+6    * You may obtain a copy of the License at
+7    *
+8    *      http://www.apache.org/licenses/LICENSE-2.0
+9    *
+10   * Unless required by applicable law or agreed to in writing, software
+11   * distributed under the License is distributed on an "AS IS" BASIS,
+12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+13   * See the License for the specific language governing permissions and
+14   * limitations under the License.
+15   */
+16  
+17  package org.apache.log4j;
+18  
+19  import org.apache.log4j.spi.LoggerFactory;
+20  import org.slf4j.spi.LocationAwareLogger;
+21  
+22  /**
+23   * <p>
+24   * This class is a minimal implementation of the original
+25   * <code>org.apache.log4j.Logger</code> class (as found in log4j 1.2) 
+26   * delegating all calls to a {@link org.slf4j.Logger} instance.
+27   * </p>
+28   *
+29   * @author Ceki G&uuml;lc&uuml; 
+30   * */
+31  public class Logger extends Category {
+32    
+33    private static final String LOGGER_FQCN = Logger.class.getName();
+34    
+35    protected Logger(String name) {
+36      super(name);
+37    }
+38  
+39    public static Logger getLogger(String name) {
+40      return Log4jLoggerFactory.getLogger(name);
+41    }
+42  
+43    public static Logger getLogger(String name, LoggerFactory loggerFactory) {
+44      return Log4jLoggerFactory.getLogger(name,loggerFactory);
+45    }
+46  
+47    public static Logger getLogger(Class clazz) {
+48      return getLogger(clazz.getName());
+49    }
+50    
+51    /**
+52     * Does the obvious.
+53     * 
+54     * @return
+55     */
+56    public static Logger getRootLogger() {
+57      return Log4jLoggerFactory.getLogger(org.slf4j.Logger.ROOT_LOGGER_NAME);
+58    }
+59  
+60    
+61    /**
+62     * Delegates to {@link org.slf4j.Logger#isTraceEnabled} 
+63     * method of SLF4J.
+64     */
+65    public boolean isTraceEnabled() {
+66      return slf4jLogger.isTraceEnabled();
+67    }
+68    
+69    /**
+70     * Delegates to {@link org.slf4j.Logger#trace(String)} method in SLF4J.
+71     */
+72    public void trace(Object message) {
+73      differentiatedLog(null, LOGGER_FQCN, LocationAwareLogger.TRACE_INT, message, null);
+74    }
+75  
+76    /**
+77     * Delegates to {@link org.slf4j.Logger#trace(String,Throwable)} 
+78     * method in SLF4J.
+79     */
+80    public void trace(Object message, Throwable t) {
+81      differentiatedLog(null, LOGGER_FQCN, LocationAwareLogger.TRACE_INT, message, null);
+82    }
+83  
+84  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/MDC.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/MDC.html new file mode 100644 index 0000000..77dd157 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/MDC.html @@ -0,0 +1,58 @@ + + + + +MDC xref + + + +
+
+1   /*
+2    * Copyright 2001-2004 The Apache Software Foundation.
+3    *
+4    * Licensed under the Apache License, Version 2.0 (the "License");
+5    * you may not use this file except in compliance with the License.
+6    * You may obtain a copy of the License at
+7    *
+8    *      http://www.apache.org/licenses/LICENSE-2.0
+9    *
+10   * Unless required by applicable law or agreed to in writing, software
+11   * distributed under the License is distributed on an "AS IS" BASIS,
+12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+13   * See the License for the specific language governing permissions and
+14   * limitations under the License.
+15   */
+16  
+17  package org.apache.log4j;
+18  
+19  public class MDC {
+20  
+21    public static void put(String key, String value) {
+22      org.slf4j.MDC.put(key, value);
+23    }
+24    
+25    public static void put(String key, Object value) {
+26      if (value != null) {
+27        put(key, value.toString());
+28      } else {
+29        put(key, null);
+30      }
+31    }
+32    
+33    public static Object get(String key) {
+34      return org.slf4j.MDC.get(key);
+35    }
+36    
+37    public static void remove(String key) {
+38      org.slf4j.MDC.remove(key);
+39    }
+40    
+41    public static void clear() {
+42      org.slf4j.MDC.clear();
+43    }
+44  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/NDC.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/NDC.html new file mode 100644 index 0000000..8081daf --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/NDC.html @@ -0,0 +1,114 @@ + + + + +NDC xref + + + +
+
+1   /*
+2    * Copyright 2001-2004 The Apache Software Foundation.
+3    *
+4    * Licensed under the Apache License, Version 2.0 (the "License");
+5    * you may not use this file except in compliance with the License.
+6    * You may obtain a copy of the License at
+7    *
+8    *      http://www.apache.org/licenses/LICENSE-2.0
+9    *
+10   * Unless required by applicable law or agreed to in writing, software
+11   * distributed under the License is distributed on an "AS IS" BASIS,
+12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+13   * See the License for the specific language governing permissions and
+14   * limitations under the License.
+15   */
+16  
+17  package org.apache.log4j;
+18  
+19  import org.slf4j.MDC;
+20  
+21  import java.util.Stack;
+22  
+23  /**
+24   * A log4j's NDC implemented in terms of SLF4J MDC primitives.
+25   *
+26   * @since SLF4J 1.6.0
+27   */
+28  
+29  public class NDC {
+30  
+31    public final static String PREFIX = "NDC";
+32  
+33    public static void clear() {
+34      int depth = getDepth();
+35      for (int i = 0; i < depth; i++) {
+36        String key = PREFIX + i;
+37        MDC.remove(key);
+38      }
+39    }
+40  
+41    public static Stack cloneStack() {
+42      return null;
+43    }
+44  
+45    public static void inherit(Stack stack) {
+46    }
+47  
+48    static public String get() {
+49      return null;
+50    }
+51  
+52    public static int getDepth() {
+53      int i = 0;
+54      while (true) {
+55        String val = MDC.get(PREFIX + i);
+56        if (val != null) {
+57          i++;
+58        } else {
+59          break;
+60        }
+61      }
+62      return i;
+63    }
+64  
+65    public static String pop() {
+66      int next = getDepth();
+67      if (next == 0) {
+68        return "";
+69      }
+70      int last = next - 1;
+71      String key = PREFIX + last;
+72      String val = MDC.get(key);
+73      MDC.remove(key);
+74      return val;
+75    }
+76  
+77    public static String peek() {
+78      int next = getDepth();
+79      if (next == 0) {
+80        return "";
+81      }
+82      int last = next - 1;
+83      String key = PREFIX + last;
+84      String val = MDC.get(key);
+85      return val;
+86    }
+87  
+88    public static void push(String message) {
+89      int next = getDepth();
+90      MDC.put(PREFIX + next, message);
+91    }
+92  
+93    static public void remove() {
+94      clear();
+95    }
+96  
+97    static public void setMaxDepth(int maxDepth) {
+98    }
+99  
+100 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/PatternLayout.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/PatternLayout.html new file mode 100644 index 0000000..cc60282 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/PatternLayout.html @@ -0,0 +1,49 @@ + + + + +PatternLayout xref + + + +
+
+1   /*
+2    * Copyright 2001-2004 The Apache Software Foundation.
+3    *
+4    * Licensed under the Apache License, Version 2.0 (the "License");
+5    * you may not use this file except in compliance with the License.
+6    * You may obtain a copy of the License at
+7    *
+8    *      http://www.apache.org/licenses/LICENSE-2.0
+9    *
+10   * Unless required by applicable law or agreed to in writing, software
+11   * distributed under the License is distributed on an "AS IS" BASIS,
+12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+13   * See the License for the specific language governing permissions and
+14   * limitations under the License.
+15   */
+16  
+17  // Contributors:  Christian Trutz <christian.trutz@belaso.de>
+18  package org.apache.log4j;
+19  
+20  /**
+21   * This class is a minimal implementation of the original Log4J class.
+22   * 
+23   * @author Christian Trutz <christian.trutz@belaso.de>
+24   * */
+25  public class PatternLayout extends Layout {
+26  
+27    public PatternLayout() {
+28      super();
+29    }
+30  
+31    public PatternLayout(String pattern) {
+32      super();
+33    }
+34  
+35  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/Priority.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/Priority.html new file mode 100644 index 0000000..91c03be --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/Priority.html @@ -0,0 +1,208 @@ + + + + +Priority xref + + + +
+
+1   /*
+2    * Copyright 2001-2004 The Apache Software Foundation.
+3    *
+4    * Licensed under the Apache License, Version 2.0 (the "License");
+5    * you may not use this file except in compliance with the License.
+6    * You may obtain a copy of the License at
+7    *
+8    *      http://www.apache.org/licenses/LICENSE-2.0
+9    *
+10   * Unless required by applicable law or agreed to in writing, software
+11   * distributed under the License is distributed on an "AS IS" BASIS,
+12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+13   * See the License for the specific language governing permissions and
+14   * limitations under the License.
+15   */
+16  
+17  // Contributors:  Kitching Simon <Simon.Kitching@orange.ch>
+18  
+19  package org.apache.log4j;
+20  
+21  // Contributors:  Kitching Simon <Simon.Kitching@OOOrange.ch>
+22  
+23  /**
+24     <font color="#AA4444">Refrain from using this class directly, use
+25     the {@link Level} class instead</font>.
+26  
+27     @author Ceki G&uuml;lc&uuml; */
+28  public class Priority {
+29  
+30    transient int level;
+31    transient String levelStr;
+32    transient int syslogEquivalent;
+33  
+34    public final static int OFF_INT = Integer.MAX_VALUE;
+35    public final static int FATAL_INT = 50000;
+36    public final static int ERROR_INT = 40000;
+37    public final static int WARN_INT  = 30000;
+38    public final static int INFO_INT  = 20000;
+39    public final static int DEBUG_INT = 10000;
+40      //public final static int FINE_INT = DEBUG_INT;
+41    public final static int ALL_INT = Integer.MIN_VALUE;
+42  
+43    /**
+44     * @deprecated Use {@link Level#FATAL} instead.
+45     */
+46    final static public Priority FATAL = new Level(FATAL_INT, "FATAL", 0);
+47  
+48    /**
+49     * @deprecated Use {@link Level#ERROR} instead.
+50     */
+51    final static public Priority ERROR = new Level(ERROR_INT, "ERROR", 3);
+52  
+53    /**
+54     * @deprecated Use {@link Level#WARN} instead.
+55     */
+56    final static public Priority WARN  = new Level(WARN_INT, "WARN",  4);
+57  
+58    /**
+59     * @deprecated Use {@link Level#INFO} instead.
+60     */
+61    final static public Priority INFO  = new Level(INFO_INT, "INFO",  6);
+62  
+63    /**
+64     * @deprecated Use {@link Level#DEBUG} instead.
+65     */
+66    final static public Priority DEBUG = new Level(DEBUG_INT, "DEBUG", 7);
+67  
+68  
+69    /**
+70      * Default constructor for deserialization.
+71      */
+72    protected Priority() {
+73        level = DEBUG_INT;
+74        levelStr = "DEBUG";
+75        syslogEquivalent = 7;
+76    }
+77  
+78    /**
+79       Instantiate a level object.
+80     */
+81    protected
+82    Priority(int level, String levelStr, int syslogEquivalent) {
+83      this.level = level;
+84      this.levelStr = levelStr;
+85      this.syslogEquivalent = syslogEquivalent;
+86    }
+87  
+88    /**
+89       Two priorities are equal if their level fields are equal.
+90       @since 1.2
+91     */
+92    public
+93    boolean equals(Object o) {
+94      if(o instanceof Priority) {
+95        Priority r = (Priority) o;
+96        return (this.level == r.level);
+97      } else {
+98        return false;
+99      }
+100   }
+101 
+102   /**
+103      Return the syslog equivalent of this priority as an integer.
+104    */
+105   public
+106   final
+107   int getSyslogEquivalent() {
+108     return syslogEquivalent;
+109   }
+110 
+111 
+112    
+113   /**
+114      Returns <code>true</code> if this level has a higher or equal
+115      level than the level passed as argument, <code>false</code>
+116      otherwise.  
+117      
+118      <p>You should think twice before overriding the default
+119      implementation of <code>isGreaterOrEqual</code> method.
+120 
+121   */
+122   public
+123   boolean isGreaterOrEqual(Priority r) {
+124     return level >= r.level;
+125   }
+126 
+127   /**
+128      Return all possible priorities as an array of Level objects in
+129      descending order.
+130 
+131      @deprecated This method will be removed with no replacement.
+132   */
+133   public
+134   static
+135   Priority[] getAllPossiblePriorities() {
+136     return new Priority[] {Priority.FATAL, Priority.ERROR, Level.WARN, 
+137                                                    Priority.INFO, Priority.DEBUG};
+138   }
+139 
+140 
+141   /**
+142      Returns the string representation of this priority.
+143    */
+144   final
+145   public
+146   String toString() {
+147     return levelStr;
+148   }
+149 
+150   /**
+151      Returns the integer representation of this level.
+152    */
+153   public
+154   final
+155   int toInt() {
+156     return level;
+157   }
+158 
+159   /**
+160    * @deprecated Please use the {@link Level#toLevel(String)} method instead.
+161   */
+162   public
+163   static
+164   Priority toPriority(String sArg) {
+165     return Level.toLevel(sArg);
+166   }
+167 
+168   /**
+169    * @deprecated Please use the {@link Level#toLevel(int)} method instead.   
+170    */
+171   public
+172   static
+173   Priority toPriority(int val) {
+174     return toPriority(val, Priority.DEBUG);
+175   }
+176 
+177   /**
+178    * @deprecated Please use the {@link Level#toLevel(int, Level)} method instead.   
+179   */
+180   public
+181   static
+182   Priority toPriority(int val, Priority defaultPriority) {
+183     return Level.toLevel(val, (Level) defaultPriority);
+184   }
+185 
+186   /**
+187    * @deprecated Please use the {@link Level#toLevel(String, Level)} method instead.   
+188    */
+189   public
+190   static
+191   Priority toPriority(String sArg, Priority defaultPriority) {                  
+192     return Level.toLevel(sArg, (Level) defaultPriority);
+193   }
+194 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/PropertyConfigurator.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/PropertyConfigurator.html new file mode 100644 index 0000000..7cf8373 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/PropertyConfigurator.html @@ -0,0 +1,66 @@ + + + + +PropertyConfigurator xref + + + +
+
+1   /*
+2    * Copyright 2001-2004 The Apache Software Foundation.
+3    *
+4    * Licensed under the Apache License, Version 2.0 (the "License");
+5    * you may not use this file except in compliance with the License.
+6    * You may obtain a copy of the License at
+7    *
+8    *      http://www.apache.org/licenses/LICENSE-2.0
+9    *
+10   * Unless required by applicable law or agreed to in writing, software
+11   * distributed under the License is distributed on an "AS IS" BASIS,
+12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+13   * See the License for the specific language governing permissions and
+14   * limitations under the License.
+15   */
+16  
+17  package org.apache.log4j;
+18  
+19  import java.net.URL;
+20  import java.util.Properties;
+21  
+22  import org.apache.log4j.spi.Configurator;
+23  import org.apache.log4j.spi.LoggerRepository;
+24  
+25  /**
+26   * An nop implementation of PropertyConfigurator.
+27   */
+28  public class PropertyConfigurator implements Configurator {
+29    public static void configure(Properties properties) {
+30    }
+31  
+32    public static void configure(String configFilename) {
+33    }
+34  
+35    public static void configure(java.net.URL configURL) {
+36    }
+37  
+38    public static void configureAndWatch(String configFilename) {
+39    }
+40  
+41    public static void configureAndWatch(String configFilename, long delay) {
+42    }
+43  
+44    public void doConfigure(Properties properties, LoggerRepository hierarchy) {
+45    }
+46  
+47    public void doConfigure(String configFileName, LoggerRepository hierarchy) {
+48    }
+49  
+50    public void doConfigure(URL configURL, LoggerRepository hierarchy) {
+51    }
+52  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/RollingFileAppender.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/RollingFileAppender.html new file mode 100644 index 0000000..7d51d1d --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/RollingFileAppender.html @@ -0,0 +1,64 @@ + + + + +RollingFileAppender xref + + + +
+
+1   /*
+2    * Copyright 2001-2004 The Apache Software Foundation.
+3    *
+4    * Licensed under the Apache License, Version 2.0 (the "License");
+5    * you may not use this file except in compliance with the License.
+6    * You may obtain a copy of the License at
+7    *
+8    *      http://www.apache.org/licenses/LICENSE-2.0
+9    *
+10   * Unless required by applicable law or agreed to in writing, software
+11   * distributed under the License is distributed on an "AS IS" BASIS,
+12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+13   * See the License for the specific language governing permissions and
+14   * limitations under the License.
+15   */
+16  
+17  // Contributors:  Christian Trutz <christian.trutz@belaso.de>
+18  package org.apache.log4j;
+19  
+20  import java.io.IOException;
+21  
+22  /**
+23   * This class is a minimal implementation of the original Log4J class.
+24   * 
+25   * @author Christian Trutz <christian.trutz@belaso.de>
+26   * */
+27  public class RollingFileAppender {
+28  
+29    public RollingFileAppender() {
+30      super();
+31    }
+32  
+33    public RollingFileAppender(Layout layout, String filename) throws IOException {
+34      super();
+35    }
+36  
+37    public RollingFileAppender(Layout layout, String filename, boolean append)
+38        throws IOException {
+39      super();
+40    }
+41  
+42    public void setMaxBackupIndex(int maxBackups) {
+43      // nothing to do
+44    }
+45  
+46    public void setMaximumFileSize(long maxFileSize) {
+47      // nothing to do
+48    }
+49  
+50  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/helpers/LogLog.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/helpers/LogLog.html new file mode 100644 index 0000000..fe25415 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/helpers/LogLog.html @@ -0,0 +1,193 @@ + + + + +LogLog xref + + + +
+
+1   /*
+2    * Copyright 2001-2004 The Apache Software Foundation.
+3    *
+4    * Licensed under the Apache License, Version 2.0 (the "License");
+5    * you may not use this file except in compliance with the License.
+6    * You may obtain a copy of the License at
+7    *
+8    *      http://www.apache.org/licenses/LICENSE-2.0
+9    *
+10   * Unless required by applicable law or agreed to in writing, software
+11   * distributed under the License is distributed on an "AS IS" BASIS,
+12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+13   * See the License for the specific language governing permissions and
+14   * limitations under the License.
+15   */
+16  
+17  package org.apache.log4j.helpers;
+18  
+19  /**
+20     This class used to output log statements from within the log4j package.
+21  
+22     <p>Log4j components cannot make log4j logging calls. However, it is
+23     sometimes useful for the user to learn about what log4j is
+24     doing. You can enable log4j internal logging by defining the
+25     <b>log4j.configDebug</b> variable.
+26  
+27     <p>All log4j internal debug calls go to <code>System.out</code>
+28     where as internal error messages are sent to
+29     <code>System.err</code>. All internal messages are prepended with
+30     the string "log4j: ".
+31  
+32     @since 0.8.2
+33     @author Ceki G&uuml;lc&uuml;
+34  */
+35  public class LogLog {
+36  
+37    /**
+38       Defining this value makes log4j print log4j-internal debug
+39       statements to <code>System.out</code>.
+40  
+41      <p> The value of this string is <b>log4j.debug</b>.
+42  
+43      <p>Note that the search for all option names is case sensitive.  */
+44    public static final String DEBUG_KEY="log4j.debug";
+45  
+46  
+47    /**
+48       Defining this value makes log4j components print log4j-internal
+49       debug statements to <code>System.out</code>.
+50  
+51      <p> The value of this string is <b>log4j.configDebug</b>.
+52  
+53      <p>Note that the search for all option names is case sensitive.
+54  
+55      @deprecated Use {@link #DEBUG_KEY} instead.
+56    */
+57    public static final String CONFIG_DEBUG_KEY="log4j.configDebug";
+58  
+59    protected static boolean debugEnabled = false;
+60  
+61    /**
+62       In quietMode not even errors generate any output.
+63     */
+64    private static boolean quietMode = false;
+65  
+66    private static final String PREFIX = "log4j: ";
+67    private static final String ERR_PREFIX = "log4j:ERROR ";
+68    private static final String WARN_PREFIX = "log4j:WARN ";
+69  
+70    static {
+71    }
+72  
+73    /**
+74       Allows to enable/disable log4j internal logging.
+75     */
+76    static
+77    public
+78    void setInternalDebugging(boolean enabled) {
+79      debugEnabled = enabled;
+80    }
+81  
+82    /**
+83       This method is used to output log4j internal debug
+84       statements. Output goes to <code>System.out</code>.
+85    */
+86    public
+87    static
+88    void debug(String msg) {
+89      if(debugEnabled && !quietMode) {
+90        System.out.println(PREFIX+msg);
+91      }
+92    }
+93  
+94    /**
+95       This method is used to output log4j internal debug
+96       statements. Output goes to <code>System.out</code>.
+97    */
+98    public
+99    static
+100   void debug(String msg, Throwable t) {
+101     if(debugEnabled && !quietMode) {
+102       System.out.println(PREFIX+msg);
+103       if(t != null)
+104 	t.printStackTrace(System.out);
+105     }
+106   }
+107 
+108 
+109   /**
+110      This method is used to output log4j internal error
+111      statements. There is no way to disable error statements.
+112      Output goes to <code>System.err</code>.
+113   */
+114   public
+115   static
+116   void error(String msg) {
+117     if(quietMode)
+118       return;
+119     System.err.println(ERR_PREFIX+msg);
+120   }
+121 
+122   /**
+123      This method is used to output log4j internal error
+124      statements. There is no way to disable error statements.
+125      Output goes to <code>System.err</code>.
+126   */
+127   public
+128   static
+129   void error(String msg, Throwable t) {
+130     if(quietMode)
+131       return;
+132 
+133     System.err.println(ERR_PREFIX+msg);
+134     if(t != null) {
+135       t.printStackTrace();
+136     }
+137   }
+138 
+139   /**
+140      In quite mode no LogLog generates strictly no output, not even
+141      for errors.
+142 
+143      @param quietMode A true for not
+144   */
+145   public
+146   static
+147   void setQuietMode(boolean quietMode) {
+148     LogLog.quietMode = quietMode;
+149   }
+150 
+151   /**
+152      This method is used to output log4j internal warning
+153      statements. There is no way to disable warning statements.
+154      Output goes to <code>System.err</code>.  */
+155   public
+156   static
+157   void warn(String msg) {
+158     if(quietMode)
+159       return;
+160 
+161     System.err.println(WARN_PREFIX+msg);
+162   }
+163 
+164   /**
+165      This method is used to output log4j internal warnings. There is
+166      no way to disable warning statements.  Output goes to
+167      <code>System.err</code>.  */
+168   public
+169   static
+170   void warn(String msg, Throwable t) {
+171     if(quietMode)
+172       return;
+173 
+174     System.err.println(WARN_PREFIX+msg);
+175     if(t != null) {
+176       t.printStackTrace();
+177     }
+178   }
+179 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/helpers/NullEnumeration.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/helpers/NullEnumeration.html new file mode 100644 index 0000000..d28c839 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/helpers/NullEnumeration.html @@ -0,0 +1,60 @@ + + + + +NullEnumeration xref + + + +
+
+1   /*
+2    * Licensed to the Apache Software Foundation (ASF) under one or more
+3    * contributor license agreements.  See the NOTICE file distributed with
+4    * this work for additional information regarding copyright ownership.
+5    * The ASF licenses this file to You under the Apache License, Version 2.0
+6    * (the "License"); you may not use this file except in compliance with
+7    * the License.  You may obtain a copy of the License at
+8    * 
+9    *      http://www.apache.org/licenses/LICENSE-2.0
+10   *
+11   * Unless required by applicable law or agreed to in writing, software
+12   * distributed under the License is distributed on an "AS IS" BASIS,
+13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+14   * See the License for the specific language governing permissions and
+15   * limitations under the License.
+16   */
+17  
+18  package org.apache.log4j.helpers;
+19  
+20  import java.util.Enumeration;
+21  import java.util.NoSuchElementException;
+22  
+23  /**
+24   * An always-empty Enumerator.
+25   *
+26   * @author Anders Kristensen
+27   * @since version 1.0
+28   */
+29  public class NullEnumeration implements Enumeration {
+30    private static final NullEnumeration instance = new NullEnumeration();
+31  
+32    private NullEnumeration() {
+33    }
+34  
+35    public static NullEnumeration getInstance() {
+36      return instance;
+37    }
+38  
+39    public boolean hasMoreElements() {
+40      return false;
+41    }
+42  
+43    public Object nextElement() {
+44      throw new NoSuchElementException();
+45    }
+46  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/helpers/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/helpers/package-frame.html new file mode 100644 index 0000000..108bad7 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/helpers/package-frame.html @@ -0,0 +1,27 @@ + + + + + + SLF4J 1.7.5 Reference Package org.apache.log4j.helpers + + + + +

+ org.apache.log4j.helpers +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/helpers/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/helpers/package-summary.html new file mode 100644 index 0000000..e48c451 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/helpers/package-summary.html @@ -0,0 +1,72 @@ + + + + + + SLF4J 1.7.5 Reference Package org.apache.log4j.helpers + + + +
+ +
+
+ +
+ +

Package org.apache.log4j.helpers

+ + + + + + + + + + + + + + + +
Class Summary
+ LogLog +
+ NullEnumeration +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/package-frame.html new file mode 100644 index 0000000..4bfa379 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/package-frame.html @@ -0,0 +1,63 @@ + + + + + + SLF4J 1.7.5 Reference Package org.apache.log4j + + + + +

+ org.apache.log4j +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/package-summary.html new file mode 100644 index 0000000..e58fdf3 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/package-summary.html @@ -0,0 +1,132 @@ + + + + + + SLF4J 1.7.5 Reference Package org.apache.log4j + + + +
+ +
+
+ +
+ +

Package org.apache.log4j

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class Summary
+ Appender +
+ BasicConfigurator +
+ Category +
+ Layout +
+ Level +
+ Log4jLoggerFactory +
+ LogManager +
+ Logger +
+ MDC +
+ NDC +
+ PatternLayout +
+ Priority +
+ PropertyConfigurator +
+ RollingFileAppender +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/spi/Configurator.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/spi/Configurator.html new file mode 100644 index 0000000..4ffe09a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/spi/Configurator.html @@ -0,0 +1,69 @@ + + + + +Configurator xref + + + +
+
+1   /*
+2    * Copyright 2001-2004 The Apache Software Foundation.
+3    *
+4    * Licensed under the Apache License, Version 2.0 (the "License");
+5    * you may not use this file except in compliance with the License.
+6    * You may obtain a copy of the License at
+7    *
+8    *      http://www.apache.org/licenses/LICENSE-2.0
+9    *
+10   * Unless required by applicable law or agreed to in writing, software
+11   * distributed under the License is distributed on an "AS IS" BASIS,
+12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+13   * See the License for the specific language governing permissions and
+14   * limitations under the License.
+15   */
+16  
+17  package org.apache.log4j.spi;
+18  
+19  
+20  import org.apache.log4j.spi.LoggerRepository;
+21  import java.net.URL;
+22  
+23  /**
+24     Implemented by classes capable of configuring log4j using a URL.
+25  
+26     @since 1.0
+27     @author Anders Kristensen
+28   */
+29  public interface Configurator {
+30  
+31    /**
+32       Special level value signifying inherited behaviour. The current
+33       value of this string constant is <b>inherited</b>. {@link #NULL}
+34       is a synonym.  */
+35    public static final String INHERITED = "inherited";
+36  
+37    /**
+38       Special level signifying inherited behaviour, same as {@link
+39       #INHERITED}. The current value of this string constant is
+40       <b>null</b>. */
+41    public static final String NULL = "null";
+42  
+43  
+44  
+45    /**
+46       Interpret a resource pointed by a URL and set up log4j accordingly.
+47  
+48       The configuration is done relative to the <code>hierarchy</code>
+49       parameter.
+50  
+51       @param url The URL to parse
+52       @param repository The hierarchy to operation upon.
+53     */
+54    void doConfigure(URL url, LoggerRepository repository);
+55  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/spi/ErrorHandler.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/spi/ErrorHandler.html new file mode 100644 index 0000000..5bce7af --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/spi/ErrorHandler.html @@ -0,0 +1,41 @@ + + + + +ErrorHandler xref + + + +
+
+1   /*
+2    * Copyright 2001-2004 The Apache Software Foundation.
+3    *
+4    * Licensed under the Apache License, Version 2.0 (the "License");
+5    * you may not use this file except in compliance with the License.
+6    * You may obtain a copy of the License at
+7    *
+8    *      http://www.apache.org/licenses/LICENSE-2.0
+9    *
+10   * Unless required by applicable law or agreed to in writing, software
+11   * distributed under the License is distributed on an "AS IS" BASIS,
+12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+13   * See the License for the specific language governing permissions and
+14   * limitations under the License.
+15   */
+16  
+17  package org.apache.log4j.spi;
+18  
+19  /**
+20   * Created by IntelliJ IDEA.
+21   * User: ceki
+22   * Date: 19 oct. 2010
+23   * Time: 11:46:24
+24   * To change this template use File | Settings | File Templates.
+25   */
+26  public class ErrorHandler {
+27  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/spi/Filter.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/spi/Filter.html new file mode 100644 index 0000000..851cf1b --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/spi/Filter.html @@ -0,0 +1,34 @@ + + + + +Filter xref + + + +
+
+1   /*
+2    * Copyright 2001-2004 The Apache Software Foundation.
+3    *
+4    * Licensed under the Apache License, Version 2.0 (the "License");
+5    * you may not use this file except in compliance with the License.
+6    * You may obtain a copy of the License at
+7    *
+8    *      http://www.apache.org/licenses/LICENSE-2.0
+9    *
+10   * Unless required by applicable law or agreed to in writing, software
+11   * distributed under the License is distributed on an "AS IS" BASIS,
+12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+13   * See the License for the specific language governing permissions and
+14   * limitations under the License.
+15   */
+16  
+17  package org.apache.log4j.spi;
+18  
+19  public class Filter {
+20  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/spi/HierarchyEventListener.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/spi/HierarchyEventListener.html new file mode 100644 index 0000000..a7f9464 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/spi/HierarchyEventListener.html @@ -0,0 +1,57 @@ + + + + +HierarchyEventListener xref + + + +
+
+1   /*
+2    * Copyright 2001-2004 The Apache Software Foundation.
+3    *
+4    * Licensed under the Apache License, Version 2.0 (the "License");
+5    * you may not use this file except in compliance with the License.
+6    * You may obtain a copy of the License at
+7    *
+8    *      http://www.apache.org/licenses/LICENSE-2.0
+9    *
+10   * Unless required by applicable law or agreed to in writing, software
+11   * distributed under the License is distributed on an "AS IS" BASIS,
+12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+13   * See the License for the specific language governing permissions and
+14   * limitations under the License.
+15   */
+16  
+17  package org.apache.log4j.spi;
+18  
+19  import org.apache.log4j.*;
+20  
+21  /**
+22     Listen to events occuring within a {@link
+23     org.apache.log4j.Hierarchy Hierarchy}.
+24  
+25     @author Ceki G&uuml;lc&uuml;
+26     @since 1.2
+27  
+28   */
+29  public interface HierarchyEventListener {
+30  
+31  
+32    //public
+33    //void categoryCreationEvent(Category cat);
+34  
+35  
+36    public
+37    void addAppenderEvent(Category cat, Appender appender);
+38  
+39    public
+40    void removeAppenderEvent(Category cat, Appender appender);
+41  
+42  
+43  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/spi/Layout.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/spi/Layout.html new file mode 100644 index 0000000..5b3f503 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/spi/Layout.html @@ -0,0 +1,34 @@ + + + + +Layout xref + + + +
+
+1   /*
+2    * Copyright 2001-2004 The Apache Software Foundation.
+3    *
+4    * Licensed under the Apache License, Version 2.0 (the "License");
+5    * you may not use this file except in compliance with the License.
+6    * You may obtain a copy of the License at
+7    *
+8    *      http://www.apache.org/licenses/LICENSE-2.0
+9    *
+10   * Unless required by applicable law or agreed to in writing, software
+11   * distributed under the License is distributed on an "AS IS" BASIS,
+12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+13   * See the License for the specific language governing permissions and
+14   * limitations under the License.
+15   */
+16  
+17  package org.apache.log4j.spi;
+18  
+19  public class Layout {
+20  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/spi/LoggerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/spi/LoggerFactory.html new file mode 100644 index 0000000..be93d9f --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/spi/LoggerFactory.html @@ -0,0 +1,51 @@ + + + + +LoggerFactory xref + + + +
+
+1   /*
+2    * Copyright 2001-2004 The Apache Software Foundation.
+3    *
+4    * Licensed under the Apache License, Version 2.0 (the "License");
+5    * you may not use this file except in compliance with the License.
+6    * You may obtain a copy of the License at
+7    *
+8    *      http://www.apache.org/licenses/LICENSE-2.0
+9    *
+10   * Unless required by applicable law or agreed to in writing, software
+11   * distributed under the License is distributed on an "AS IS" BASIS,
+12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+13   * See the License for the specific language governing permissions and
+14   * limitations under the License.
+15   */
+16  
+17  package org.apache.log4j.spi;
+18  
+19  import org.apache.log4j.Logger;
+20  
+21  /**
+22  
+23    Implement this interface to create new instances of Logger or
+24    a sub-class of Logger.
+25  
+26    <p>See <code>examples/subclass/MyLogger.java</code> for an example.
+27  
+28    @author Ceki G&uuml;lc&uuml;
+29    @since version 0.8.5
+30  
+31   */
+32  public interface LoggerFactory {
+33  
+34    public
+35    Logger makeNewLoggerInstance(String name);
+36  
+37  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/spi/LoggerRepository.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/spi/LoggerRepository.html new file mode 100644 index 0000000..42fd9da --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/spi/LoggerRepository.html @@ -0,0 +1,112 @@ + + + + +LoggerRepository xref + + + +
+
+1   /*
+2    * Copyright 2001-2004 The Apache Software Foundation.
+3    *
+4    * Licensed under the Apache License, Version 2.0 (the "License");
+5    * you may not use this file except in compliance with the License.
+6    * You may obtain a copy of the License at
+7    *
+8    *      http://www.apache.org/licenses/LICENSE-2.0
+9    *
+10   * Unless required by applicable law or agreed to in writing, software
+11   * distributed under the License is distributed on an "AS IS" BASIS,
+12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+13   * See the License for the specific language governing permissions and
+14   * limitations under the License.
+15   */
+16  
+17  package org.apache.log4j.spi;
+18  
+19  import org.apache.log4j.*;
+20  
+21  import java.util.Enumeration;
+22  
+23  /**
+24   * A <code>LoggerRepository</code> is used to create and retrieve
+25   * <code>Loggers</code>. The relation between loggers in a repository
+26   * depends on the repository but typically loggers are arranged in a
+27   * named hierarchy.
+28   * <p/>
+29   * <p>In addition to the creational methods, a
+30   * <code>LoggerRepository</code> can be queried for existing loggers,
+31   * can act as a point of registry for events related to loggers.
+32   *
+33   * @author Ceki G&uuml;lc&uuml;
+34   * @since 1.2
+35   */
+36  public interface LoggerRepository {
+37  
+38      /**
+39       * Add a {@link HierarchyEventListener} event to the repository.
+40       */
+41      public void addHierarchyEventListener(HierarchyEventListener listener);
+42  
+43      /**
+44       * Returns whether this repository is disabled for a given
+45       * level. The answer depends on the repository threshold and the
+46       * <code>level</code> parameter. See also {@link #setThreshold}
+47       * method.
+48       */
+49      boolean isDisabled(int level);
+50  
+51      /**
+52       * Set the repository-wide threshold. All logging requests below the
+53       * threshold are immediately dropped. By default, the threshold is
+54       * set to <code>Level.ALL</code> which has the lowest possible rank.
+55       */
+56      public void setThreshold(Level level);
+57  
+58      /**
+59       * Another form of {@link #setThreshold(Level)} accepting a string
+60       * parameter instead of a <code>Level</code>.
+61       */
+62      public void setThreshold(String val);
+63  
+64      public void emitNoAppenderWarning(Category cat);
+65  
+66      /**
+67       * Get the repository-wide threshold. See {@link
+68       * #setThreshold(Level)} for an explanation.
+69       */
+70      public Level getThreshold();
+71  
+72      public Logger getLogger(String name);
+73  
+74      public Logger getLogger(String name, LoggerFactory factory);
+75  
+76      public Logger getRootLogger();
+77  
+78      public
+79      abstract Logger exists(String name);
+80  
+81      public
+82      abstract void shutdown();
+83  
+84      public Enumeration getCurrentLoggers();
+85  
+86      /**
+87       * Deprecated. Please use {@link #getCurrentLoggers} instead.
+88       */
+89      public Enumeration getCurrentCategories();
+90  
+91  
+92      public
+93      abstract void fireAddAppenderEvent(Category logger, Appender appender);
+94  
+95      public
+96      abstract void resetConfiguration();
+97  
+98  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/spi/LoggingEvent.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/spi/LoggingEvent.html new file mode 100644 index 0000000..1d3b2b1 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/spi/LoggingEvent.html @@ -0,0 +1,34 @@ + + + + +LoggingEvent xref + + + +
+
+1   /*
+2    * Copyright 2001-2004 The Apache Software Foundation.
+3    *
+4    * Licensed under the Apache License, Version 2.0 (the "License");
+5    * you may not use this file except in compliance with the License.
+6    * You may obtain a copy of the License at
+7    *
+8    *      http://www.apache.org/licenses/LICENSE-2.0
+9    *
+10   * Unless required by applicable law or agreed to in writing, software
+11   * distributed under the License is distributed on an "AS IS" BASIS,
+12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+13   * See the License for the specific language governing permissions and
+14   * limitations under the License.
+15   */
+16  
+17  package org.apache.log4j.spi;
+18  
+19  public class LoggingEvent {
+20  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/spi/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/spi/package-frame.html new file mode 100644 index 0000000..d72a3b4 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/spi/package-frame.html @@ -0,0 +1,45 @@ + + + + + + SLF4J 1.7.5 Reference Package org.apache.log4j.spi + + + + +

+ org.apache.log4j.spi +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/spi/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/spi/package-summary.html new file mode 100644 index 0000000..938d783 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/spi/package-summary.html @@ -0,0 +1,102 @@ + + + + + + SLF4J 1.7.5 Reference Package org.apache.log4j.spi + + + +
+ +
+
+ +
+ +

Package org.apache.log4j.spi

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class Summary
+ Configurator +
+ ErrorHandler +
+ Filter +
+ HierarchyEventListener +
+ Layout +
+ LoggerFactory +
+ LoggerRepository +
+ LoggingEvent +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/xml/DOMConfigurator.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/xml/DOMConfigurator.html new file mode 100644 index 0000000..fa9ff75 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/xml/DOMConfigurator.html @@ -0,0 +1,81 @@ + + + + +DOMConfigurator xref + + + +
+
+1   /*
+2    * Copyright 2001-2004 The Apache Software Foundation.
+3    *
+4    * Licensed under the Apache License, Version 2.0 (the "License");
+5    * you may not use this file except in compliance with the License.
+6    * You may obtain a copy of the License at
+7    *
+8    *      http://www.apache.org/licenses/LICENSE-2.0
+9    *
+10   * Unless required by applicable law or agreed to in writing, software
+11   * distributed under the License is distributed on an "AS IS" BASIS,
+12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+13   * See the License for the specific language governing permissions and
+14   * limitations under the License.
+15   */
+16  
+17  package org.apache.log4j.xml;
+18  
+19  import org.apache.log4j.spi.Configurator;
+20  import org.apache.log4j.spi.LoggerRepository;
+21  
+22  import javax.xml.parsers.FactoryConfigurationError;
+23  import java.io.InputStream;
+24  import java.io.Reader;
+25  import java.net.URL;
+26  import java.util.Properties;
+27  
+28  
+29  import org.w3c.dom.Element;
+30  
+31  public class DOMConfigurator implements Configurator {
+32  
+33    public static void configure(Element element) {
+34    }
+35  
+36    public static void configure(String filename) throws FactoryConfigurationError {
+37    }
+38  
+39    static public void configure(URL url) throws FactoryConfigurationError {
+40    }
+41  
+42    static public void configureAndWatch(String configFilename) {
+43    }
+44  
+45    public static void configureAndWatch(String configFilename, long delay) {
+46    }
+47  
+48    public void doConfigure(Element element, LoggerRepository repository) {
+49    }
+50  
+51    public void doConfigure(InputStream inputStream, LoggerRepository repository) throws FactoryConfigurationError {
+52    }
+53  
+54    public void doConfigure(Reader reader, LoggerRepository repository) throws FactoryConfigurationError {
+55    }
+56  
+57    public void doConfigure(String filename, LoggerRepository repository) {
+58    }
+59  
+60    public void doConfigure(URL url, LoggerRepository repository) {
+61    }
+62  
+63    public static String subst(String value, Properties props) {
+64      return value;
+65    }
+66  
+67  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/xml/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/xml/package-frame.html new file mode 100644 index 0000000..3707e2f --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/xml/package-frame.html @@ -0,0 +1,24 @@ + + + + + + SLF4J 1.7.5 Reference Package org.apache.log4j.xml + + + + +

+ org.apache.log4j.xml +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/xml/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/xml/package-summary.html new file mode 100644 index 0000000..53533da --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/apache/log4j/xml/package-summary.html @@ -0,0 +1,67 @@ + + + + + + SLF4J 1.7.5 Reference Package org.apache.log4j.xml + + + +
+ +
+
+ +
+ +

Package org.apache.log4j.xml

+ + + + + + + + + + + + +
Class Summary
+ DOMConfigurator +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/ILoggerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/ILoggerFactory.html new file mode 100644 index 0000000..99ec3b4 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/ILoggerFactory.html @@ -0,0 +1,72 @@ + + + + +ILoggerFactory xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j;
+26  
+27  
+28  /**
+29   * <code>ILoggerFactory</code> instances manufacture {@link Logger}
+30   * instances by name.
+31   * 
+32   * <p>Most users retrieve {@link Logger} instances through the static
+33   * {@link LoggerFactory#getLogger(String)} method. An instance of of this
+34   * interface is bound internally with {@link LoggerFactory} class at 
+35   * compile time. 
+36   * 
+37   * @author Ceki G&uuml;lc&uuml;
+38   */
+39  public interface ILoggerFactory {
+40    
+41    /**
+42     * Return an appropriate {@link Logger} instance as specified by the
+43     * <code>name</code> parameter.
+44     * 
+45     * <p>If the name parameter is equal to {@link Logger#ROOT_LOGGER_NAME}, that is 
+46     * the string value "ROOT" (case insensitive), then the root logger of the 
+47     * underlying logging system is returned.
+48     * 
+49     * <p>Null-valued name arguments are considered invalid.
+50     *
+51     * <p>Certain extremely simple logging systems, e.g. NOP, may always
+52     * return the same logger instance regardless of the requested name.
+53     * 
+54     * @param name the name of the Logger to return
+55     * @return a Logger instance 
+56     */
+57    public Logger getLogger(String name);
+58  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/IMarkerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/IMarkerFactory.html new file mode 100644 index 0000000..928f93e --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/IMarkerFactory.html @@ -0,0 +1,97 @@ + + + + +IMarkerFactory xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j;
+26  
+27  
+28  /**
+29   * Implementaitons of this interface are used to manufacture {@link Marker}
+30   * instances.
+31   * 
+32   * <p>See the section <a href="http://slf4j.org/faq.html#3">Implementing 
+33   * the SLF4J API</a> in the FAQ for details on how to make your logging 
+34   * system conform to SLF4J.
+35   * 
+36   * @author Ceki G&uuml;lc&uuml;
+37   */
+38  public interface IMarkerFactory {
+39  
+40    /**
+41     * Manufacture a {@link Marker} instance by name. If the instance has been 
+42     * created earlier, return the previously created instance. 
+43     * 
+44     * <p>Null name values are not allowed.
+45     *
+46     * @param name the name of the marker to be created, null value is
+47     * not allowed.
+48     *
+49     * @return a Marker instance
+50     */
+51    Marker getMarker(String name);
+52    
+53    /**
+54     * Checks if the marker with the name already exists. If name is null, then false 
+55     * is returned.
+56     *  
+57     * @param name logger name to check for
+58     * @return true id the marker exists, false otherwise. 
+59     */
+60    boolean exists(String name);
+61    
+62    /**
+63     * Detach an existing marker.
+64     * <p>
+65     * Note that after a marker is detached, there might still be "dangling" references
+66     * to the detached marker.
+67     * 
+68     * 
+69     * @param name The name of the marker to detach
+70     * @return whether the marker  could be detached or not
+71     */
+72    boolean detachMarker(String name);
+73    
+74    
+75    /**
+76     * Create a marker which is detached (even at birth) from this IMarkerFactory.
+77     * 
+78     * @param name marker name
+79     * @return a dangling marker
+80     * @since 1.5.1
+81     */
+82    Marker getDetachedMarker(String name);
+83  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/Logger.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/Logger.html new file mode 100644 index 0000000..f26af87 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/Logger.html @@ -0,0 +1,762 @@ + + + + +Logger xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  
+26  package org.slf4j;
+27  
+28  /**
+29   * The org.slf4j.Logger interface is the main user entry point of SLF4J API.
+30   * It is expected that logging takes place through concrete implementations
+31   * of this interface.
+32   * <p/>
+33   * <h3>Typical usage pattern:</h3>
+34   * <pre>
+35   * import org.slf4j.Logger;
+36   * import org.slf4j.LoggerFactory;
+37   *
+38   * public class Wombat {
+39   *
+40   *   <span style="color:green">final static Logger logger = LoggerFactory.getLogger(Wombat.class);</span>
+41   *   Integer t;
+42   *   Integer oldT;
+43   *
+44   *   public void setTemperature(Integer temperature) {
+45   *     oldT = t;
+46   *     t = temperature;
+47   *     <span style="color:green">logger.debug("Temperature set to {}. Old temperature was {}.", t, oldT);</span>
+48   *     if(temperature.intValue() > 50) {
+49   *       <span style="color:green">logger.info("Temperature has risen above 50 degrees.");</span>
+50   *     }
+51   *   }
+52   * }
+53   * </pre>
+54   *
+55   * Be sure to read the FAQ entry relating to <a href="../../../faq.html#logging_performance">parameterized
+56   * logging</a>. Note that logging statements can be parameterized in
+57   * <a href="../../../faq.html#paramException">presence of an exception/throwable</a>.
+58   *
+59   * <p>Once you are comfortable using loggers, i.e. instances of this interface, consider using
+60   * <a href="MDC.html">MDC</a> as well as <a href="Marker.html">Markers</a>.</p>
+61   *
+62   * @author Ceki G&uuml;lc&uuml;
+63   */
+64  public interface Logger {
+65  
+66  
+67    /**
+68     * Case insensitive String constant used to retrieve the name of the root logger.
+69     *
+70     * @since 1.3
+71     */
+72    final public String ROOT_LOGGER_NAME = "ROOT";
+73  
+74    /**
+75     * Return the name of this <code>Logger</code> instance.
+76     * @return name of this logger instance 
+77     */
+78    public String getName();
+79  
+80    /**
+81     * Is the logger instance enabled for the TRACE level?
+82     *
+83     * @return True if this Logger is enabled for the TRACE level,
+84     *         false otherwise.
+85     * @since 1.4
+86     */
+87    public boolean isTraceEnabled();
+88  
+89  
+90    /**
+91     * Log a message at the TRACE level.
+92     *
+93     * @param msg the message string to be logged
+94     * @since 1.4
+95     */
+96    public void trace(String msg);
+97  
+98  
+99    /**
+100    * Log a message at the TRACE level according to the specified format
+101    * and argument.
+102    * <p/>
+103    * <p>This form avoids superfluous object creation when the logger
+104    * is disabled for the TRACE level. </p>
+105    *
+106    * @param format the format string
+107    * @param arg    the argument
+108    * @since 1.4
+109    */
+110   public void trace(String format, Object arg);
+111 
+112 
+113   /**
+114    * Log a message at the TRACE level according to the specified format
+115    * and arguments.
+116    * <p/>
+117    * <p>This form avoids superfluous object creation when the logger
+118    * is disabled for the TRACE level. </p>
+119    *
+120    * @param format the format string
+121    * @param arg1   the first argument
+122    * @param arg2   the second argument
+123    * @since 1.4
+124    */
+125   public void trace(String format, Object arg1, Object arg2);
+126 
+127   /**
+128    * Log a message at the TRACE level according to the specified format
+129    * and arguments.
+130    * <p/>
+131    * <p>This form avoids superfluous string concatenation when the logger
+132    * is disabled for the TRACE level. However, this variant incurs the hidden
+133    * (and relatively small) cost of creating an <code>Object[]</code> before invoking the method,
+134    * even if this logger is disabled for TRACE. The variants taking {@link #trace(String, Object) one} and
+135    * {@link #trace(String, Object, Object) two} arguments exist solely in order to avoid this hidden cost.</p>
+136    *
+137    * @param format    the format string
+138    * @param arguments a list of 3 or more arguments
+139    * @since 1.4
+140    */
+141   public void trace(String format, Object... arguments);
+142 
+143   /**
+144    * Log an exception (throwable) at the TRACE level with an
+145    * accompanying message.
+146    *
+147    * @param msg the message accompanying the exception
+148    * @param t   the exception (throwable) to log
+149    * @since 1.4
+150    */
+151   public void trace(String msg, Throwable t);
+152 
+153 
+154   /**
+155    * Similar to {@link #isTraceEnabled()} method except that the
+156    * marker data is also taken into account.
+157    *
+158    * @param marker The marker data to take into consideration
+159    * @return True if this Logger is enabled for the TRACE level,
+160    *         false otherwise.
+161    *         
+162    * @since 1.4
+163    */
+164   public boolean isTraceEnabled(Marker marker);
+165 
+166   /**
+167    * Log a message with the specific Marker at the TRACE level.
+168    *
+169    * @param marker the marker data specific to this log statement
+170    * @param msg    the message string to be logged
+171    * @since 1.4
+172    */
+173   public void trace(Marker marker, String msg);
+174 
+175   /**
+176    * This method is similar to {@link #trace(String, Object)} method except that the
+177    * marker data is also taken into consideration.
+178    *
+179    * @param marker the marker data specific to this log statement
+180    * @param format the format string
+181    * @param arg    the argument
+182    * @since 1.4
+183    */
+184   public void trace(Marker marker, String format, Object arg);
+185 
+186 
+187   /**
+188    * This method is similar to {@link #trace(String, Object, Object)}
+189    * method except that the marker data is also taken into
+190    * consideration.
+191    *
+192    * @param marker the marker data specific to this log statement
+193    * @param format the format string
+194    * @param arg1   the first argument
+195    * @param arg2   the second argument
+196    * @since 1.4
+197    */
+198   public void trace(Marker marker, String format, Object arg1, Object arg2);
+199 
+200   /**
+201    * This method is similar to {@link #trace(String, Object...)}
+202    * method except that the marker data is also taken into
+203    * consideration.
+204    *
+205    * @param marker   the marker data specific to this log statement
+206    * @param format   the format string
+207    * @param argArray an array of arguments
+208    * @since 1.4
+209    */
+210   public void trace(Marker marker, String format, Object... argArray);
+211 
+212 
+213   /**
+214    * This method is similar to {@link #trace(String, Throwable)} method except that the
+215    * marker data is also taken into consideration.
+216    *
+217    * @param marker the marker data specific to this log statement
+218    * @param msg    the message accompanying the exception
+219    * @param t      the exception (throwable) to log
+220    * @since 1.4
+221    */
+222   public void trace(Marker marker, String msg, Throwable t);
+223 
+224 
+225   /**
+226    * Is the logger instance enabled for the DEBUG level?
+227    *
+228    * @return True if this Logger is enabled for the DEBUG level,
+229    *         false otherwise.
+230    */
+231   public boolean isDebugEnabled();
+232 
+233 
+234   /**
+235    * Log a message at the DEBUG level.
+236    *
+237    * @param msg the message string to be logged
+238    */
+239   public void debug(String msg);
+240 
+241 
+242   /**
+243    * Log a message at the DEBUG level according to the specified format
+244    * and argument.
+245    * <p/>
+246    * <p>This form avoids superfluous object creation when the logger
+247    * is disabled for the DEBUG level. </p>
+248    *
+249    * @param format the format string
+250    * @param arg    the argument
+251    */
+252   public void debug(String format, Object arg);
+253 
+254 
+255   /**
+256    * Log a message at the DEBUG level according to the specified format
+257    * and arguments.
+258    * <p/>
+259    * <p>This form avoids superfluous object creation when the logger
+260    * is disabled for the DEBUG level. </p>
+261    *
+262    * @param format the format string
+263    * @param arg1   the first argument
+264    * @param arg2   the second argument
+265    */
+266   public void debug(String format, Object arg1, Object arg2);
+267 
+268   /**
+269    * Log a message at the DEBUG level according to the specified format
+270    * and arguments.
+271    * <p/>
+272    * <p>This form avoids superfluous string concatenation when the logger
+273    * is disabled for the DEBUG level. However, this variant incurs the hidden
+274    * (and relatively small) cost of creating an <code>Object[]</code> before invoking the method,
+275    * even if this logger is disabled for DEBUG. The variants taking
+276    * {@link #debug(String, Object) one} and {@link #debug(String, Object, Object) two}
+277    * arguments exist solely in order to avoid this hidden cost.</p>
+278    *
+279    * @param format    the format string
+280    * @param arguments a list of 3 or more arguments
+281    */
+282   public void debug(String format, Object... arguments);
+283 
+284   /**
+285    * Log an exception (throwable) at the DEBUG level with an
+286    * accompanying message.
+287    *
+288    * @param msg the message accompanying the exception
+289    * @param t   the exception (throwable) to log
+290    */
+291   public void debug(String msg, Throwable t);
+292 
+293 
+294   /**
+295    * Similar to {@link #isDebugEnabled()} method except that the
+296    * marker data is also taken into account.
+297    *
+298    * @param marker The marker data to take into consideration
+299    * @return True if this Logger is enabled for the DEBUG level,
+300    *         false otherwise. 
+301    */
+302   public boolean isDebugEnabled(Marker marker);
+303 
+304   /**
+305    * Log a message with the specific Marker at the DEBUG level.
+306    *
+307    * @param marker the marker data specific to this log statement
+308    * @param msg    the message string to be logged
+309    */
+310   public void debug(Marker marker, String msg);
+311 
+312   /**
+313    * This method is similar to {@link #debug(String, Object)} method except that the
+314    * marker data is also taken into consideration.
+315    *
+316    * @param marker the marker data specific to this log statement
+317    * @param format the format string
+318    * @param arg    the argument
+319    */
+320   public void debug(Marker marker, String format, Object arg);
+321 
+322 
+323   /**
+324    * This method is similar to {@link #debug(String, Object, Object)}
+325    * method except that the marker data is also taken into
+326    * consideration.
+327    *
+328    * @param marker the marker data specific to this log statement
+329    * @param format the format string
+330    * @param arg1   the first argument
+331    * @param arg2   the second argument
+332    */
+333   public void debug(Marker marker, String format, Object arg1, Object arg2);
+334 
+335   /**
+336    * This method is similar to {@link #debug(String, Object...)}
+337    * method except that the marker data is also taken into
+338    * consideration.
+339    *
+340    * @param marker    the marker data specific to this log statement
+341    * @param format    the format string
+342    * @param arguments a list of 3 or more arguments
+343    */
+344   public void debug(Marker marker, String format, Object... arguments);
+345 
+346 
+347   /**
+348    * This method is similar to {@link #debug(String, Throwable)} method except that the
+349    * marker data is also taken into consideration.
+350    *
+351    * @param marker the marker data specific to this log statement
+352    * @param msg    the message accompanying the exception
+353    * @param t      the exception (throwable) to log
+354    */
+355   public void debug(Marker marker, String msg, Throwable t);
+356 
+357 
+358   /**
+359    * Is the logger instance enabled for the INFO level?
+360    *
+361    * @return True if this Logger is enabled for the INFO level,
+362    *         false otherwise.
+363    */
+364   public boolean isInfoEnabled();
+365 
+366 
+367   /**
+368    * Log a message at the INFO level.
+369    *
+370    * @param msg the message string to be logged
+371    */
+372   public void info(String msg);
+373 
+374 
+375   /**
+376    * Log a message at the INFO level according to the specified format
+377    * and argument.
+378    * <p/>
+379    * <p>This form avoids superfluous object creation when the logger
+380    * is disabled for the INFO level. </p>
+381    *
+382    * @param format the format string
+383    * @param arg    the argument
+384    */
+385   public void info(String format, Object arg);
+386 
+387 
+388   /**
+389    * Log a message at the INFO level according to the specified format
+390    * and arguments.
+391    * <p/>
+392    * <p>This form avoids superfluous object creation when the logger
+393    * is disabled for the INFO level. </p>
+394    *
+395    * @param format the format string
+396    * @param arg1   the first argument
+397    * @param arg2   the second argument
+398    */
+399   public void info(String format, Object arg1, Object arg2);
+400 
+401   /**
+402    * Log a message at the INFO level according to the specified format
+403    * and arguments.
+404    * <p/>
+405    * <p>This form avoids superfluous string concatenation when the logger
+406    * is disabled for the INFO level. However, this variant incurs the hidden
+407    * (and relatively small) cost of creating an <code>Object[]</code> before invoking the method,
+408    * even if this logger is disabled for INFO. The variants taking
+409    * {@link #info(String, Object) one} and {@link #info(String, Object, Object) two}
+410    * arguments exist solely in order to avoid this hidden cost.</p>
+411    *
+412    * @param format    the format string
+413    * @param arguments a list of 3 or more arguments
+414    */
+415   public void info(String format, Object... arguments);
+416 
+417   /**
+418    * Log an exception (throwable) at the INFO level with an
+419    * accompanying message.
+420    *
+421    * @param msg the message accompanying the exception
+422    * @param t   the exception (throwable) to log
+423    */
+424   public void info(String msg, Throwable t);
+425 
+426   /**
+427    * Similar to {@link #isInfoEnabled()} method except that the marker
+428    * data is also taken into consideration.
+429    *
+430    * @param marker The marker data to take into consideration
+431    * @return true if this logger is warn enabled, false otherwise 
+432    */
+433   public boolean isInfoEnabled(Marker marker);
+434 
+435   /**
+436    * Log a message with the specific Marker at the INFO level.
+437    *
+438    * @param marker The marker specific to this log statement
+439    * @param msg    the message string to be logged
+440    */
+441   public void info(Marker marker, String msg);
+442 
+443   /**
+444    * This method is similar to {@link #info(String, Object)} method except that the
+445    * marker data is also taken into consideration.
+446    *
+447    * @param marker the marker data specific to this log statement
+448    * @param format the format string
+449    * @param arg    the argument
+450    */
+451   public void info(Marker marker, String format, Object arg);
+452 
+453   /**
+454    * This method is similar to {@link #info(String, Object, Object)}
+455    * method except that the marker data is also taken into
+456    * consideration.
+457    *
+458    * @param marker the marker data specific to this log statement
+459    * @param format the format string
+460    * @param arg1   the first argument
+461    * @param arg2   the second argument
+462    */
+463   public void info(Marker marker, String format, Object arg1, Object arg2);
+464 
+465 
+466   /**
+467    * This method is similar to {@link #info(String, Object...)}
+468    * method except that the marker data is also taken into
+469    * consideration.
+470    *
+471    * @param marker    the marker data specific to this log statement
+472    * @param format    the format string
+473    * @param arguments a list of 3 or more arguments
+474    */
+475   public void info(Marker marker, String format, Object... arguments);
+476 
+477 
+478   /**
+479    * This method is similar to {@link #info(String, Throwable)} method
+480    * except that the marker data is also taken into consideration.
+481    *
+482    * @param marker the marker data for this log statement
+483    * @param msg    the message accompanying the exception
+484    * @param t      the exception (throwable) to log
+485    */
+486   public void info(Marker marker, String msg, Throwable t);
+487 
+488 
+489   /**
+490    * Is the logger instance enabled for the WARN level?
+491    *
+492    * @return True if this Logger is enabled for the WARN level,
+493    *         false otherwise.
+494    */
+495   public boolean isWarnEnabled();
+496 
+497   /**
+498    * Log a message at the WARN level.
+499    *
+500    * @param msg the message string to be logged
+501    */
+502   public void warn(String msg);
+503 
+504   /**
+505    * Log a message at the WARN level according to the specified format
+506    * and argument.
+507    * <p/>
+508    * <p>This form avoids superfluous object creation when the logger
+509    * is disabled for the WARN level. </p>
+510    *
+511    * @param format the format string
+512    * @param arg    the argument
+513    */
+514   public void warn(String format, Object arg);
+515 
+516 
+517   /**
+518    * Log a message at the WARN level according to the specified format
+519    * and arguments.
+520    * <p/>
+521    * <p>This form avoids superfluous string concatenation when the logger
+522    * is disabled for the WARN level. However, this variant incurs the hidden
+523    * (and relatively small) cost of creating an <code>Object[]</code> before invoking the method,
+524    * even if this logger is disabled for WARN. The variants taking
+525    * {@link #warn(String, Object) one} and {@link #warn(String, Object, Object) two}
+526    * arguments exist solely in order to avoid this hidden cost.</p>
+527    *
+528    * @param format    the format string
+529    * @param arguments a list of 3 or more arguments
+530    */
+531   public void warn(String format, Object... arguments);
+532 
+533   /**
+534    * Log a message at the WARN level according to the specified format
+535    * and arguments.
+536    * <p/>
+537    * <p>This form avoids superfluous object creation when the logger
+538    * is disabled for the WARN level. </p>
+539    *
+540    * @param format the format string
+541    * @param arg1   the first argument
+542    * @param arg2   the second argument
+543    */
+544   public void warn(String format, Object arg1, Object arg2);
+545 
+546   /**
+547    * Log an exception (throwable) at the WARN level with an
+548    * accompanying message.
+549    *
+550    * @param msg the message accompanying the exception
+551    * @param t   the exception (throwable) to log
+552    */
+553   public void warn(String msg, Throwable t);
+554 
+555 
+556   /**
+557    * Similar to {@link #isWarnEnabled()} method except that the marker
+558    * data is also taken into consideration.
+559    *
+560    * @param marker The marker data to take into consideration
+561    * @return True if this Logger is enabled for the WARN level,
+562    *         false otherwise.
+563    */
+564   public boolean isWarnEnabled(Marker marker);
+565 
+566   /**
+567    * Log a message with the specific Marker at the WARN level.
+568    *
+569    * @param marker The marker specific to this log statement
+570    * @param msg    the message string to be logged
+571    */
+572   public void warn(Marker marker, String msg);
+573 
+574   /**
+575    * This method is similar to {@link #warn(String, Object)} method except that the
+576    * marker data is also taken into consideration.
+577    *
+578    * @param marker the marker data specific to this log statement
+579    * @param format the format string
+580    * @param arg    the argument
+581    */
+582   public void warn(Marker marker, String format, Object arg);
+583 
+584   /**
+585    * This method is similar to {@link #warn(String, Object, Object)}
+586    * method except that the marker data is also taken into
+587    * consideration.
+588    *
+589    * @param marker the marker data specific to this log statement
+590    * @param format the format string
+591    * @param arg1   the first argument
+592    * @param arg2   the second argument
+593    */
+594   public void warn(Marker marker, String format, Object arg1, Object arg2);
+595 
+596   /**
+597    * This method is similar to {@link #warn(String, Object...)}
+598    * method except that the marker data is also taken into
+599    * consideration.
+600    *
+601    * @param marker    the marker data specific to this log statement
+602    * @param format    the format string
+603    * @param arguments a list of 3 or more arguments
+604    */
+605   public void warn(Marker marker, String format, Object... arguments);
+606 
+607 
+608   /**
+609    * This method is similar to {@link #warn(String, Throwable)} method
+610    * except that the marker data is also taken into consideration.
+611    *
+612    * @param marker the marker data for this log statement
+613    * @param msg    the message accompanying the exception
+614    * @param t      the exception (throwable) to log
+615    */
+616   public void warn(Marker marker, String msg, Throwable t);
+617 
+618 
+619   /**
+620    * Is the logger instance enabled for the ERROR level?
+621    *
+622    * @return True if this Logger is enabled for the ERROR level,
+623    *         false otherwise.
+624    */
+625   public boolean isErrorEnabled();
+626 
+627   /**
+628    * Log a message at the ERROR level.
+629    *
+630    * @param msg the message string to be logged
+631    */
+632   public void error(String msg);
+633 
+634   /**
+635    * Log a message at the ERROR level according to the specified format
+636    * and argument.
+637    * <p/>
+638    * <p>This form avoids superfluous object creation when the logger
+639    * is disabled for the ERROR level. </p>
+640    *
+641    * @param format the format string
+642    * @param arg    the argument
+643    */
+644   public void error(String format, Object arg);
+645 
+646   /**
+647    * Log a message at the ERROR level according to the specified format
+648    * and arguments.
+649    * <p/>
+650    * <p>This form avoids superfluous object creation when the logger
+651    * is disabled for the ERROR level. </p>
+652    *
+653    * @param format the format string
+654    * @param arg1   the first argument
+655    * @param arg2   the second argument
+656    */
+657   public void error(String format, Object arg1, Object arg2);
+658 
+659   /**
+660    * Log a message at the ERROR level according to the specified format
+661    * and arguments.
+662    * <p/>
+663    * <p>This form avoids superfluous string concatenation when the logger
+664    * is disabled for the ERROR level. However, this variant incurs the hidden
+665    * (and relatively small) cost of creating an <code>Object[]</code> before invoking the method,
+666    * even if this logger is disabled for ERROR. The variants taking
+667    * {@link #error(String, Object) one} and {@link #error(String, Object, Object) two}
+668    * arguments exist solely in order to avoid this hidden cost.</p>
+669    *
+670    * @param format    the format string
+671    * @param arguments a list of 3 or more arguments
+672    */
+673   public void error(String format, Object... arguments);
+674 
+675   /**
+676    * Log an exception (throwable) at the ERROR level with an
+677    * accompanying message.
+678    *
+679    * @param msg the message accompanying the exception
+680    * @param t   the exception (throwable) to log
+681    */
+682   public void error(String msg, Throwable t);
+683 
+684 
+685   /**
+686    * Similar to {@link #isErrorEnabled()} method except that the
+687    * marker data is also taken into consideration.
+688    *
+689    * @param marker The marker data to take into consideration
+690    * @return True if this Logger is enabled for the ERROR level,
+691    *         false otherwise.
+692    */
+693   public boolean isErrorEnabled(Marker marker);
+694 
+695   /**
+696    * Log a message with the specific Marker at the ERROR level.
+697    *
+698    * @param marker The marker specific to this log statement
+699    * @param msg    the message string to be logged
+700    */
+701   public void error(Marker marker, String msg);
+702 
+703   /**
+704    * This method is similar to {@link #error(String, Object)} method except that the
+705    * marker data is also taken into consideration.
+706    *
+707    * @param marker the marker data specific to this log statement
+708    * @param format the format string
+709    * @param arg    the argument
+710    */
+711   public void error(Marker marker, String format, Object arg);
+712 
+713   /**
+714    * This method is similar to {@link #error(String, Object, Object)}
+715    * method except that the marker data is also taken into
+716    * consideration.
+717    *
+718    * @param marker the marker data specific to this log statement
+719    * @param format the format string
+720    * @param arg1   the first argument
+721    * @param arg2   the second argument
+722    */
+723   public void error(Marker marker, String format, Object arg1, Object arg2);
+724 
+725   /**
+726    * This method is similar to {@link #error(String, Object...)}
+727    * method except that the marker data is also taken into
+728    * consideration.
+729    *
+730    * @param marker    the marker data specific to this log statement
+731    * @param format    the format string
+732    * @param arguments a list of 3 or more arguments
+733    */
+734   public void error(Marker marker, String format, Object... arguments);
+735 
+736 
+737   /**
+738    * This method is similar to {@link #error(String, Throwable)}
+739    * method except that the marker data is also taken into
+740    * consideration.
+741    *
+742    * @param marker the marker data specific to this log statement
+743    * @param msg    the message accompanying the exception
+744    * @param t      the exception (throwable) to log
+745    */
+746   public void error(Marker marker, String msg, Throwable t);
+747 
+748 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/LoggerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/LoggerFactory.html new file mode 100644 index 0000000..61ff93d --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/LoggerFactory.html @@ -0,0 +1,325 @@ + + + + +LoggerFactory xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j;
+26  
+27  import java.io.IOException;
+28  import java.net.URL;
+29  import java.util.*;
+30  
+31  import org.slf4j.helpers.NOPLoggerFactory;
+32  import org.slf4j.helpers.SubstituteLoggerFactory;
+33  import org.slf4j.helpers.Util;
+34  import org.slf4j.impl.StaticLoggerBinder;
+35  
+36  /**
+37   * The <code>LoggerFactory</code> is a utility class producing Loggers for
+38   * various logging APIs, most notably for log4j, logback and JDK 1.4 logging.
+39   * Other implementations such as {@link org.slf4j.impl.NOPLogger NOPLogger} and
+40   * {@link org.slf4j.impl.SimpleLogger SimpleLogger} are also supported.
+41   * <p/>
+42   * <p/>
+43   * <code>LoggerFactory</code> is essentially a wrapper around an
+44   * {@link ILoggerFactory} instance bound with <code>LoggerFactory</code> at
+45   * compile time.
+46   * <p/>
+47   * <p/>
+48   * Please note that all methods in <code>LoggerFactory</code> are static.
+49   *
+50   * @author Ceki G&uuml;lc&uuml;
+51   * @author Robert Elliot
+52   */
+53  public final class LoggerFactory {
+54  
+55    static final String CODES_PREFIX = "http://www.slf4j.org/codes.html";
+56  
+57    static final String NO_STATICLOGGERBINDER_URL = CODES_PREFIX + "#StaticLoggerBinder";
+58    static final String MULTIPLE_BINDINGS_URL = CODES_PREFIX + "#multiple_bindings";
+59    static final String NULL_LF_URL = CODES_PREFIX + "#null_LF";
+60    static final String VERSION_MISMATCH = CODES_PREFIX + "#version_mismatch";
+61    static final String SUBSTITUTE_LOGGER_URL = CODES_PREFIX + "#substituteLogger";
+62  
+63    static final String UNSUCCESSFUL_INIT_URL = CODES_PREFIX + "#unsuccessfulInit";
+64    static final String UNSUCCESSFUL_INIT_MSG = "org.slf4j.LoggerFactory could not be successfully initialized. See also "
+65            + UNSUCCESSFUL_INIT_URL;
+66  
+67    static final int UNINITIALIZED = 0;
+68    static final int ONGOING_INITIALIZATION = 1;
+69    static final int FAILED_INITIALIZATION = 2;
+70    static final int SUCCESSFUL_INITIALIZATION = 3;
+71    static final int NOP_FALLBACK_INITIALIZATION = 4;
+72  
+73    static int INITIALIZATION_STATE = UNINITIALIZED;
+74    static SubstituteLoggerFactory TEMP_FACTORY = new SubstituteLoggerFactory();
+75    static NOPLoggerFactory NOP_FALLBACK_FACTORY = new NOPLoggerFactory();
+76  
+77    /**
+78     * It is LoggerFactory's responsibility to track version changes and manage
+79     * the compatibility list.
+80     * <p/>
+81     * <p/>
+82     * It is assumed that all versions in the 1.6 are mutually compatible.
+83     */
+84    static private final String[] API_COMPATIBILITY_LIST = new String[]{"1.6", "1.7"};
+85  
+86    // private constructor prevents instantiation
+87    private LoggerFactory() {
+88    }
+89  
+90    /**
+91     * Force LoggerFactory to consider itself uninitialized.
+92     * <p/>
+93     * <p/>
+94     * This method is intended to be called by classes (in the same package) for
+95     * testing purposes. This method is internal. It can be modified, renamed or
+96     * removed at any time without notice.
+97     * <p/>
+98     * <p/>
+99     * You are strongly discouraged from calling this method in production code.
+100    */
+101   static void reset() {
+102     INITIALIZATION_STATE = UNINITIALIZED;
+103     TEMP_FACTORY = new SubstituteLoggerFactory();
+104   }
+105 
+106   private final static void performInitialization() {
+107     bind();
+108     if (INITIALIZATION_STATE == SUCCESSFUL_INITIALIZATION) {
+109       versionSanityCheck();
+110     }
+111   }
+112 
+113   private static boolean messageContainsOrgSlf4jImplStaticLoggerBinder(String msg) {
+114     if (msg == null)
+115       return false;
+116     if (msg.indexOf("org/slf4j/impl/StaticLoggerBinder") != -1)
+117       return true;
+118     if (msg.indexOf("org.slf4j.impl.StaticLoggerBinder") != -1)
+119       return true;
+120     return false;
+121   }
+122 
+123   private final static void bind() {
+124     try {
+125       Set staticLoggerBinderPathSet = findPossibleStaticLoggerBinderPathSet();
+126       reportMultipleBindingAmbiguity(staticLoggerBinderPathSet);
+127       // the next line does the binding
+128       StaticLoggerBinder.getSingleton();
+129       INITIALIZATION_STATE = SUCCESSFUL_INITIALIZATION;
+130       reportActualBinding(staticLoggerBinderPathSet);
+131       emitSubstituteLoggerWarning();
+132     } catch (NoClassDefFoundError ncde) {
+133       String msg = ncde.getMessage();
+134       if (messageContainsOrgSlf4jImplStaticLoggerBinder(msg)) {
+135         INITIALIZATION_STATE = NOP_FALLBACK_INITIALIZATION;
+136         Util.report("Failed to load class \"org.slf4j.impl.StaticLoggerBinder\".");
+137         Util.report("Defaulting to no-operation (NOP) logger implementation");
+138         Util.report("See " + NO_STATICLOGGERBINDER_URL
+139                 + " for further details.");
+140       } else {
+141         failedBinding(ncde);
+142         throw ncde;
+143       }
+144     } catch (java.lang.NoSuchMethodError nsme) {
+145       String msg = nsme.getMessage();
+146       if (msg != null && msg.indexOf("org.slf4j.impl.StaticLoggerBinder.getSingleton()") != -1) {
+147         INITIALIZATION_STATE = FAILED_INITIALIZATION;
+148         Util.report("slf4j-api 1.6.x (or later) is incompatible with this binding.");
+149         Util.report("Your binding is version 1.5.5 or earlier.");
+150         Util.report("Upgrade your binding to version 1.6.x.");
+151       }
+152       throw nsme;
+153     } catch (Exception e) {
+154       failedBinding(e);
+155       throw new IllegalStateException("Unexpected initialization failure", e);
+156     }
+157   }
+158 
+159   static void failedBinding(Throwable t) {
+160     INITIALIZATION_STATE = FAILED_INITIALIZATION;
+161     Util.report("Failed to instantiate SLF4J LoggerFactory", t);
+162   }
+163 
+164   private final static void emitSubstituteLoggerWarning() {
+165     List loggerNameList = TEMP_FACTORY.getLoggerNameList();
+166     if (loggerNameList.size() == 0) {
+167       return;
+168     }
+169     Util.report("The following loggers will not work because they were created");
+170     Util.report("during the default configuration phase of the underlying logging system.");
+171     Util.report("See also " + SUBSTITUTE_LOGGER_URL);
+172     for (int i = 0; i < loggerNameList.size(); i++) {
+173       String loggerName = (String) loggerNameList.get(i);
+174       Util.report(loggerName);
+175     }
+176   }
+177 
+178   private final static void versionSanityCheck() {
+179     try {
+180       String requested = StaticLoggerBinder.REQUESTED_API_VERSION;
+181 
+182       boolean match = false;
+183       for (int i = 0; i < API_COMPATIBILITY_LIST.length; i++) {
+184         if (requested.startsWith(API_COMPATIBILITY_LIST[i])) {
+185           match = true;
+186         }
+187       }
+188       if (!match) {
+189         Util.report("The requested version " + requested
+190                 + " by your slf4j binding is not compatible with "
+191                 + Arrays.asList(API_COMPATIBILITY_LIST).toString());
+192         Util.report("See " + VERSION_MISMATCH + " for further details.");
+193       }
+194     } catch (java.lang.NoSuchFieldError nsfe) {
+195       // given our large user base and SLF4J's commitment to backward
+196       // compatibility, we cannot cry here. Only for implementations
+197       // which willingly declare a REQUESTED_API_VERSION field do we
+198       // emit compatibility warnings.
+199     } catch (Throwable e) {
+200       // we should never reach here
+201       Util.report("Unexpected problem occured during version sanity check", e);
+202     }
+203   }
+204 
+205   // We need to use the name of the StaticLoggerBinder class, but we can't reference
+206   // the class itself.
+207   private static String STATIC_LOGGER_BINDER_PATH = "org/slf4j/impl/StaticLoggerBinder.class";
+208 
+209   private static Set findPossibleStaticLoggerBinderPathSet() {
+210     // use Set instead of list in order to deal with  bug #138
+211     // LinkedHashSet appropriate here because it preserves insertion order during iteration
+212     Set staticLoggerBinderPathSet = new LinkedHashSet();
+213     try {
+214       ClassLoader loggerFactoryClassLoader = LoggerFactory.class
+215               .getClassLoader();
+216       Enumeration paths;
+217       if (loggerFactoryClassLoader == null) {
+218         paths = ClassLoader.getSystemResources(STATIC_LOGGER_BINDER_PATH);
+219       } else {
+220         paths = loggerFactoryClassLoader
+221                 .getResources(STATIC_LOGGER_BINDER_PATH);
+222       }
+223       while (paths.hasMoreElements()) {
+224         URL path = (URL) paths.nextElement();
+225         staticLoggerBinderPathSet.add(path);
+226       }
+227     } catch (IOException ioe) {
+228       Util.report("Error getting resources from path", ioe);
+229     }
+230     return staticLoggerBinderPathSet;
+231   }
+232 
+233   private static boolean isAmbiguousStaticLoggerBinderPathSet(Set staticLoggerBinderPathSet) {
+234     return staticLoggerBinderPathSet.size() > 1;
+235   }
+236 
+237   /**
+238    * Prints a warning message on the console if multiple bindings were found on the class path.
+239    * No reporting is done otherwise.
+240    *
+241    */
+242   private static void reportMultipleBindingAmbiguity(Set staticLoggerBinderPathSet) {
+243     if (isAmbiguousStaticLoggerBinderPathSet(staticLoggerBinderPathSet)) {
+244       Util.report("Class path contains multiple SLF4J bindings.");
+245       Iterator iterator = staticLoggerBinderPathSet.iterator();
+246       while (iterator.hasNext()) {
+247         URL path = (URL) iterator.next();
+248         Util.report("Found binding in [" + path + "]");
+249       }
+250       Util.report("See " + MULTIPLE_BINDINGS_URL + " for an explanation.");
+251     }
+252   }
+253 
+254   private static void reportActualBinding(Set staticLoggerBinderPathSet) {
+255     if (isAmbiguousStaticLoggerBinderPathSet(staticLoggerBinderPathSet)) {
+256       Util.report("Actual binding is of type ["+StaticLoggerBinder.getSingleton().getLoggerFactoryClassStr()+"]");
+257     }
+258   }
+259 
+260 
+261   /**
+262    * Return a logger named according to the name parameter using the statically
+263    * bound {@link ILoggerFactory} instance.
+264    *
+265    * @param name The name of the logger.
+266    * @return logger
+267    */
+268   public static Logger getLogger(String name) {
+269     ILoggerFactory iLoggerFactory = getILoggerFactory();
+270     return iLoggerFactory.getLogger(name);
+271   }
+272 
+273   /**
+274    * Return a logger named corresponding to the class passed as parameter, using
+275    * the statically bound {@link ILoggerFactory} instance.
+276    *
+277    * @param clazz the returned logger will be named after clazz
+278    * @return logger
+279    */
+280   public static Logger getLogger(Class clazz) {
+281     return getLogger(clazz.getName());
+282   }
+283 
+284   /**
+285    * Return the {@link ILoggerFactory} instance in use.
+286    * <p/>
+287    * <p/>
+288    * ILoggerFactory instance is bound with this class at compile time.
+289    *
+290    * @return the ILoggerFactory instance in use
+291    */
+292   public static ILoggerFactory getILoggerFactory() {
+293     if (INITIALIZATION_STATE == UNINITIALIZED) {
+294       INITIALIZATION_STATE = ONGOING_INITIALIZATION;
+295       performInitialization();
+296     }
+297     switch (INITIALIZATION_STATE) {
+298       case SUCCESSFUL_INITIALIZATION:
+299         return StaticLoggerBinder.getSingleton().getLoggerFactory();
+300       case NOP_FALLBACK_INITIALIZATION:
+301         return NOP_FALLBACK_FACTORY;
+302       case FAILED_INITIALIZATION:
+303         throw new IllegalStateException(UNSUCCESSFUL_INIT_MSG);
+304       case ONGOING_INITIALIZATION:
+305         // support re-entrant behavior.
+306         // See also http://bugzilla.slf4j.org/show_bug.cgi?id=106
+307         return TEMP_FACTORY;
+308     }
+309     throw new IllegalStateException("Unreachable code");
+310   }
+311 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/MDC.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/MDC.html new file mode 100644 index 0000000..66af4eb --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/MDC.html @@ -0,0 +1,232 @@ + + + + +MDC xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j;
+26  
+27  import java.util.Map;
+28  
+29  import org.slf4j.helpers.NOPMDCAdapter;
+30  import org.slf4j.helpers.BasicMDCAdapter;
+31  import org.slf4j.helpers.Util;
+32  import org.slf4j.impl.StaticMDCBinder;
+33  import org.slf4j.spi.MDCAdapter;
+34  
+35  /**
+36   * This class hides and serves as a substitute for the underlying logging
+37   * system's MDC implementation.
+38   * 
+39   * <p>
+40   * If the underlying logging system offers MDC functionality, then SLF4J's MDC,
+41   * i.e. this class, will delegate to the underlying system's MDC. Note that at
+42   * this time, only two logging systems, namely log4j and logback, offer MDC
+43   * functionality. For java.util.logging which does not support MDC,
+44   * {@link BasicMDCAdapter} will be used. For other systems, i.e slf4j-simple
+45   * and slf4j-nop, {@link NOPMDCAdapter} will be used.
+46   *
+47   * <p>
+48   * Thus, as a SLF4J user, you can take advantage of MDC in the presence of log4j,
+49   * logback, or java.util.logging, but without forcing these systems as
+50   * dependencies upon your users.
+51   * 
+52   * <p>
+53   * For more information on MDC please see the <a
+54   * href="http://logback.qos.ch/manual/mdc.html">chapter on MDC</a> in the
+55   * logback manual.
+56   * 
+57   * <p>
+58   * Please note that all methods in this class are static.
+59   * 
+60   * @author Ceki G&uuml;lc&uuml;
+61   * @since 1.4.1
+62   */
+63  public class MDC {
+64  
+65    static final String NULL_MDCA_URL = "http://www.slf4j.org/codes.html#null_MDCA";
+66    static final String NO_STATIC_MDC_BINDER_URL = "http://www.slf4j.org/codes.html#no_static_mdc_binder";
+67    static MDCAdapter mdcAdapter;
+68  
+69    private MDC() {
+70    }
+71  
+72    static {
+73      try {
+74        mdcAdapter = StaticMDCBinder.SINGLETON.getMDCA();
+75      } catch (NoClassDefFoundError ncde) {
+76        mdcAdapter = new NOPMDCAdapter();
+77        String msg = ncde.getMessage();
+78        if (msg != null && msg.indexOf("StaticMDCBinder") != -1) {
+79          Util.report("Failed to load class \"org.slf4j.impl.StaticMDCBinder\".");
+80          Util.report("Defaulting to no-operation MDCAdapter implementation.");
+81          Util
+82              .report("See " + NO_STATIC_MDC_BINDER_URL + " for further details.");
+83        } else {
+84          throw ncde;
+85        }
+86      } catch (Exception e) {
+87        // we should never get here
+88        Util.report("MDC binding unsuccessful.", e);
+89      }
+90    }
+91  
+92    /**
+93     * Put a diagnostic context value (the <code>val</code> parameter) as identified with the
+94     * <code>key</code> parameter into the current thread's diagnostic context map. The
+95     * <code>key</code> parameter cannot be null. The <code>val</code> parameter
+96     * can be null only if the underlying implementation supports it.
+97     * 
+98     * <p>
+99     * This method delegates all work to the MDC of the underlying logging system.
+100    *
+101    * @param key non-null key 
+102    * @param val value to put in the map
+103    * 
+104    * @throws IllegalArgumentException
+105    *           in case the "key" parameter is null
+106    */
+107   public static void put(String key, String val)
+108       throws IllegalArgumentException {
+109     if (key == null) {
+110       throw new IllegalArgumentException("key parameter cannot be null");
+111     }
+112     if (mdcAdapter == null) {
+113       throw new IllegalStateException("MDCAdapter cannot be null. See also "
+114           + NULL_MDCA_URL);
+115     }
+116     mdcAdapter.put(key, val);
+117   }
+118 
+119   /**
+120    * Get the diagnostic context identified by the <code>key</code> parameter. The
+121    * <code>key</code> parameter cannot be null.
+122    * 
+123    * <p>
+124    * This method delegates all work to the MDC of the underlying logging system.
+125    *
+126    * @param key  
+127    * @return the string value identified by the <code>key</code> parameter.
+128    * @throws IllegalArgumentException
+129    *           in case the "key" parameter is null
+130    */
+131   public static String get(String key) throws IllegalArgumentException {
+132     if (key == null) {
+133       throw new IllegalArgumentException("key parameter cannot be null");
+134     }
+135 
+136     if (mdcAdapter == null) {
+137       throw new IllegalStateException("MDCAdapter cannot be null. See also "
+138           + NULL_MDCA_URL);
+139     }
+140     return mdcAdapter.get(key);
+141   }
+142 
+143   /**
+144    * Remove the diagnostic context identified by the <code>key</code> parameter using
+145    * the underlying system's MDC implementation. The <code>key</code> parameter
+146    * cannot be null. This method does nothing if there is no previous value
+147    * associated with <code>key</code>.
+148    *
+149    * @param key  
+150    * @throws IllegalArgumentException
+151    *           in case the "key" parameter is null
+152    */
+153   public static void remove(String key) throws IllegalArgumentException {
+154     if (key == null) {
+155       throw new IllegalArgumentException("key parameter cannot be null");
+156     }
+157 
+158     if (mdcAdapter == null) {
+159       throw new IllegalStateException("MDCAdapter cannot be null. See also "
+160           + NULL_MDCA_URL);
+161     }
+162     mdcAdapter.remove(key);
+163   }
+164 
+165   /**
+166    * Clear all entries in the MDC of the underlying implementation.
+167    */
+168   public static void clear() {
+169     if (mdcAdapter == null) {
+170       throw new IllegalStateException("MDCAdapter cannot be null. See also "
+171           + NULL_MDCA_URL);
+172     }
+173     mdcAdapter.clear();
+174   }
+175 
+176   /**
+177    * Return a copy of the current thread's context map, with keys and values of
+178    * type String. Returned value may be null.
+179    * 
+180    * @return A copy of the current thread's context map. May be null.
+181    * @since 1.5.1
+182    */
+183   public static Map getCopyOfContextMap() {
+184     if (mdcAdapter == null) {
+185       throw new IllegalStateException("MDCAdapter cannot be null. See also "
+186           + NULL_MDCA_URL);
+187     }
+188     return mdcAdapter.getCopyOfContextMap();
+189   }
+190 
+191   /**
+192    * Set the current thread's context map by first clearing any existing map and
+193    * then copying the map passed as parameter. The context map passed as
+194    * parameter must only contain keys and values of type String.
+195    * 
+196    * @param contextMap
+197    *          must contain only keys and values of type String
+198    * @since 1.5.1
+199    */
+200   public static void setContextMap(Map contextMap) {
+201     if (mdcAdapter == null) {
+202       throw new IllegalStateException("MDCAdapter cannot be null. See also "
+203           + NULL_MDCA_URL);
+204     }
+205     mdcAdapter.setContextMap(contextMap);
+206   }
+207 
+208   /**
+209    * Returns the MDCAdapter instance currently in use.
+210    * 
+211    * @return the MDcAdapter instance currently in use.
+212    * @since 1.4.2
+213    */
+214   public static MDCAdapter getMDCAdapter() {
+215     return mdcAdapter;
+216   }
+217 
+218 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/Marker.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/Marker.html new file mode 100644 index 0000000..6366ac4 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/Marker.html @@ -0,0 +1,156 @@ + + + + +Marker xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j;
+26  
+27  import java.io.Serializable;
+28  import java.util.Iterator;
+29  
+30  /**
+31   * Markers are named objects used to enrich log statements. Conforming logging
+32   * system Implementations of SLF4J determine how information conveyed by markers
+33   * are used, if at all. In particular, many conforming logging systems ignore
+34   * marker data.
+35   * 
+36   * <p>
+37   * Markers can contain references to other markers, which in turn may contain 
+38   * references of their own.
+39   * 
+40   * @author Ceki G&uuml;lc&uuml;
+41   */
+42  public interface Marker extends Serializable {
+43  
+44    /**
+45     * This constant represents any marker, including a null marker.
+46     */
+47    public final String ANY_MARKER = "*";
+48  
+49    /**
+50     * This constant represents any non-null marker.
+51     */
+52    public final String ANY_NON_NULL_MARKER = "+";
+53  
+54    /**
+55     * Get the name of this Marker.
+56     * 
+57     * @return name of marker
+58     */
+59    public String getName();
+60  
+61    /**
+62     * Add a reference to another Marker.
+63     * 
+64     * @param reference
+65     *                a reference to another marker
+66     * @throws IllegalArgumentException
+67     *                 if 'reference' is null
+68     */
+69    public void add(Marker reference);
+70  
+71    /**
+72     * Remove a marker reference.
+73     * 
+74     * @param reference
+75     *                the marker reference to remove
+76     * @return true if reference could be found and removed, false otherwise.
+77     */
+78    public boolean remove(Marker reference);
+79  
+80    /**
+81     * @deprecated Replaced by {@link #hasReferences()}.
+82     */
+83    public boolean hasChildren();
+84    
+85    /**
+86     * Does this marker have any references?
+87     * 
+88     * @return true if this marker has one or more references, false otherwise.
+89     */
+90    public boolean hasReferences();
+91    
+92    /**
+93     * Returns an Iterator which can be used to iterate over the references of this
+94     * marker. An empty iterator is returned when this marker has no references.
+95     * 
+96     * @return Iterator over the references of this marker
+97     */
+98    public Iterator iterator();
+99  
+100   /**
+101    * Does this marker contain a reference to the 'other' marker? Marker A is defined 
+102    * to contain marker B, if A == B or if B is referenced by A, or if B is referenced
+103    * by any one of A's references (recursively).
+104    * 
+105    * @param other
+106    *                The marker to test for inclusion.
+107    * @throws IllegalArgumentException
+108    *                 if 'other' is null
+109    * @return Whether this marker contains the other marker.
+110    */
+111   public boolean contains(Marker other);
+112 
+113   /**
+114    * Does this marker contain the marker named 'name'?
+115    * 
+116    * If 'name' is null the returned value is always false.
+117    * 
+118    * @param name The marker name to test for inclusion.
+119    * @return Whether this marker contains the other marker.
+120    */
+121   public boolean contains(String name);
+122 
+123   /**
+124    * Markers are considered equal if they have the same name.
+125    *
+126    * @param o
+127    * @return true, if this.name equals o.name
+128    *
+129    * @since 1.5.1
+130    */
+131   public boolean equals(Object o);
+132 
+133   /**
+134    * Compute the hash code based on the name of this marker.
+135    * Note that markers are considered equal if they have the same name.
+136    * 
+137    * @return the computed hashCode
+138    * @since 1.5.1
+139    */
+140   public int hashCode();
+141 
+142 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/MarkerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/MarkerFactory.html new file mode 100644 index 0000000..e10a497 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/MarkerFactory.html @@ -0,0 +1,110 @@ + + + + +MarkerFactory xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j;
+26  
+27  import org.slf4j.helpers.BasicMarkerFactory;
+28  import org.slf4j.helpers.Util;
+29  import org.slf4j.impl.StaticMarkerBinder;
+30  
+31  /**
+32   * MarkerFactory is a utility class producing {@link Marker} instances as
+33   * appropriate for the logging system currently in use.
+34   * 
+35   * <p>
+36   * This class is essentially implemented as a wrapper around an
+37   * {@link IMarkerFactory} instance bound at compile time.
+38   * 
+39   * <p>
+40   * Please note that all methods in this class are static.
+41   * 
+42   * @author Ceki G&uuml;lc&uuml;
+43   */
+44  public class MarkerFactory {
+45    static IMarkerFactory markerFactory;
+46  
+47    private MarkerFactory() {
+48    }
+49  
+50    static {
+51      try {
+52        markerFactory = StaticMarkerBinder.SINGLETON.getMarkerFactory();
+53      } catch (NoClassDefFoundError e) {
+54        markerFactory = new BasicMarkerFactory();
+55        
+56      } catch (Exception e) {
+57        // we should never get here
+58        Util.report("Unexpected failure while binding MarkerFactory", e);
+59      }
+60    }
+61  
+62    /**
+63     * Return a Marker instance as specified by the name parameter using the
+64     * previously bound {@link IMarkerFactory}instance.
+65     * 
+66     * @param name
+67     *          The name of the {@link Marker} object to return.
+68     * @return marker
+69     */
+70    public static Marker getMarker(String name) {
+71      return markerFactory.getMarker(name);
+72    }
+73  
+74    /**
+75     * Create a marker which is detached (even at birth) from the MarkerFactory.
+76     *
+77     * @param name the name of the marker
+78     * @return a dangling marker
+79     * @since 1.5.1
+80     */
+81    public static Marker getDetachedMarker(String name) {
+82      return markerFactory.getDetachedMarker(name);
+83    }
+84    
+85    /**
+86     * Return the {@link IMarkerFactory}instance in use.
+87     * 
+88     * <p>The IMarkerFactory instance is usually bound with this class at 
+89     * compile time.
+90     * 
+91     * @return the IMarkerFactory instance in use
+92     */
+93    public static IMarkerFactory getIMarkerFactory() {
+94      return markerFactory;
+95    }
+96  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/NDC.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/NDC.html new file mode 100644 index 0000000..c322e28 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/NDC.html @@ -0,0 +1,76 @@ + + + + +NDC xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j;
+26  
+27  import org.slf4j.MDC;
+28  
+29  public class NDC {
+30    public final static String PREFIX = "NDC";
+31  
+32    private static int size() {
+33      int i = 0;
+34      while (true) {
+35        String val = MDC.get(PREFIX + i);
+36        if (val != null) {
+37          i++;
+38        } else {
+39          break;
+40        }
+41      }
+42      return i;
+43    }
+44  
+45    public static void push(String val) {
+46      int next = size();
+47      MDC.put(PREFIX + next, val);
+48    }
+49  
+50    public static String pop() {
+51      int next = size();
+52      if(next == 0) {
+53        return "";
+54      }
+55      int last = next-1; 
+56      String key = PREFIX+last;
+57      String val = MDC.get(key);
+58      MDC.remove(key);
+59      return val;
+60    }
+61  
+62  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/agent/AgentOptions.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/agent/AgentOptions.html new file mode 100644 index 0000000..26f9a57 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/agent/AgentOptions.html @@ -0,0 +1,77 @@ + + + + +AgentOptions xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.agent;
+26  
+27  /**
+28   * <p>
+29   * All recognized options in the string passed to the java agent. For
+30   * "java -javaagent:foo.jar=OPTIONS HelloWorld" this would be "OPTIONS".
+31   * </p>
+32   * <p>
+33   * It is considered to be a list of options separated by (currently) ";", on the
+34   * form "option=value". The interpretation of "value" is specific to each
+35   * option.
+36   * </p>
+37   */
+38  public class AgentOptions {
+39  
+40    /**
+41     * List of class prefixes to ignore when instrumenting. Note: Classes loaded
+42     * before the agent cannot be instrumented.
+43     */
+44    public static final String IGNORE = "ignore";
+45    /**
+46     * Indicate the SLF4J level that should be used by the logging statements
+47     * added by the agent. Default is "info".
+48     */
+49    public static final String LEVEL = "level";
+50    /**
+51     * Indicate that the agent should print out "new java.util.Date()" at the time
+52     * the option was processed and at shutdown time (using the shutdown hook).
+53     * 
+54     */
+55    public static final String TIME = "time";
+56    /**
+57     * Indicate that the agent should log actions to System.err, like adding
+58     * logging to methods, etc.
+59     * 
+60     */
+61    public static final String VERBOSE = "verbose";
+62  
+63  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/agent/AgentPremain.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/agent/AgentPremain.html new file mode 100644 index 0000000..459926f --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/agent/AgentPremain.html @@ -0,0 +1,145 @@ + + + + +AgentPremain xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.agent;
+26  
+27  import java.io.ByteArrayInputStream;
+28  import java.io.IOException;
+29  import java.lang.instrument.Instrumentation;
+30  import java.util.Date;
+31  import java.util.Properties;
+32  
+33  import org.slf4j.instrumentation.LogTransformer;
+34  
+35  /**
+36   * Entry point for slf4j-ext when used as a Java agent.
+37   * 
+38   */
+39  public class AgentPremain {
+40  
+41  	/**
+42  	 * JavaAgent premain entry point as specified in the MANIFEST.MF file. See
+43  	 * {@link http
+44  	 * ://java.sun.com/javase/6/docs/api/java/lang/instrument/package-
+45  	 * summary.html} for details.
+46  	 * 
+47  	 * @param agentArgument
+48  	 *            string provided after "=" up to first space
+49  	 * @param instrumentation
+50  	 *            instrumentation environment provided by the JVM
+51  	 */
+52  	public static void premain(String agentArgument,
+53  			Instrumentation instrumentation) {
+54  
+55  		// We cannot do sanity checks for slf4j here as the jars loaded
+56  		// by the application are not visible here.
+57  
+58  		LogTransformer.Builder builder = new LogTransformer.Builder();
+59  		builder = builder.addEntryExit(true);
+60  
+61  		if (agentArgument != null) {
+62  			Properties args = parseArguments(agentArgument, ",");
+63  
+64  			if (args.containsKey(AgentOptions.VERBOSE)) {
+65  				builder = builder.verbose(true);
+66  			}
+67  
+68  			if (args.containsKey(AgentOptions.TIME)) {
+69  				printStartStopTimes();
+70  			}
+71  
+72  			if (args.containsKey(AgentOptions.IGNORE)) {
+73  				String ignore = args.getProperty(AgentOptions.IGNORE);
+74  				builder = builder.ignore(ignore.split(":"));
+75  			}
+76  
+77  			if (args.containsKey(AgentOptions.LEVEL)) {
+78  				builder = builder.level(args.getProperty(AgentOptions.LEVEL));
+79  			}
+80  		}
+81  
+82  		instrumentation.addTransformer(builder.build());
+83  	}
+84  
+85  	/**
+86  	 * Consider the argument string to be a property file (by converting the
+87  	 * splitter character to line feeds), and then reading it like any other
+88  	 * property file.
+89  	 * 
+90  	 * 
+91  	 * @param agentArgument
+92  	 *            string given by instrumentation framework
+93  	 * @param separator
+94  	 *            String to convert to line feeds
+95  	 * @return argument converted to properties
+96  	 */
+97  	private static Properties parseArguments(String agentArgument,
+98  			String separator) {
+99  		Properties p = new Properties();
+100 		try {
+101 			String argumentAsLines = agentArgument.replaceAll(separator, "\n");
+102 			p.load(new ByteArrayInputStream(argumentAsLines.getBytes()));
+103 		} catch (IOException e) {
+104 			String s = "Could not load arguments as properties";
+105 			throw new RuntimeException(s, e);
+106 		}
+107 		return p;
+108 	}
+109 
+110 	/**
+111 	 * Print the start message to System.err with the time NOW, and register a
+112 	 * shutdown hook which will print the stop message to System.err with the
+113 	 * time then and the number of milliseconds passed since.
+114 	 * 
+115 	 */
+116 	private static void printStartStopTimes() {
+117 		final long start = System.currentTimeMillis();
+118 
+119 		System.err.println("Start at " + new Date());
+120 
+121 		Thread hook = new Thread() {
+122 			@Override
+123 			public void run() {
+124 				long timePassed = System.currentTimeMillis() - start;
+125 				System.err.println("Stop at " + new Date()
+126 						+ ", execution time = " + timePassed + " ms");
+127 			}
+128 		};
+129 		Runtime.getRuntime().addShutdownHook(hook);
+130 	}
+131 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/agent/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/agent/package-frame.html new file mode 100644 index 0000000..15bf2ce --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/agent/package-frame.html @@ -0,0 +1,27 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.agent + + + + +

+ org.slf4j.agent +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/agent/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/agent/package-summary.html new file mode 100644 index 0000000..1809d2a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/agent/package-summary.html @@ -0,0 +1,72 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.agent + + + +
+ +
+
+ +
+ +

Package org.slf4j.agent

+ + + + + + + + + + + + + + + +
Class Summary
+ AgentOptions +
+ AgentPremain +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/bridge/SLF4JBridgeHandler.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/bridge/SLF4JBridgeHandler.html new file mode 100644 index 0000000..e458087 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/bridge/SLF4JBridgeHandler.html @@ -0,0 +1,321 @@ + + + + +SLF4JBridgeHandler xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.bridge;
+26  
+27  import java.text.MessageFormat;
+28  import java.util.MissingResourceException;
+29  import java.util.ResourceBundle;
+30  import java.util.logging.Handler;
+31  import java.util.logging.Level;
+32  import java.util.logging.LogManager;
+33  import java.util.logging.LogRecord;
+34  
+35  import org.slf4j.Logger;
+36  import org.slf4j.LoggerFactory;
+37  import org.slf4j.spi.LocationAwareLogger;
+38  
+39  // Based on http://bugzilla.slf4j.org/show_bug.cgi?id=38
+40  
+41  /**
+42   * <p>Bridge/route all JUL log records to the SLF4J API.</p>
+43   * <p>Essentially, the idea is to install on the root logger an instance of
+44   * <code>SLF4JBridgeHandler</code> as the sole JUL handler in the system. Subsequently, the
+45   * SLF4JBridgeHandler instance will redirect all JUL log records are redirected
+46   * to the SLF4J API based on the following mapping of levels:
+47   * </p>
+48   * <pre>
+49   * FINEST  -&gt; TRACE
+50   * FINER   -&gt; DEBUG
+51   * FINE    -&gt; DEBUG
+52   * INFO    -&gt; INFO
+53   * WARNING -&gt; WARN
+54   * SEVERE  -&gt; ERROR</pre>
+55   * <p><b>Programmatic installation:</b></p>
+56   * <pre>
+57   * // Optionally remove existing handlers attached to j.u.l root logger
+58   * SLF4JBridgeHandler.removeHandlersForRootLogger();  // (since SLF4J 1.6.5)
+59  
+60   * // add SLF4JBridgeHandler to j.u.l's root logger, should be done once during
+61   * // the initialization phase of your application
+62   * SLF4JBridgeHandler.install();</pre>
+63   * <p><b>Installation via <em>logging.properties</em> configuration file:</b></p>
+64   * <pre>
+65   * // register SLF4JBridgeHandler as handler for the j.u.l. root logger
+66   * handlers = org.slf4j.bridge.SLF4JBridgeHandler</pre>
+67   * <p>Once SLF4JBridgeHandler is installed, logging by j.u.l. loggers will be directed to
+68   * SLF4J. Example: </p>
+69   * <pre>
+70   * import  java.util.logging.Logger;
+71   * ...
+72   * // usual pattern: get a Logger and then log a message
+73   * Logger julLogger = Logger.getLogger(&quot;org.wombat&quot;);
+74   * julLogger.fine(&quot;hello world&quot;); // this will get redirected to SLF4J</pre>
+75   *
+76   * <p>Please note that translating a java.util.logging event into SLF4J incurs the
+77   * cost of constructing {@link LogRecord} instance regardless of whether the
+78   * SLF4J logger is disabled for the given level. <b>Consequently, j.u.l. to
+79   * SLF4J translation can seriously increase the cost of disabled logging
+80   * statements (60 fold or 6000% increase) and measurably impact the performance of enabled log
+81   * statements (20% overall increase).</b> Please note that as of logback-version 0.9.25,
+82   * it is possible to completely eliminate the 60 fold translation overhead for disabled
+83   * log statements with the help of <a href="http://logback.qos.ch/manual/configuration.html#LevelChangePropagator">LevelChangePropagator</a>.
+84   * </p>
+85   *
+86   * <p>If you are concerned about application performance, then use of <code>SLF4JBridgeHandler</code>
+87   * is appropriate only if any one the following two conditions is true:</p>
+88   * <ol>
+89   * <li>few j.u.l. logging statements are in play</li>
+90   * <li>LevelChangePropagator has been installed</li>
+91   * </ol>
+92   *
+93   * @author Christian Stein
+94   * @author Joern Huxhorn
+95   * @author Ceki G&uuml;lc&uuml;
+96   * @author Darryl Smith
+97   * @since 1.5.1
+98   */
+99  public class SLF4JBridgeHandler extends Handler {
+100 
+101   // The caller is java.util.logging.Logger
+102   private static final String FQCN = java.util.logging.Logger.class.getName();
+103   private static final String UNKNOWN_LOGGER_NAME = "unknown.jul.logger";
+104 
+105   private static final int TRACE_LEVEL_THRESHOLD = Level.FINEST.intValue();
+106   private static final int DEBUG_LEVEL_THRESHOLD = Level.FINE.intValue();
+107   private static final int INFO_LEVEL_THRESHOLD = Level.INFO.intValue();
+108   private static final int WARN_LEVEL_THRESHOLD = Level.WARNING.intValue();
+109 
+110   /**
+111    * Adds a SLF4JBridgeHandler instance to jul's root logger.
+112    * <p/>
+113    * <p/>
+114    * This handler will redirect j.u.l. logging to SLF4J. However, only logs enabled
+115    * in j.u.l. will be redirected. For example, if a log statement invoking a
+116    * j.u.l. logger is disabled, then the corresponding non-event will <em>not</em>
+117    * reach SLF4JBridgeHandler and cannot be redirected.
+118    */
+119   public static void install() {
+120     LogManager.getLogManager().getLogger("").addHandler(
+121             new SLF4JBridgeHandler());
+122   }
+123 
+124   private static java.util.logging.Logger getRootLogger() {
+125     return LogManager.getLogManager().getLogger("");
+126   }
+127 
+128   /**
+129    * Removes previously installed SLF4JBridgeHandler instances. See also
+130    * {@link #install()}.
+131    *
+132    * @throws SecurityException A <code>SecurityException</code> is thrown, if a security manager
+133    *                           exists and if the caller does not have
+134    *                           LoggingPermission("control").
+135    */
+136   public static void uninstall() throws SecurityException {
+137     java.util.logging.Logger rootLogger = getRootLogger();
+138     Handler[] handlers = rootLogger.getHandlers();
+139     for (int i = 0; i < handlers.length; i++) {
+140       if (handlers[i] instanceof SLF4JBridgeHandler) {
+141         rootLogger.removeHandler(handlers[i]);
+142       }
+143     }
+144   }
+145 
+146   /**
+147    * Returns true if SLF4JBridgeHandler has been previously installed, returns false otherwise.
+148    *
+149    * @return true if SLF4JBridgeHandler is already installed, false other wise
+150    * @throws SecurityException
+151    */
+152   public static boolean isInstalled() throws SecurityException {
+153     java.util.logging.Logger rootLogger = getRootLogger();
+154     Handler[] handlers = rootLogger.getHandlers();
+155     for (int i = 0; i < handlers.length; i++) {
+156       if (handlers[i] instanceof SLF4JBridgeHandler) {
+157         return true;
+158       }
+159     }
+160     return false;
+161   }
+162 
+163   /**
+164    * Invoking this method removes/unregisters/detaches all handlers currently attached to the root logger
+165    * @since 1.6.5
+166    */
+167   public static void removeHandlersForRootLogger() {
+168     java.util.logging.Logger rootLogger =  getRootLogger();
+169     java.util.logging.Handler[] handlers = rootLogger.getHandlers();
+170     for (int i = 0; i < handlers.length; i++) {
+171       rootLogger.removeHandler(handlers[i]);
+172     }
+173   }
+174 
+175 
+176   /**
+177    * Initialize this handler.
+178    */
+179   public SLF4JBridgeHandler() {
+180   }
+181 
+182   /**
+183    * No-op implementation.
+184    */
+185   public void close() {
+186     // empty
+187   }
+188 
+189   /**
+190    * No-op implementation.
+191    */
+192   public void flush() {
+193     // empty
+194   }
+195 
+196   /**
+197    * Return the Logger instance that will be used for logging.
+198    */
+199   protected Logger getSLF4JLogger(LogRecord record) {
+200     String name = record.getLoggerName();
+201     if (name == null) {
+202       name = UNKNOWN_LOGGER_NAME;
+203     }
+204     return LoggerFactory.getLogger(name);
+205   }
+206 
+207   protected void callLocationAwareLogger(LocationAwareLogger lal,
+208                                          LogRecord record) {
+209     int julLevelValue = record.getLevel().intValue();
+210     int slf4jLevel;
+211 
+212     if (julLevelValue <= TRACE_LEVEL_THRESHOLD) {
+213       slf4jLevel = LocationAwareLogger.TRACE_INT;
+214     } else if (julLevelValue <= DEBUG_LEVEL_THRESHOLD) {
+215       slf4jLevel = LocationAwareLogger.DEBUG_INT;
+216     } else if (julLevelValue <= INFO_LEVEL_THRESHOLD) {
+217       slf4jLevel = LocationAwareLogger.INFO_INT;
+218     } else if (julLevelValue <= WARN_LEVEL_THRESHOLD) {
+219       slf4jLevel = LocationAwareLogger.WARN_INT;
+220     } else {
+221       slf4jLevel = LocationAwareLogger.ERROR_INT;
+222     }
+223     String i18nMessage = getMessageI18N(record);
+224     lal.log(null, FQCN, slf4jLevel, i18nMessage, null, record.getThrown());
+225   }
+226 
+227   protected void callPlainSLF4JLogger(Logger slf4jLogger, LogRecord record) {
+228     String i18nMessage = getMessageI18N(record);
+229     int julLevelValue = record.getLevel().intValue();
+230     if (julLevelValue <= TRACE_LEVEL_THRESHOLD) {
+231       slf4jLogger.trace(i18nMessage, record.getThrown());
+232     } else if (julLevelValue <= DEBUG_LEVEL_THRESHOLD) {
+233       slf4jLogger.debug(i18nMessage, record.getThrown());
+234     } else if (julLevelValue <= INFO_LEVEL_THRESHOLD) {
+235       slf4jLogger.info(i18nMessage, record.getThrown());
+236     } else if (julLevelValue <= WARN_LEVEL_THRESHOLD) {
+237       slf4jLogger.warn(i18nMessage, record.getThrown());
+238     } else {
+239       slf4jLogger.error(i18nMessage, record.getThrown());
+240     }
+241   }
+242 
+243 
+244   /**
+245    * Get the record's message, possibly via a resource bundle.
+246    *
+247    * @param record
+248    * @return
+249    */
+250   private String getMessageI18N(LogRecord record) {
+251     String message = record.getMessage();
+252 
+253     if (message == null) {
+254       return null;
+255     }
+256 
+257     ResourceBundle bundle = record.getResourceBundle();
+258     if (bundle != null) {
+259       try {
+260         message = bundle.getString(message);
+261       } catch (MissingResourceException e) {
+262       }
+263     }
+264     Object[] params = record.getParameters();
+265     // avoid formatting when there are no or 0 parameters. see also
+266     // http://bugzilla.slf4j.org/show_bug.cgi?id=212
+267     if (params != null && params.length > 0) {
+268       message = MessageFormat.format(message, params);
+269     }
+270     return message;
+271   }
+272 
+273   /**
+274    * Publish a LogRecord.
+275    * <p/>
+276    * The logging request was made initially to a Logger object, which
+277    * initialized the LogRecord and forwarded it here.
+278    * <p/>
+279    * This handler ignores the Level attached to the LogRecord, as SLF4J cares
+280    * about discarding log statements.
+281    *
+282    * @param record Description of the log event. A null record is silently ignored
+283    *               and is not published.
+284    */
+285   public void publish(LogRecord record) {
+286     // Silently ignore null records.
+287     if (record == null) {
+288       return;
+289     }
+290 
+291     Logger slf4jLogger = getSLF4JLogger(record);
+292     String message = record.getMessage(); // can be null!
+293     // this is a check to avoid calling the underlying logging system
+294     // with a null message. While it is legitimate to invoke j.u.l. with
+295     // a null message, other logging frameworks do not support this.
+296     // see also http://bugzilla.slf4j.org/show_bug.cgi?id=108
+297     if (message == null) {
+298       message = "";
+299     }
+300     if (slf4jLogger instanceof LocationAwareLogger) {
+301       callLocationAwareLogger((LocationAwareLogger) slf4jLogger, record);
+302     } else {
+303       callPlainSLF4JLogger(slf4jLogger, record);
+304     }
+305   }
+306 
+307 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/bridge/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/bridge/package-frame.html new file mode 100644 index 0000000..ed2c5b0 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/bridge/package-frame.html @@ -0,0 +1,24 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.bridge + + + + +

+ org.slf4j.bridge +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/bridge/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/bridge/package-summary.html new file mode 100644 index 0000000..eb96290 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/bridge/package-summary.html @@ -0,0 +1,67 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.bridge + + + +
+ +
+
+ +
+ +

Package org.slf4j.bridge

+ + + + + + + + + + + + +
Class Summary
+ SLF4JBridgeHandler +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/cal10n/LocLogger.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/cal10n/LocLogger.html new file mode 100644 index 0000000..72407ec --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/cal10n/LocLogger.html @@ -0,0 +1,192 @@ + + + + +LocLogger xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.cal10n;
+26  
+27  import org.slf4j.Logger;
+28  import org.slf4j.Marker;
+29  import org.slf4j.MarkerFactory;
+30  import org.slf4j.ext.LoggerWrapper;
+31  import org.slf4j.spi.LocationAwareLogger;
+32  
+33  import ch.qos.cal10n.IMessageConveyor;
+34  import ch.qos.cal10n.MessageParameterObj;
+35  
+36  /**
+37   * A logger specialized in localized logging. Localization is based in the <a
+38   * href="http://cal10n.qos.ch">CAL10N project</p>.
+39   * 
+40   * @author Ceki G&uuml;lc&uuml;
+41   */
+42  public class LocLogger extends LoggerWrapper implements Logger {
+43  
+44    private static final String FQCN = LocLogger.class.getName();
+45  
+46    /**
+47     * Every localized message logged by a LocLogger will bear this marker. It
+48     * allows marker-aware implementations to perform additional processing on
+49     * localized messages.
+50     */
+51    static Marker LOCALIZED = MarkerFactory.getMarker("LOCALIZED");
+52  
+53    final IMessageConveyor imc;
+54  
+55    public LocLogger(Logger logger, IMessageConveyor imc) {
+56      super(logger, LoggerWrapper.class.getName());
+57      if (imc == null) {
+58        throw new IllegalArgumentException("IMessageConveyor cannot be null");
+59      }
+60      this.imc = imc;
+61    }
+62  
+63    /**
+64     * Log a localized message at the TRACE level.
+65     * 
+66     * @param key
+67     *          the key used for localization
+68     * @param args
+69     *          optional arguments
+70     */
+71    public void trace(Enum<?> key, Object... args) {
+72      if (!logger.isTraceEnabled()) {
+73        return;
+74      }
+75      String translatedMsg = imc.getMessage(key, args);
+76      MessageParameterObj mpo = new MessageParameterObj(key, args);
+77  
+78      if (instanceofLAL) {
+79        ((LocationAwareLogger) logger).log(LOCALIZED, FQCN,
+80            LocationAwareLogger.TRACE_INT, translatedMsg, args, null);
+81      } else {
+82        logger.trace(LOCALIZED, translatedMsg, mpo);
+83      }
+84    }
+85  
+86    /**
+87     * Log a localized message at the DEBUG level.
+88     * 
+89     * @param key
+90     *          the key used for localization
+91     * @param args
+92     *          optional arguments
+93     */
+94    public void debug(Enum<?> key, Object... args) {
+95      if (!logger.isDebugEnabled()) {
+96        return;
+97      }
+98      String translatedMsg = imc.getMessage(key, args);
+99      MessageParameterObj mpo = new MessageParameterObj(key, args);
+100 
+101     if (instanceofLAL) {
+102       ((LocationAwareLogger) logger).log(LOCALIZED, FQCN,
+103           LocationAwareLogger.DEBUG_INT, translatedMsg, args, null);
+104     } else {
+105       logger.debug(LOCALIZED, translatedMsg, mpo);
+106     }
+107   }
+108 
+109   /**
+110    * Log a localized message at the INFO level.
+111    * 
+112    * @param key
+113    *          the key used for localization
+114    * @param args
+115    *          optional arguments
+116    */
+117   public void info(Enum<?> key, Object... args) {
+118     if (!logger.isInfoEnabled()) {
+119       return;
+120     }
+121     String translatedMsg = imc.getMessage(key, args);
+122     MessageParameterObj mpo = new MessageParameterObj(key, args);
+123 
+124     if (instanceofLAL) {
+125       ((LocationAwareLogger) logger).log(LOCALIZED, FQCN,
+126           LocationAwareLogger.INFO_INT, translatedMsg, args, null);
+127     } else {
+128       logger.info(LOCALIZED, translatedMsg, mpo);
+129     }
+130   }
+131 
+132   /**
+133    * Log a localized message at the WARN level.
+134    * 
+135    * @param key
+136    *          the key used for localization
+137    * @param args
+138    *          optional arguments
+139    */
+140   public void warn(Enum<?> key, Object... args) {
+141     if (!logger.isWarnEnabled()) {
+142       return;
+143     }
+144     String translatedMsg = imc.getMessage(key, args);
+145     MessageParameterObj mpo = new MessageParameterObj(key, args);
+146 
+147     if (instanceofLAL) {
+148       ((LocationAwareLogger) logger).log(LOCALIZED, FQCN,
+149           LocationAwareLogger.WARN_INT, translatedMsg, args, null);
+150     } else {
+151       logger.warn(LOCALIZED, translatedMsg, mpo);
+152     }
+153   }
+154 
+155   /**
+156    * Log a localized message at the ERROR level.
+157    * 
+158    * @param key
+159    *          the key used for localization
+160    * @param args
+161    *          optional arguments
+162    */
+163   public void error(Enum<?> key, Object... args) {
+164     if (!logger.isErrorEnabled()) {
+165       return;
+166     }
+167     String translatedMsg = imc.getMessage(key, args);
+168     MessageParameterObj mpo = new MessageParameterObj(key, args);
+169 
+170     if (instanceofLAL) {
+171       ((LocationAwareLogger) logger).log(LOCALIZED, FQCN,
+172           LocationAwareLogger.ERROR_INT, translatedMsg, args, null);
+173     } else {
+174       logger.error(LOCALIZED, translatedMsg, mpo);
+175     }
+176   }
+177 
+178 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/cal10n/LocLoggerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/cal10n/LocLoggerFactory.html new file mode 100644 index 0000000..a7ae43a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/cal10n/LocLoggerFactory.html @@ -0,0 +1,89 @@ + + + + +LocLoggerFactory xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.cal10n;
+26  
+27  import org.slf4j.Logger;
+28  import org.slf4j.LoggerFactory;
+29  
+30  import ch.qos.cal10n.IMessageConveyor;
+31  
+32  /**
+33   * 
+34   * This class is essentially a wrapper around an {@link LoggerFactory} producing
+35   * {@link LocLogger} instances.
+36   * 
+37   * <p>
+38   * Contrary to {@link LoggerFactory#getLogger(String)} method of
+39   * {@link LoggerFactory}, each call to {@link getLocLogger} produces a new
+40   * instance of {@link LocLogger}. This should not matter because a LocLogger
+41   * instance does have any state beyond that of the {@link Logger} in stance it
+42   * wraps and its message conveyor.
+43   * 
+44   * @author Ceki G&uuml;c&uuml;
+45   * 
+46   */
+47  public class LocLoggerFactory {
+48  
+49    final IMessageConveyor imc;
+50  
+51    public LocLoggerFactory(IMessageConveyor imc) {
+52      this.imc = imc;
+53    }
+54  
+55    /**
+56     * Get an LocLogger instance by name.
+57     * 
+58     * @param name
+59     * @return LocLogger instance by name.
+60     */
+61    public LocLogger getLocLogger(String name) {
+62      return new LocLogger(LoggerFactory.getLogger(name), imc);
+63    }
+64  
+65    /**
+66     * Get a new LocLogger instance by class. The returned LocLogger will be named
+67     * after the class.
+68     * 
+69     * @param clazz
+70     * @return LocLogger instance by class
+71     */
+72    public LocLogger getLocLogger(Class clazz) {
+73      return getLocLogger(clazz.getName());
+74    }
+75  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/cal10n/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/cal10n/package-frame.html new file mode 100644 index 0000000..e0e06b6 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/cal10n/package-frame.html @@ -0,0 +1,27 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.cal10n + + + + +

+ org.slf4j.cal10n +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/cal10n/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/cal10n/package-summary.html new file mode 100644 index 0000000..4e48555 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/cal10n/package-summary.html @@ -0,0 +1,72 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.cal10n + + + +
+ +
+
+ +
+ +

Package org.slf4j.cal10n

+ + + + + + + + + + + + + + + +
Class Summary
+ LocLogger +
+ LocLoggerFactory +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/ext/EventData.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/ext/EventData.html new file mode 100644 index 0000000..61e4174 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/ext/EventData.html @@ -0,0 +1,320 @@ + + + + +EventData xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.ext;
+26  
+27  import java.io.Serializable;
+28  import java.io.ByteArrayInputStream;
+29  import java.io.ByteArrayOutputStream;
+30  import java.util.Date;
+31  import java.util.HashMap;
+32  import java.util.Iterator;
+33  import java.util.Map;
+34  import java.beans.XMLDecoder;
+35  import java.beans.XMLEncoder;
+36  import java.beans.ExceptionListener;
+37  
+38  /**
+39   * Base class for Event Data. Event Data contains data to be logged about an
+40   * event. Users may extend this class for each EventType they want to log.
+41   * 
+42   * @author Ralph Goers
+43   */
+44  public class EventData implements Serializable {
+45    
+46    private static final long serialVersionUID = 153270778642103985L;
+47    
+48    private Map<String, Object> eventData = new HashMap<String, Object>();
+49    public static final String EVENT_MESSAGE = "EventMessage";
+50    public static final String EVENT_TYPE = "EventType";
+51    public static final String EVENT_DATETIME = "EventDateTime";
+52    public static final String EVENT_ID = "EventId";
+53  
+54    /**
+55     * Default Constructor
+56     */
+57    public EventData() {
+58    }
+59  
+60    /**
+61     * Constructor to create event data from a Map.
+62     * 
+63     * @param map
+64     *          The event data.
+65     */
+66    public EventData(Map<String, Object> map) {
+67      eventData.putAll(map);
+68    }
+69  
+70    /**
+71     * Construct from a serialized form of the Map containing the RequestInfo
+72     * elements
+73     * 
+74     * @param xml
+75     *          The serialized form of the RequestInfo Map.
+76     */
+77    @SuppressWarnings("unchecked")
+78    public EventData(String xml) {
+79      ByteArrayInputStream bais = new ByteArrayInputStream(xml.getBytes());
+80      try {
+81        XMLDecoder decoder = new XMLDecoder(bais);
+82        this.eventData = (Map<String, Object>) decoder.readObject();
+83      } catch (Exception e) {
+84        throw new EventException("Error decoding " + xml, e);
+85      }
+86    }
+87  
+88    /**
+89     * Serialize all the EventData items into an XML representation.
+90     * 
+91     * @return an XML String containing all the EventDAta items.
+92     */
+93    public String toXML() {
+94      return toXML(eventData);
+95    }
+96  
+97    /**
+98     * Serialize all the EventData items into an XML representation.
+99     * 
+100    * @param map the Map to transform
+101    * @return an XML String containing all the EventDAta items.
+102    */
+103   public static String toXML(Map<String, Object> map) {
+104     ByteArrayOutputStream baos = new ByteArrayOutputStream();
+105     try {
+106       XMLEncoder encoder = new XMLEncoder(baos);
+107       encoder.setExceptionListener(new ExceptionListener() {
+108         public void exceptionThrown(Exception exception) {
+109           exception.printStackTrace();
+110         }
+111       });
+112       encoder.writeObject(map);
+113       encoder.close();
+114       return baos.toString();
+115     } catch (Exception e) {
+116       e.printStackTrace();
+117       return null;
+118     }
+119   }
+120 
+121   /**
+122    * Retrieve the event identifier.
+123    * 
+124    * @return The event identifier
+125    */
+126   public String getEventId() {
+127     return (String) this.eventData.get(EVENT_ID);
+128   }
+129 
+130   /**
+131    * Set the event identifier.
+132    * 
+133    * @param eventId
+134    *          The event identifier.
+135    */
+136   public void setEventId(String eventId) {
+137     if (eventId == null) {
+138       throw new IllegalArgumentException("eventId cannot be null");
+139     }
+140     this.eventData.put(EVENT_ID, eventId);
+141   }
+142 
+143   /**
+144    * Retrieve the message text associated with this event, if any.
+145    * 
+146    * @return The message text associated with this event or null if there is
+147    *         none.
+148    */
+149   public String getMessage() {
+150     return (String) this.eventData.get(EVENT_MESSAGE);
+151   }
+152 
+153   /**
+154    * Set the message text associated with this event.
+155    * 
+156    * @param message
+157    *          The message text.
+158    */
+159   public void setMessage(String message) {
+160     this.eventData.put(EVENT_MESSAGE, message);
+161   }
+162 
+163   /**
+164    * Retrieve the date and time the event occurred.
+165    * 
+166    * @return The Date associated with the event.
+167    */
+168   public Date getEventDateTime() {
+169     return (Date) this.eventData.get(EVENT_DATETIME);
+170   }
+171 
+172   /**
+173    * Set the date and time the event occurred in case it is not the same as when
+174    * the event was logged.
+175    * 
+176    * @param eventDateTime
+177    *          The event Date.
+178    */
+179   public void setEventDateTime(Date eventDateTime) {
+180     this.eventData.put(EVENT_DATETIME, eventDateTime);
+181   }
+182 
+183   /**
+184    * Set the type of event that occurred.
+185    * 
+186    * @param eventType
+187    *          The type of the event.
+188    */
+189   public void setEventType(String eventType) {
+190     this.eventData.put(EVENT_TYPE, eventType);
+191   }
+192 
+193   /**
+194    * Retrieve the type of the event.
+195    * 
+196    * @return The event type.
+197    */
+198   public String getEventType() {
+199     return (String) this.eventData.get(EVENT_TYPE);
+200   }
+201 
+202   /**
+203    * Add arbitrary attributes about the event.
+204    * 
+205    * @param name
+206    *          The attribute's key.
+207    * @param obj
+208    *          The data associated with the key.
+209    */
+210   public void put(String name, Serializable obj) {
+211     this.eventData.put(name, obj);
+212   }
+213 
+214   /**
+215    * Retrieve an event attribute.
+216    * 
+217    * @param name
+218    *          The attribute's key.
+219    * @return The value associated with the key or null if the key is not
+220    *         present.
+221    */
+222   public Serializable get(String name) {
+223     return (Serializable) this.eventData.get(name);
+224   }
+225 
+226   /**
+227    * Populate the event data from a Map.
+228    * 
+229    * @param data
+230    *          The Map to copy.
+231    */
+232   public void putAll(Map<String, Object> data) {
+233     this.eventData.putAll(data);
+234   }
+235 
+236   /**
+237    * Returns the number of attributes in the EventData.
+238    * 
+239    * @return the number of attributes in the EventData.
+240    */
+241   public int getSize() {
+242     return this.eventData.size();
+243   }
+244 
+245   /**
+246    * Returns an Iterator over all the entries in the EventDAta.
+247    * 
+248    * @return an Iterator that can be used to access all the event attributes.
+249    */
+250   public Iterator<Map.Entry<String, Object>> getEntrySetIterator() {
+251     return this.eventData.entrySet().iterator();
+252   }
+253 
+254   /**
+255    * Retrieve all the attributes in the EventData as a Map. Changes to this map
+256    * will be reflected in the EventData.
+257    * 
+258    * @return The Map of attributes in this EventData instance.
+259    */
+260   public Map<String, Object> getEventMap() {
+261     return this.eventData;
+262   }
+263 
+264   /**
+265    * Convert the EventData to a String.
+266    * 
+267    * @return The EventData as a String.
+268    */
+269   @Override
+270   public String toString() {
+271     return toXML();
+272   }
+273 
+274   /**
+275    * Compare two EventData objects for equality.
+276    * 
+277    * @param o
+278    *          The Object to compare.
+279    * @return true if the objects are the same instance or contain all the same
+280    *         keys and their values.
+281    */
+282   @SuppressWarnings("unchecked")
+283   @Override
+284   public boolean equals(Object o) {
+285     if (this == o) {
+286       return true;
+287     }
+288     if (!(o instanceof EventData || o instanceof Map)) {
+289       return false;
+290     }
+291     Map<String, Object> map = (o instanceof EventData) ? ((EventData) o)
+292         .getEventMap() : (Map<String, Object>) o;
+293 
+294     return this.eventData.equals(map);
+295   }
+296 
+297   /**
+298    * Compute the hashCode for this EventData instance.
+299    * 
+300    * @return The hashcode for this EventData instance.
+301    */
+302   @Override
+303   public int hashCode() {
+304     return this.eventData.hashCode();
+305   }
+306 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/ext/EventException.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/ext/EventException.html new file mode 100644 index 0000000..d7b021b --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/ext/EventException.html @@ -0,0 +1,80 @@ + + + + +EventException xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.ext;
+26  
+27  /**
+28   * Exception used to identify issues related to an event that is being logged.
+29   */
+30  public class EventException extends RuntimeException {
+31  
+32    private static final long serialVersionUID = -22873966112391992L;
+33  
+34    /**
+35     * Default constructor.
+36     */
+37    public EventException() {
+38      super();
+39    }
+40  
+41    /**
+42     * Constructor that allows an exception message.
+43     * @param exceptionMessage The exception message.
+44     */
+45    public EventException(String exceptionMessage) {
+46      super(exceptionMessage);
+47    }
+48  
+49    /**
+50     * Constructor that chains another Exception or Error.
+51     * @param originalException The original exception.
+52     */
+53    public EventException(Throwable originalException) {
+54      super(originalException);
+55    }
+56  
+57    /**
+58     * Constructor that chains another Exception or Error and also allows a message
+59     * to be specified.
+60     * @param exceptionMessage The exception message.
+61     * @param originalException The original excepton.
+62     */
+63    public EventException(String exceptionMessage, Throwable originalException) {
+64      super(exceptionMessage, originalException);
+65    }
+66  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/ext/EventLogger.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/ext/EventLogger.html new file mode 100644 index 0000000..eaca31e --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/ext/EventLogger.html @@ -0,0 +1,80 @@ + + + + +EventLogger xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.ext;
+26  
+27  import org.slf4j.LoggerFactory;
+28  import org.slf4j.Marker;
+29  import org.slf4j.MarkerFactory;
+30  import org.slf4j.spi.LocationAwareLogger;
+31  
+32  /**
+33   * Simple Logger used to log events. All events are directed to a logger named "EventLogger"
+34   * with a level of INFO and with an Event marker.
+35   *
+36   * @author Ralph Goers
+37   */
+38  public class EventLogger {
+39  
+40    private static final String FQCN = EventLogger.class.getName();
+41  
+42    static Marker EVENT_MARKER = MarkerFactory.getMarker("EVENT");
+43  
+44    private static LoggerWrapper eventLogger =
+45        new LoggerWrapper(LoggerFactory.getLogger("EventLogger"), FQCN);
+46  
+47    /**
+48     * There can only be a single EventLogger.
+49     */
+50    private EventLogger() {
+51    }
+52  
+53    /**
+54     * Logs the event.
+55     *
+56     * @param data The EventData.
+57     */
+58    public static void logEvent(EventData data) {
+59      if (eventLogger.instanceofLAL) {
+60        ((LocationAwareLogger) eventLogger.logger).log(EVENT_MARKER, FQCN,
+61            LocationAwareLogger.INFO_INT, data.toXML(), new Object[] {data}, null);
+62      } else {
+63        eventLogger.logger.info(EVENT_MARKER, data.toXML(), data);
+64      }
+65    }
+66  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/ext/LoggerWrapper.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/ext/LoggerWrapper.html new file mode 100644 index 0000000..90233b6 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/ext/LoggerWrapper.html @@ -0,0 +1,957 @@ + + + + +LoggerWrapper xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.ext;
+26  
+27  import org.slf4j.Logger;
+28  import org.slf4j.Marker;
+29  import org.slf4j.helpers.FormattingTuple;
+30  import org.slf4j.helpers.MessageFormatter;
+31  import org.slf4j.spi.LocationAwareLogger;
+32  
+33  /**
+34   * A helper class wrapping an {@link org.slf4j.Logger} instance preserving
+35   * location information if the wrapped instance supports it.
+36   * 
+37   * @author Ralph Goers
+38   * @author Ceki G&uuml;lc&uuml;
+39   */
+40  public class LoggerWrapper implements Logger {
+41  
+42    // To ensure consistency between two instances sharing the same name
+43    // (homonyms)
+44    // a LoggerWrapper should not contain any state beyond
+45    // the Logger instance it wraps.
+46    // Note that 'instanceofLAL' directly depends on Logger.
+47    // fqcn depend on the caller, but its value would not be different
+48    // between successive invocations of a factory class
+49  
+50    protected final Logger logger;
+51    final String fqcn;
+52    // is this logger instance a LocationAwareLogger
+53    protected final boolean instanceofLAL;
+54  
+55    public LoggerWrapper(Logger logger, String fqcn) {
+56      this.logger = logger;
+57      this.fqcn = fqcn;
+58      if (logger instanceof LocationAwareLogger) {
+59        instanceofLAL = true;
+60      } else {
+61        instanceofLAL = false;
+62      }
+63    }
+64  
+65    /**
+66     * Delegate to the appropriate method of the underlying logger.
+67     */
+68    public boolean isTraceEnabled() {
+69      return logger.isTraceEnabled();
+70    }
+71  
+72    /**
+73     * Delegate to the appropriate method of the underlying logger.
+74     */
+75    public boolean isTraceEnabled(Marker marker) {
+76      return logger.isTraceEnabled(marker);
+77    }
+78  
+79    /**
+80     * Delegate to the appropriate method of the underlying logger.
+81     */
+82    public void trace(String msg) {
+83      if (!logger.isTraceEnabled())
+84        return;
+85  
+86      if (instanceofLAL) {
+87        ((LocationAwareLogger) logger).log(null, fqcn,
+88            LocationAwareLogger.TRACE_INT, msg, null, null);
+89      } else {
+90        logger.trace(msg);
+91      }
+92    }
+93  
+94    /**
+95     * Delegate to the appropriate method of the underlying logger.
+96     */
+97    public void trace(String format, Object arg) {
+98      if (!logger.isTraceEnabled())
+99        return;
+100 
+101     if (instanceofLAL) {
+102       String formattedMessage = MessageFormatter.format(format, arg)
+103           .getMessage();
+104       ((LocationAwareLogger) logger).log(null, fqcn,
+105           LocationAwareLogger.TRACE_INT, formattedMessage,
+106           new Object[] { arg }, null);
+107     } else {
+108       logger.trace(format, arg);
+109     }
+110   }
+111 
+112   /**
+113    * Delegate to the appropriate method of the underlying logger.
+114    */
+115   public void trace(String format, Object arg1, Object arg2) {
+116     if (!logger.isTraceEnabled())
+117       return;
+118 
+119     if (instanceofLAL) {
+120       String formattedMessage = MessageFormatter.format(format, arg1, arg2)
+121           .getMessage();
+122       ((LocationAwareLogger) logger).log(null, fqcn,
+123           LocationAwareLogger.TRACE_INT, formattedMessage, new Object[] { arg1,
+124               arg2 }, null);
+125     } else {
+126       logger.trace(format, arg1, arg2);
+127     }
+128   }
+129 
+130   /**
+131    * Delegate to the appropriate method of the underlying logger.
+132    */
+133   public void trace(String format, Object... args) {
+134     if (!logger.isTraceEnabled())
+135       return;
+136 
+137     if (instanceofLAL) {
+138       String formattedMessage = MessageFormatter.arrayFormat(format, args)
+139           .getMessage();
+140       ((LocationAwareLogger) logger).log(null, fqcn,
+141           LocationAwareLogger.TRACE_INT, formattedMessage, args, null);
+142     } else {
+143       logger.trace(format, args);
+144     }
+145   }
+146 
+147   /**
+148    * Delegate to the appropriate method of the underlying logger.
+149    */
+150   public void trace(String msg, Throwable t) {
+151     if (!logger.isTraceEnabled())
+152       return;
+153 
+154     if (instanceofLAL) {
+155       ((LocationAwareLogger) logger).log(null, fqcn,
+156           LocationAwareLogger.TRACE_INT, msg, null, t);
+157     } else {
+158       logger.trace(msg, t);
+159     }
+160   }
+161 
+162   /**
+163    * Delegate to the appropriate method of the underlying logger.
+164    */
+165   public void trace(Marker marker, String msg) {
+166     if (!logger.isTraceEnabled(marker))
+167       return;
+168     if (instanceofLAL) {
+169       ((LocationAwareLogger) logger).log(marker, fqcn,
+170           LocationAwareLogger.TRACE_INT, msg, null, null);
+171     } else {
+172       logger.trace(marker, msg);
+173     }
+174   }
+175 
+176   /**
+177    * Delegate to the appropriate method of the underlying logger.
+178    */
+179   public void trace(Marker marker, String format, Object arg) {
+180     if (!logger.isTraceEnabled(marker))
+181       return;
+182     if (instanceofLAL) {
+183       String formattedMessage = MessageFormatter.format(format, arg)
+184           .getMessage();
+185       ((LocationAwareLogger) logger).log(marker, fqcn,
+186           LocationAwareLogger.TRACE_INT, formattedMessage,
+187           new Object[] { arg }, null);
+188     } else {
+189       logger.trace(marker, format, arg);
+190     }
+191   }
+192 
+193   /**
+194    * Delegate to the appropriate method of the underlying logger.
+195    */
+196   public void trace(Marker marker, String format, Object arg1, Object arg2) {
+197     if (!logger.isTraceEnabled(marker))
+198       return;
+199     if (instanceofLAL) {
+200       String formattedMessage = MessageFormatter.format(format, arg1, arg2)
+201           .getMessage();
+202       ((LocationAwareLogger) logger).log(marker, fqcn,
+203           LocationAwareLogger.TRACE_INT, formattedMessage, new Object[] { arg1,
+204               arg2 }, null);
+205     } else {
+206       logger.trace(marker, format, arg1, arg2);
+207     }
+208   }
+209 
+210   /**
+211    * Delegate to the appropriate method of the underlying logger.
+212    */
+213   public void trace(Marker marker, String format, Object... args) {
+214     if (!logger.isTraceEnabled(marker))
+215       return;
+216     if (instanceofLAL) {
+217       String formattedMessage = MessageFormatter.arrayFormat(format, args)
+218           .getMessage();
+219       ((LocationAwareLogger) logger).log(marker, fqcn,
+220           LocationAwareLogger.TRACE_INT, formattedMessage, args, null);
+221     } else {
+222       logger.trace(marker, format, args);
+223     }
+224   }
+225 
+226   /**
+227    * Delegate to the appropriate method of the underlying logger.
+228    */
+229   public void trace(Marker marker, String msg, Throwable t) {
+230     if (!logger.isTraceEnabled(marker))
+231       return;
+232     if (instanceofLAL) {
+233       ((LocationAwareLogger) logger).log(marker, fqcn,
+234           LocationAwareLogger.TRACE_INT, msg, null, t);
+235     } else {
+236       logger.trace(marker, msg, t);
+237     }
+238   }
+239 
+240   /**
+241    * Delegate to the appropriate method of the underlying logger.
+242    */
+243   public boolean isDebugEnabled() {
+244     return logger.isDebugEnabled();
+245   }
+246 
+247   /**
+248    * Delegate to the appropriate method of the underlying logger.
+249    */
+250   public boolean isDebugEnabled(Marker marker) {
+251     return logger.isDebugEnabled(marker);
+252   }
+253 
+254   /**
+255    * Delegate to the appropriate method of the underlying logger.
+256    */
+257   public void debug(String msg) {
+258     if (!logger.isDebugEnabled())
+259       return;
+260 
+261     if (instanceofLAL) {
+262       ((LocationAwareLogger) logger).log(null, fqcn,
+263           LocationAwareLogger.DEBUG_INT, msg, null, null);
+264     } else {
+265       logger.debug(msg);
+266     }
+267   }
+268 
+269   /**
+270    * Delegate to the appropriate method of the underlying logger.
+271    */
+272   public void debug(String format, Object arg) {
+273     if (!logger.isDebugEnabled())
+274       return;
+275 
+276     if (instanceofLAL) {
+277       String formattedMessage = MessageFormatter.format(format, arg)
+278           .getMessage();
+279       ((LocationAwareLogger) logger).log(null, fqcn,
+280           LocationAwareLogger.DEBUG_INT, formattedMessage,
+281           new Object[] { arg }, null);
+282     } else {
+283       logger.debug(format, arg);
+284     }
+285   }
+286 
+287   /**
+288    * Delegate to the appropriate method of the underlying logger.
+289    */
+290   public void debug(String format, Object arg1, Object arg2) {
+291     if (!logger.isDebugEnabled())
+292       return;
+293 
+294     if (instanceofLAL) {
+295       String formattedMessage = MessageFormatter.format(format, arg1, arg2)
+296           .getMessage();
+297       ((LocationAwareLogger) logger).log(null, fqcn,
+298           LocationAwareLogger.DEBUG_INT, formattedMessage, new Object[] { arg1,
+299               arg2 }, null);
+300     } else {
+301       logger.debug(format, arg1, arg2);
+302     }
+303   }
+304 
+305   /**
+306    * Delegate to the appropriate method of the underlying logger.
+307    */
+308   public void debug(String format, Object... argArray) {
+309     if (!logger.isDebugEnabled())
+310       return;
+311 
+312     if (instanceofLAL) {
+313       FormattingTuple ft = MessageFormatter.arrayFormat(format, argArray);
+314       ((LocationAwareLogger) logger).log(null, fqcn,
+315           LocationAwareLogger.DEBUG_INT, ft.getMessage(), ft.getArgArray(), ft
+316               .getThrowable());
+317     } else {
+318       logger.debug(format, argArray);
+319     }
+320   }
+321 
+322   /**
+323    * Delegate to the appropriate method of the underlying logger.
+324    */
+325   public void debug(String msg, Throwable t) {
+326     if (!logger.isDebugEnabled())
+327       return;
+328 
+329     if (instanceofLAL) {
+330       ((LocationAwareLogger) logger).log(null, fqcn,
+331           LocationAwareLogger.DEBUG_INT, msg, null, t);
+332     } else {
+333       logger.debug(msg, t);
+334     }
+335   }
+336 
+337   /**
+338    * Delegate to the appropriate method of the underlying logger.
+339    */
+340   public void debug(Marker marker, String msg) {
+341     if (!logger.isDebugEnabled(marker))
+342       return;
+343     if (instanceofLAL) {
+344       ((LocationAwareLogger) logger).log(marker, fqcn,
+345           LocationAwareLogger.DEBUG_INT, msg, null, null);
+346     } else {
+347       logger.debug(marker, msg);
+348     }
+349   }
+350 
+351   /**
+352    * Delegate to the appropriate method of the underlying logger.
+353    */
+354   public void debug(Marker marker, String format, Object arg) {
+355     if (!logger.isDebugEnabled(marker))
+356       return;
+357     if (instanceofLAL) {
+358       FormattingTuple ft = MessageFormatter.format(format, arg);
+359       ((LocationAwareLogger) logger).log(marker, fqcn,
+360           LocationAwareLogger.DEBUG_INT, ft.getMessage(), ft.getArgArray(), ft
+361               .getThrowable());
+362     } else {
+363       logger.debug(marker, format, arg);
+364     }
+365   }
+366 
+367   /**
+368    * Delegate to the appropriate method of the underlying logger.
+369    */
+370   public void debug(Marker marker, String format, Object arg1, Object arg2) {
+371     if (!logger.isDebugEnabled(marker))
+372       return;
+373     if (instanceofLAL) {
+374       String formattedMessage = MessageFormatter.format(format, arg1, arg2)
+375           .getMessage();
+376       ((LocationAwareLogger) logger).log(marker, fqcn,
+377           LocationAwareLogger.DEBUG_INT, formattedMessage, new Object[] { arg1,
+378               arg2 }, null);
+379     } else {
+380       logger.debug(marker, format, arg1, arg2);
+381     }
+382   }
+383 
+384   /**
+385    * Delegate to the appropriate method of the underlying logger.
+386    */
+387   public void debug(Marker marker, String format, Object... argArray) {
+388     if (!logger.isDebugEnabled(marker))
+389       return;
+390     if (instanceofLAL) {
+391 
+392       FormattingTuple ft = MessageFormatter.arrayFormat(format, argArray);
+393       ((LocationAwareLogger) logger).log(marker, fqcn,
+394           LocationAwareLogger.DEBUG_INT, ft.getMessage(), argArray, ft
+395               .getThrowable());
+396     } else {
+397       logger.debug(marker, format, argArray);
+398     }
+399   }
+400 
+401   /**
+402    * Delegate to the appropriate method of the underlying logger.
+403    */
+404   public void debug(Marker marker, String msg, Throwable t) {
+405     if (!logger.isDebugEnabled(marker))
+406       return;
+407     if (instanceofLAL) {
+408       ((LocationAwareLogger) logger).log(marker, fqcn,
+409           LocationAwareLogger.DEBUG_INT, msg, null, t);
+410     } else {
+411       logger.debug(marker, msg, t);
+412     }
+413   }
+414 
+415   /**
+416    * Delegate to the appropriate method of the underlying logger.
+417    */
+418   public boolean isInfoEnabled() {
+419     return logger.isInfoEnabled();
+420   }
+421 
+422   /**
+423    * Delegate to the appropriate method of the underlying logger.
+424    */
+425   public boolean isInfoEnabled(Marker marker) {
+426     return logger.isInfoEnabled(marker);
+427   }
+428 
+429   /**
+430    * Delegate to the appropriate method of the underlying logger.
+431    */
+432   public void info(String msg) {
+433     if (!logger.isInfoEnabled())
+434       return;
+435 
+436     if (instanceofLAL) {
+437       ((LocationAwareLogger) logger).log(null, fqcn,
+438           LocationAwareLogger.INFO_INT, msg, null, null);
+439     } else {
+440       logger.info(msg);
+441     }
+442   }
+443 
+444   /**
+445    * Delegate to the appropriate method of the underlying logger.
+446    */
+447   public void info(String format, Object arg) {
+448     if (!logger.isInfoEnabled())
+449       return;
+450 
+451     if (instanceofLAL) {
+452       String formattedMessage = MessageFormatter.format(format, arg)
+453           .getMessage();
+454       ((LocationAwareLogger) logger).log(null, fqcn,
+455           LocationAwareLogger.INFO_INT, formattedMessage, new Object[] { arg },
+456           null);
+457     } else {
+458       logger.info(format, arg);
+459     }
+460   }
+461 
+462   /**
+463    * Delegate to the appropriate method of the underlying logger.
+464    */
+465   public void info(String format, Object arg1, Object arg2) {
+466     if (!logger.isInfoEnabled())
+467       return;
+468 
+469     if (instanceofLAL) {
+470       String formattedMessage = MessageFormatter.format(format, arg1, arg2)
+471           .getMessage();
+472       ((LocationAwareLogger) logger).log(null, fqcn,
+473           LocationAwareLogger.INFO_INT, formattedMessage, new Object[] { arg1,
+474               arg2 }, null);
+475     } else {
+476       logger.info(format, arg1, arg2);
+477     }
+478   }
+479 
+480   /**
+481    * Delegate to the appropriate method of the underlying logger.
+482    */
+483   public void info(String format, Object... args) {
+484     if (!logger.isInfoEnabled())
+485       return;
+486 
+487     if (instanceofLAL) {
+488       String formattedMessage = MessageFormatter.arrayFormat(format, args)
+489           .getMessage();
+490       ((LocationAwareLogger) logger).log(null, fqcn,
+491           LocationAwareLogger.INFO_INT, formattedMessage, args, null);
+492     } else {
+493       logger.info(format, args);
+494     }
+495   }
+496 
+497   /**
+498    * Delegate to the appropriate method of the underlying logger.
+499    */
+500   public void info(String msg, Throwable t) {
+501     if (!logger.isInfoEnabled())
+502       return;
+503 
+504     if (instanceofLAL) {
+505       ((LocationAwareLogger) logger).log(null, fqcn,
+506           LocationAwareLogger.INFO_INT, msg, null, t);
+507     } else {
+508       logger.info(msg, t);
+509     }
+510   }
+511 
+512   /**
+513    * Delegate to the appropriate method of the underlying logger.
+514    */
+515   public void info(Marker marker, String msg) {
+516     if (!logger.isInfoEnabled(marker))
+517       return;
+518     if (instanceofLAL) {
+519       ((LocationAwareLogger) logger).log(marker, fqcn,
+520           LocationAwareLogger.INFO_INT, msg, null, null);
+521     } else {
+522       logger.info(marker, msg);
+523     }
+524   }
+525 
+526   /**
+527    * Delegate to the appropriate method of the underlying logger.
+528    */
+529   public void info(Marker marker, String format, Object arg) {
+530     if (!logger.isInfoEnabled(marker))
+531       return;
+532     if (instanceofLAL) {
+533       String formattedMessage = MessageFormatter.format(format, arg)
+534           .getMessage();
+535       ((LocationAwareLogger) logger).log(marker, fqcn,
+536           LocationAwareLogger.INFO_INT, formattedMessage, new Object[] { arg },
+537           null);
+538     } else {
+539       logger.info(marker, format, arg);
+540     }
+541   }
+542 
+543   /**
+544    * Delegate to the appropriate method of the underlying logger.
+545    */
+546   public void info(Marker marker, String format, Object arg1, Object arg2) {
+547     if (!logger.isInfoEnabled(marker))
+548       return;
+549     if (instanceofLAL) {
+550       String formattedMessage = MessageFormatter.format(format, arg1, arg2)
+551           .getMessage();
+552       ((LocationAwareLogger) logger).log(marker, fqcn,
+553           LocationAwareLogger.INFO_INT, formattedMessage, new Object[] { arg1,
+554               arg2 }, null);
+555     } else {
+556       logger.info(marker, format, arg1, arg2);
+557     }
+558   }
+559 
+560   /**
+561    * Delegate to the appropriate method of the underlying logger.
+562    */
+563   public void info(Marker marker, String format, Object... args) {
+564     if (!logger.isInfoEnabled(marker))
+565       return;
+566     if (instanceofLAL) {
+567       String formattedMessage = MessageFormatter.arrayFormat(format, args)
+568           .getMessage();
+569       ((LocationAwareLogger) logger).log(marker, fqcn,
+570           LocationAwareLogger.INFO_INT, formattedMessage, args, null);
+571     } else {
+572       logger.info(marker, format, args);
+573     }
+574   }
+575 
+576   /**
+577    * Delegate to the appropriate method of the underlying logger.
+578    */
+579   public void info(Marker marker, String msg, Throwable t) {
+580     if (!logger.isInfoEnabled(marker))
+581       return;
+582     if (instanceofLAL) {
+583       ((LocationAwareLogger) logger).log(marker, fqcn,
+584           LocationAwareLogger.INFO_INT, msg, null, t);
+585     } else {
+586       logger.info(marker, msg, t);
+587     }
+588   }
+589 
+590   public boolean isWarnEnabled() {
+591     return logger.isWarnEnabled();
+592   }
+593 
+594   /**
+595    * Delegate to the appropriate method of the underlying logger.
+596    */
+597   public boolean isWarnEnabled(Marker marker) {
+598     return logger.isWarnEnabled(marker);
+599   }
+600 
+601   /**
+602    * Delegate to the appropriate method of the underlying logger.
+603    */
+604   public void warn(String msg) {
+605     if (!logger.isWarnEnabled())
+606       return;
+607 
+608     if (instanceofLAL) {
+609       ((LocationAwareLogger) logger).log(null, fqcn,
+610           LocationAwareLogger.WARN_INT, msg, null, null);
+611     } else {
+612       logger.warn(msg);
+613     }
+614   }
+615 
+616   /**
+617    * Delegate to the appropriate method of the underlying logger.
+618    */
+619   public void warn(String format, Object arg) {
+620     if (!logger.isWarnEnabled())
+621       return;
+622 
+623     if (instanceofLAL) {
+624       String formattedMessage = MessageFormatter.format(format, arg)
+625           .getMessage();
+626       ((LocationAwareLogger) logger).log(null, fqcn,
+627           LocationAwareLogger.WARN_INT, formattedMessage, new Object[] { arg },
+628           null);
+629     } else {
+630       logger.warn(format, arg);
+631     }
+632   }
+633 
+634   /**
+635    * Delegate to the appropriate method of the underlying logger.
+636    */
+637   public void warn(String format, Object arg1, Object arg2) {
+638     if (!logger.isWarnEnabled())
+639       return;
+640 
+641     if (instanceofLAL) {
+642       String formattedMessage = MessageFormatter.format(format, arg1, arg2)
+643           .getMessage();
+644       ((LocationAwareLogger) logger).log(null, fqcn,
+645           LocationAwareLogger.WARN_INT, formattedMessage, new Object[] { arg1,
+646               arg2 }, null);
+647     } else {
+648       logger.warn(format, arg1, arg2);
+649     }
+650   }
+651 
+652   /**
+653    * Delegate to the appropriate method of the underlying logger.
+654    */
+655   public void warn(String format, Object... args) {
+656     if (!logger.isWarnEnabled())
+657       return;
+658 
+659     if (instanceofLAL) {
+660       String formattedMessage = MessageFormatter.arrayFormat(format, args)
+661           .getMessage();
+662       ((LocationAwareLogger) logger).log(null, fqcn,
+663           LocationAwareLogger.WARN_INT, formattedMessage, args, null);
+664     } else {
+665       logger.warn(format, args);
+666     }
+667   }
+668 
+669   /**
+670    * Delegate to the appropriate method of the underlying logger.
+671    */
+672   public void warn(String msg, Throwable t) {
+673     if (!logger.isWarnEnabled())
+674       return;
+675 
+676     if (instanceofLAL) {
+677       ((LocationAwareLogger) logger).log(null, fqcn,
+678           LocationAwareLogger.WARN_INT, msg, null, t);
+679     } else {
+680       logger.warn(msg, t);
+681     }
+682   }
+683 
+684   /**
+685    * Delegate to the appropriate method of the underlying logger.
+686    */
+687   public void warn(Marker marker, String msg) {
+688     if (!logger.isWarnEnabled(marker))
+689       return;
+690     if (instanceofLAL) {
+691       ((LocationAwareLogger) logger).log(marker, fqcn,
+692           LocationAwareLogger.WARN_INT, msg, null, null);
+693     } else {
+694       logger.warn(marker, msg);
+695     }
+696   }
+697 
+698   /**
+699    * Delegate to the appropriate method of the underlying logger.
+700    */
+701   public void warn(Marker marker, String format, Object arg) {
+702     if (!logger.isWarnEnabled(marker))
+703       return;
+704     if (instanceofLAL) {
+705       String formattedMessage = MessageFormatter.format(format, arg)
+706           .getMessage();
+707       ((LocationAwareLogger) logger).log(marker, fqcn,
+708           LocationAwareLogger.WARN_INT, formattedMessage, new Object[] { arg },
+709           null);
+710     } else {
+711       logger.warn(marker, format, arg);
+712     }
+713   }
+714 
+715   /**
+716    * Delegate to the appropriate method of the underlying logger.
+717    */
+718   public void warn(Marker marker, String format, Object arg1, Object arg2) {
+719     if (!logger.isWarnEnabled(marker))
+720       return;
+721     if (instanceofLAL) {
+722       String formattedMessage = MessageFormatter.format(format, arg1, arg2)
+723           .getMessage();
+724       ((LocationAwareLogger) logger).log(marker, fqcn,
+725           LocationAwareLogger.WARN_INT, formattedMessage, new Object[] { arg1,
+726               arg2 }, null);
+727     } else {
+728       logger.warn(marker, format, arg1, arg2);
+729     }
+730   }
+731 
+732   /**
+733    * Delegate to the appropriate method of the underlying logger.
+734    */
+735   public void warn(Marker marker, String format, Object... args) {
+736     if (!logger.isWarnEnabled(marker))
+737       return;
+738     if (instanceofLAL) {
+739       String formattedMessage = MessageFormatter.arrayFormat(format, args)
+740           .getMessage();
+741       ((LocationAwareLogger) logger).log(marker, fqcn,
+742           LocationAwareLogger.WARN_INT, formattedMessage, args, null);
+743     } else {
+744       logger.warn(marker, format, args);
+745     }
+746   }
+747 
+748   /**
+749    * Delegate to the appropriate method of the underlying logger.
+750    */
+751   public void warn(Marker marker, String msg, Throwable t) {
+752     if (!logger.isWarnEnabled(marker))
+753       return;
+754     if (instanceofLAL) {
+755       ((LocationAwareLogger) logger).log(marker, fqcn,
+756           LocationAwareLogger.WARN_INT, msg, null, t);
+757     } else {
+758       logger.warn(marker, msg, t);
+759     }
+760   }
+761 
+762   /**
+763    * Delegate to the appropriate method of the underlying logger.
+764    */
+765   public boolean isErrorEnabled() {
+766     return logger.isErrorEnabled();
+767   }
+768 
+769   /**
+770    * Delegate to the appropriate method of the underlying logger.
+771    */
+772   public boolean isErrorEnabled(Marker marker) {
+773     return logger.isErrorEnabled(marker);
+774   }
+775 
+776   /**
+777    * Delegate to the appropriate method of the underlying logger.
+778    */
+779   public void error(String msg) {
+780     if (!logger.isErrorEnabled())
+781       return;
+782 
+783     if (instanceofLAL) {
+784       ((LocationAwareLogger) logger).log(null, fqcn,
+785           LocationAwareLogger.ERROR_INT, msg, null, null);
+786     } else {
+787       logger.error(msg);
+788     }
+789   }
+790 
+791   /**
+792    * Delegate to the appropriate method of the underlying logger.
+793    */
+794   public void error(String format, Object arg) {
+795     if (!logger.isErrorEnabled())
+796       return;
+797 
+798     if (instanceofLAL) {
+799       String formattedMessage = MessageFormatter.format(format, arg)
+800           .getMessage();
+801       ((LocationAwareLogger) logger).log(null, fqcn,
+802           LocationAwareLogger.ERROR_INT, formattedMessage,
+803           new Object[] { arg }, null);
+804     } else {
+805       logger.error(format, arg);
+806     }
+807   }
+808 
+809   /**
+810    * Delegate to the appropriate method of the underlying logger.
+811    */
+812   public void error(String format, Object arg1, Object arg2) {
+813     if (!logger.isErrorEnabled())
+814       return;
+815 
+816     if (instanceofLAL) {
+817       String formattedMessage = MessageFormatter.format(format, arg1, arg2)
+818           .getMessage();
+819       ((LocationAwareLogger) logger).log(null, fqcn,
+820           LocationAwareLogger.ERROR_INT, formattedMessage, new Object[] { arg1,
+821               arg2 }, null);
+822     } else {
+823       logger.error(format, arg1, arg2);
+824     }
+825   }
+826 
+827   /**
+828    * Delegate to the appropriate method of the underlying logger.
+829    */
+830   public void error(String format, Object... args) {
+831     if (!logger.isErrorEnabled())
+832       return;
+833 
+834     if (instanceofLAL) {
+835       String formattedMessage = MessageFormatter.arrayFormat(format, args)
+836           .getMessage();
+837       ((LocationAwareLogger) logger).log(null, fqcn,
+838           LocationAwareLogger.ERROR_INT, formattedMessage, args, null);
+839     } else {
+840       logger.error(format, args);
+841     }
+842   }
+843 
+844   /**
+845    * Delegate to the appropriate method of the underlying logger.
+846    */
+847   public void error(String msg, Throwable t) {
+848     if (!logger.isErrorEnabled())
+849       return;
+850 
+851     if (instanceofLAL) {
+852       ((LocationAwareLogger) logger).log(null, fqcn,
+853           LocationAwareLogger.ERROR_INT, msg, null, t);
+854     } else {
+855       logger.error(msg, t);
+856     }
+857   }
+858 
+859   /**
+860    * Delegate to the appropriate method of the underlying logger.
+861    */
+862   public void error(Marker marker, String msg) {
+863     if (!logger.isErrorEnabled(marker))
+864       return;
+865     if (instanceofLAL) {
+866       ((LocationAwareLogger) logger).log(marker, fqcn,
+867           LocationAwareLogger.ERROR_INT, msg, null, null);
+868     } else {
+869       logger.error(marker, msg);
+870     }
+871   }
+872 
+873   /**
+874    * Delegate to the appropriate method of the underlying logger.
+875    */
+876   public void error(Marker marker, String format, Object arg) {
+877     if (!logger.isErrorEnabled(marker))
+878       return;
+879     if (instanceofLAL) {
+880       String formattedMessage = MessageFormatter.format(format, arg)
+881           .getMessage();
+882       ((LocationAwareLogger) logger).log(marker, fqcn,
+883           LocationAwareLogger.ERROR_INT, formattedMessage,
+884           new Object[] { arg }, null);
+885     } else {
+886       logger.error(marker, format, arg);
+887     }
+888   }
+889 
+890   /**
+891    * Delegate to the appropriate method of the underlying logger.
+892    */
+893   public void error(Marker marker, String format, Object arg1, Object arg2) {
+894     if (!logger.isErrorEnabled(marker))
+895       return;
+896     if (instanceofLAL) {
+897       String formattedMessage = MessageFormatter.format(format, arg1, arg2)
+898           .getMessage();
+899       ((LocationAwareLogger) logger).log(marker, fqcn,
+900           LocationAwareLogger.ERROR_INT, formattedMessage, new Object[] { arg1,
+901               arg2 }, null);
+902     } else {
+903       logger.error(marker, format, arg1, arg2);
+904     }
+905   }
+906 
+907   /**
+908    * Delegate to the appropriate method of the underlying logger.
+909    */
+910   public void error(Marker marker, String format, Object... args) {
+911     if (!logger.isErrorEnabled(marker))
+912       return;
+913     if (instanceofLAL) {
+914       String formattedMessage = MessageFormatter.arrayFormat(format, args)
+915           .getMessage();
+916       ((LocationAwareLogger) logger).log(marker, fqcn,
+917           LocationAwareLogger.ERROR_INT, formattedMessage, args, null);
+918     } else {
+919       logger.error(marker, format, args);
+920     }
+921   }
+922 
+923   /**
+924    * Delegate to the appropriate method of the underlying logger.
+925    */
+926   public void error(Marker marker, String msg, Throwable t) {
+927     if (!logger.isErrorEnabled(marker))
+928       return;
+929     if (instanceofLAL) {
+930       ((LocationAwareLogger) logger).log(marker, fqcn,
+931           LocationAwareLogger.ERROR_INT, msg, null, t);
+932     } else {
+933       logger.error(marker, msg, t);
+934     }
+935   }
+936 
+937   /**
+938    * Delegate to the appropriate method of the underlying logger.
+939    */
+940   public String getName() {
+941     return logger.getName();
+942   }
+943 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/ext/MDCStrLookup.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/ext/MDCStrLookup.html new file mode 100644 index 0000000..3bebd1e --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/ext/MDCStrLookup.html @@ -0,0 +1,64 @@ + + + + +MDCStrLookup xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.ext;
+26  
+27  import org.apache.commons.lang.text.StrLookup;
+28  import org.slf4j.MDC;
+29  
+30  
+31  /**
+32   * This class can be used with the Commons Lang StrSubstitutor to replace
+33   * tokens that occur in Strings with their values in the MDC.
+34   *
+35   * @author Ralph Goers
+36   */
+37  public class MDCStrLookup extends StrLookup {
+38      /**
+39       * Looks up up a value in the MDC.
+40       *
+41       * @param key the key to be looked up, may be null
+42       * @return the matching value, null if no match
+43       */
+44      public String lookup(String key) {
+45          if (key == null) {
+46              return null;
+47          }
+48          return MDC.get(key);
+49      }
+50  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/ext/XLogger.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/ext/XLogger.html new file mode 100644 index 0000000..440cbb1 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/ext/XLogger.html @@ -0,0 +1,238 @@ + + + + +XLogger xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.ext;
+26  
+27  import org.slf4j.Logger;
+28  import org.slf4j.Marker;
+29  import org.slf4j.MarkerFactory;
+30  import org.slf4j.helpers.FormattingTuple;
+31  import org.slf4j.helpers.MessageFormatter;
+32  import org.slf4j.spi.LocationAwareLogger;
+33  
+34  /**
+35   * A utility that provides standard mechanisms for logging certain kinds of
+36   * activities.
+37   * 
+38   * @author Ralph Goers
+39   * @author Ceki G&uuml;lc&uuml;
+40   */
+41  public class XLogger extends LoggerWrapper implements Logger {
+42  
+43    private static final String FQCN = XLogger.class.getName();
+44    static Marker FLOW_MARKER = MarkerFactory.getMarker("FLOW");
+45    static Marker ENTRY_MARKER = MarkerFactory.getMarker("ENTRY");
+46    static Marker EXIT_MARKER = MarkerFactory.getMarker("EXIT");
+47  
+48    static Marker EXCEPTION_MARKER = MarkerFactory.getMarker("EXCEPTION");
+49    static Marker THROWING_MARKER = MarkerFactory.getMarker("THROWING");
+50    static Marker CATCHING_MARKER = MarkerFactory.getMarker("CATCHING");
+51  
+52    static String EXIT_MESSAGE_0 = "exit";
+53    static String EXIT_MESSAGE_1 = "exit with ({})";
+54  
+55    static String ENTRY_MESSAGE_0 = "entry";
+56    static String ENTRY_MESSAGE_1 = "entry with ({})";
+57    static String ENTRY_MESSAGE_2 = "entry with ({}, {})";
+58    static String ENTRY_MESSAGE_3 = "entry with ({}, {}, {})";
+59    static String ENTRY_MESSAGE_4 = "entry with ({}, {}, {}, {})";
+60    static int ENTRY_MESSAGE_ARRAY_LEN = 5;
+61    static String[] ENTRY_MESSAGE_ARRAY = new String[ENTRY_MESSAGE_ARRAY_LEN];
+62    static {
+63      ENTRY_MARKER.add(FLOW_MARKER);
+64      EXIT_MARKER.add(FLOW_MARKER);
+65      THROWING_MARKER.add(EXCEPTION_MARKER);
+66      CATCHING_MARKER.add(EXCEPTION_MARKER);
+67  
+68      ENTRY_MESSAGE_ARRAY[0] = ENTRY_MESSAGE_0;
+69      ENTRY_MESSAGE_ARRAY[1] = ENTRY_MESSAGE_1;
+70      ENTRY_MESSAGE_ARRAY[2] = ENTRY_MESSAGE_2;
+71      ENTRY_MESSAGE_ARRAY[3] = ENTRY_MESSAGE_3;
+72      ENTRY_MESSAGE_ARRAY[4] = ENTRY_MESSAGE_4;
+73    }
+74  
+75    public enum Level {
+76      TRACE("TRACE", LocationAwareLogger.TRACE_INT), DEBUG("DEBUG",
+77          LocationAwareLogger.DEBUG_INT), INFO("INFO",
+78          LocationAwareLogger.INFO_INT), WARN("WARN",
+79          LocationAwareLogger.WARN_INT), ERROR("ERROR",
+80          LocationAwareLogger.ERROR_INT);
+81  
+82      private final String name;
+83      private final int level;
+84  
+85      public String toString() {
+86        return this.name;
+87      }
+88  
+89      public int intValue() {
+90        return this.level;
+91      }
+92  
+93      private Level(String name, int level) {
+94        this.name = name;
+95        this.level = level;
+96      }
+97    }
+98  
+99    /**
+100    * Given an underlying logger, construct an XLogger
+101    * 
+102    * @param logger
+103    *          underlying logger
+104    */
+105   public XLogger(Logger logger) {
+106     // If class B extends A, assuming B does not override method x(), the caller
+107     // of new B().x() is A and not B, see also
+108     // http://bugzilla.slf4j.org/show_bug.cgi?id=114
+109     super(logger, LoggerWrapper.class.getName());
+110   }
+111 
+112   /**
+113    * Log method entry.
+114    * 
+115    * @param argArray
+116    *          supplied parameters
+117    */
+118   public void entry(Object... argArray) {
+119     if (instanceofLAL && logger.isTraceEnabled(ENTRY_MARKER)) {
+120       String messagePattern = null;
+121       if (argArray.length < ENTRY_MESSAGE_ARRAY_LEN) {
+122         messagePattern = ENTRY_MESSAGE_ARRAY[argArray.length];
+123       } else {
+124         messagePattern = buildMessagePattern(argArray.length);
+125       }
+126       FormattingTuple tp = MessageFormatter.arrayFormat(messagePattern, argArray);
+127       ((LocationAwareLogger) logger).log(ENTRY_MARKER, FQCN,
+128           LocationAwareLogger.TRACE_INT, tp.getMessage(), argArray, tp.getThrowable());
+129     }
+130   }
+131 
+132   /**
+133    * Log method exit
+134    */
+135   public void exit() {
+136     if (instanceofLAL && logger.isTraceEnabled(ENTRY_MARKER)) {
+137       ((LocationAwareLogger) logger).log(EXIT_MARKER, FQCN,
+138           LocationAwareLogger.TRACE_INT, EXIT_MESSAGE_0, null, null);
+139     }
+140   }
+141 
+142   /**
+143    * Log method exit
+144    * 
+145    * @param result
+146    *          The result of the method being exited
+147    */
+148   public void exit(Object result) {
+149     if (instanceofLAL && logger.isTraceEnabled(ENTRY_MARKER)) {
+150       FormattingTuple tp = MessageFormatter.format(EXIT_MESSAGE_1, result);
+151       ((LocationAwareLogger) logger).log(EXIT_MARKER, FQCN,
+152           LocationAwareLogger.TRACE_INT, tp.getMessage(),
+153           new Object[] { result }, tp.getThrowable());
+154     }
+155   }
+156 
+157   /**
+158    * Log an exception being thrown. The generated log event uses Level ERROR.
+159    * 
+160    * @param throwable
+161    *          the exception being caught.
+162    */
+163   public void throwing(Throwable throwable) {
+164     if (instanceofLAL) {
+165       ((LocationAwareLogger) logger).log(THROWING_MARKER, FQCN,
+166           LocationAwareLogger.ERROR_INT, "throwing", null, throwable);
+167     }
+168   }
+169 
+170   /**
+171    * Log an exception being thrown allowing the log level to be specified.
+172    * 
+173    * @param level
+174    *          the logging level to use.
+175    * @param throwable
+176    *          the exception being caught.
+177    */
+178   public void throwing(Level level, Throwable throwable) {
+179     if (instanceofLAL) {
+180       ((LocationAwareLogger) logger).log(THROWING_MARKER, FQCN, level.level,
+181           "throwing", null, throwable);
+182     }
+183   }
+184 
+185   /**
+186    * Log an exception being caught. The generated log event uses Level ERROR.
+187    * 
+188    * @param throwable
+189    *          the exception being caught.
+190    */
+191   public void catching(Throwable throwable) {
+192     if (instanceofLAL) {
+193       ((LocationAwareLogger) logger).log(CATCHING_MARKER, FQCN,
+194           LocationAwareLogger.ERROR_INT, "catching", null, throwable);
+195     }
+196   }
+197 
+198   /**
+199    * Log an exception being caught allowing the log level to be specified.
+200    * 
+201    * @param level
+202    *          the logging level to use.
+203    * @param throwable
+204    *          the exception being caught.
+205    */
+206   public void catching(Level level, Throwable throwable) {
+207     if (instanceofLAL) {
+208       ((LocationAwareLogger) logger).log(CATCHING_MARKER, FQCN, level.level,
+209           "catching", null, throwable);
+210     }
+211   }
+212 
+213   private static String buildMessagePattern(int len) {
+214     StringBuilder sb = new StringBuilder();
+215     sb.append(" entry with (");
+216     for (int i = 0; i < len; i++) {
+217       sb.append("{}");
+218       if (i != len - 1)
+219         sb.append(", ");
+220     }
+221     sb.append(')');
+222     return sb.toString();
+223   }
+224 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/ext/XLoggerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/ext/XLoggerFactory.html new file mode 100644 index 0000000..0dd1948 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/ext/XLoggerFactory.html @@ -0,0 +1,79 @@ + + + + +XLoggerFactory xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.ext;
+26  
+27  import org.slf4j.LoggerFactory;
+28  
+29  /**
+30   * 
+31   * This class is essentially a wrapper around an
+32   * {@link LoggerFactory} producing {@link XLogger} instances.
+33   * 
+34   * <p>Contrary to {@link LoggerFactory#getLogger(String)} method of 
+35   * {@link LoggerFactory}, each call to {@link #getXLogger(String)} 
+36   * produces a new instance of <code>XLogger</code>. This should not matter 
+37   * because an <code>XLogger</code> instance does not have any state beyond that of 
+38   * the {@link org.slf4j.Logger Logger} instance it wraps.
+39   * 
+40   * @author Ralph Goers
+41   * @author Ceki G&uuml;lc&uuml;
+42   */
+43  public class XLoggerFactory {
+44  
+45    /**
+46     * Get an XLogger instance by name.
+47     * 
+48     * @param name
+49     * @return XLogger instance 
+50     */
+51    public static XLogger getXLogger(String name) {
+52      return new XLogger(LoggerFactory.getLogger(name));
+53    }
+54  
+55    /**
+56     * Get a new XLogger instance by class. The returned XLogger
+57     * will be named after the class.
+58     * 
+59     * @param clazz
+60     * @return XLogger instance by name
+61     */
+62    public static XLogger getXLogger(Class clazz) {
+63      return getXLogger(clazz.getName());
+64    }
+65  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/ext/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/ext/package-frame.html new file mode 100644 index 0000000..c63e8a0 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/ext/package-frame.html @@ -0,0 +1,45 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.ext + + + + +

+ org.slf4j.ext +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/ext/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/ext/package-summary.html new file mode 100644 index 0000000..7b30b6c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/ext/package-summary.html @@ -0,0 +1,102 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.ext + + + +
+ +
+
+ +
+ +

Package org.slf4j.ext

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class Summary
+ EventData +
+ EventException +
+ EventLogger +
+ Level +
+ LoggerWrapper +
+ MDCStrLookup +
+ XLogger +
+ XLoggerFactory +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/BasicMDCAdapter.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/BasicMDCAdapter.html new file mode 100644 index 0000000..b9c15de --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/BasicMDCAdapter.html @@ -0,0 +1,175 @@ + + + + +BasicMDCAdapter xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.helpers;
+26  
+27  import org.slf4j.spi.MDCAdapter;
+28  
+29  import java.util.*;
+30  import java.util.Map;
+31  
+32  /**
+33   * Basic MDC implementation, which can be used with logging systems that lack
+34   * out-of-the-box MDC support.
+35   * 
+36   * This code was initially inspired by  logback's LogbackMDCAdapter. However,
+37   * LogbackMDCAdapter has evolved and is now considerably more sophisticated.
+38   *
+39   * @author Ceki Gulcu
+40   * @author Maarten Bosteels
+41   * 
+42   * @since 1.5.0
+43   */
+44  public class BasicMDCAdapter implements MDCAdapter {
+45  
+46    private InheritableThreadLocal inheritableThreadLocal = new InheritableThreadLocal();
+47  
+48    static boolean isJDK14() {
+49      try {
+50        String javaVersion = System.getProperty("java.version");
+51        return javaVersion.startsWith("1.4");
+52      } catch(SecurityException se) {
+53        // punt and assume JDK 1.5 or later
+54        return false;
+55      }
+56    }
+57  
+58    static boolean IS_JDK14 = isJDK14();
+59  
+60  
+61    /**
+62     * Put a context value (the <code>val</code> parameter) as identified with
+63     * the <code>key</code> parameter into the current thread's context map.
+64     * Note that contrary to log4j, the <code>val</code> parameter can be null.
+65     * 
+66     * <p>
+67     * If the current thread does not have a context map it is created as a side
+68     * effect of this call.
+69     * 
+70     * @throws IllegalArgumentException
+71     *                 in case the "key" parameter is null
+72     */
+73    public void put(String key, String val) {
+74      if (key == null) {
+75        throw new IllegalArgumentException("key cannot be null");
+76      }
+77      Map map = (Map) inheritableThreadLocal.get();
+78      if (map == null) {
+79        map = Collections.synchronizedMap(new HashMap());
+80        inheritableThreadLocal.set(map);
+81      }
+82      map.put(key, val);
+83    }
+84  
+85    /**
+86     * Get the context identified by the <code>key</code> parameter.
+87     */
+88    public String get(String key) {
+89      Map Map = (Map) inheritableThreadLocal.get();
+90      if ((Map != null) && (key != null)) {
+91        return (String) Map.get(key);
+92      } else {
+93        return null;
+94      }
+95    }
+96  
+97    /**
+98     * Remove the the context identified by the <code>key</code> parameter.
+99     */
+100   public void remove(String key) {
+101     Map map = (Map) inheritableThreadLocal.get();
+102     if (map != null) {
+103       map.remove(key);
+104     }
+105   }
+106 
+107   /**
+108    * Clear all entries in the MDC.
+109    */
+110   public void clear() {
+111     Map map = (Map) inheritableThreadLocal.get();
+112     if (map != null) {
+113       map.clear();
+114       // the InheritableThreadLocal.remove method was introduced in JDK 1.5
+115       // Thus, invoking clear() on previous JDK 1.4 will fail
+116       if(isJDK14()) {
+117         inheritableThreadLocal.set(null);
+118       }  else {
+119         inheritableThreadLocal.remove();
+120       }
+121     }
+122   }
+123 
+124   /**
+125    * Returns the keys in the MDC as a {@link Set} of {@link String}s The
+126    * returned value can be null.
+127    * 
+128    * @return the keys in the MDC
+129    */
+130   public Set getKeys() {
+131     Map map = (Map) inheritableThreadLocal.get();
+132     if (map != null) {
+133       return map.keySet();
+134     } else {
+135       return null;
+136     }
+137   }
+138   /**
+139    * Return a copy of the current thread's context map. 
+140    * Returned value may be null.
+141    * 
+142    */
+143   public Map getCopyOfContextMap() {
+144     Map oldMap = (Map) inheritableThreadLocal.get();
+145     if (oldMap != null) {
+146        Map newMap = Collections.synchronizedMap(new HashMap());
+147        synchronized (oldMap) {
+148          newMap.putAll(oldMap);
+149        }
+150        return  newMap;
+151     } else {
+152       return null;
+153     }
+154   }
+155 
+156   public void setContextMap(Map contextMap) {
+157     Map map = Collections.synchronizedMap(new HashMap(contextMap));
+158     inheritableThreadLocal.set(map);
+159   }
+160 
+161 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/BasicMarker.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/BasicMarker.html new file mode 100644 index 0000000..faf6873 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/BasicMarker.html @@ -0,0 +1,210 @@ + + + + +BasicMarker xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.helpers;
+26  
+27  import java.util.Collections;
+28  import java.util.Iterator;
+29  import java.util.List;
+30  import java.util.Vector;
+31  
+32  import org.slf4j.Marker;
+33  
+34  /**
+35   * A simple implementation of the {@link Marker} interface.
+36   * 
+37   * @author Ceki G&uuml;lc&uuml;
+38   * @author Joern Huxhorn
+39   */
+40  public class BasicMarker implements Marker {
+41  
+42    private static final long serialVersionUID = 1803952589649545191L;
+43  
+44    private final String name;
+45    private List refereceList;
+46  
+47    BasicMarker(String name) {
+48      if (name == null) {
+49        throw new IllegalArgumentException("A marker name cannot be null");
+50      }
+51      this.name = name;
+52    }
+53  
+54    public String getName() {
+55      return name;
+56    }
+57  
+58    public synchronized void add(Marker reference) {
+59      if (reference == null) {
+60        throw new IllegalArgumentException(
+61            "A null value cannot be added to a Marker as reference.");
+62      }
+63  
+64      // no point in adding the reference multiple times
+65      if (this.contains(reference)) {
+66        return;
+67  
+68      } else if (reference.contains(this)) { // avoid recursion
+69        // a potential reference should not its future "parent" as a reference
+70        return;
+71      } else {
+72        // let's add the reference
+73        if (refereceList == null) {
+74          refereceList = new Vector();
+75        }
+76        refereceList.add(reference);
+77      }
+78  
+79    }
+80  
+81    public synchronized boolean hasReferences() {
+82      return ((refereceList != null) && (refereceList.size() > 0));
+83    }
+84    
+85    public boolean hasChildren() {
+86      return hasReferences();
+87    }
+88  
+89    public synchronized Iterator iterator() {
+90      if (refereceList != null) {
+91        return refereceList.iterator();
+92      } else {
+93        return Collections.EMPTY_LIST.iterator();
+94      }
+95    }
+96  
+97    public synchronized boolean remove(Marker referenceToRemove) {
+98      if (refereceList == null) {
+99        return false;
+100     }
+101 
+102     int size = refereceList.size();
+103     for (int i = 0; i < size; i++) {
+104       Marker m = (Marker) refereceList.get(i);
+105       if (referenceToRemove.equals(m)) {
+106         refereceList.remove(i);
+107         return true;
+108       }
+109     }
+110     return false;
+111   }
+112 
+113   public boolean contains(Marker other) {
+114     if (other == null) {
+115       throw new IllegalArgumentException("Other cannot be null");
+116     }
+117 
+118     if (this.equals(other)) {
+119       return true;
+120     }
+121 
+122     if (hasReferences()) {
+123       for (int i = 0; i < refereceList.size(); i++) {
+124         Marker ref = (Marker) refereceList.get(i);
+125         if (ref.contains(other)) {
+126           return true;
+127         }
+128       }
+129     }
+130     return false;
+131   }
+132 
+133   /**
+134    * This method is mainly used with Expression Evaluators.
+135    */
+136   public boolean contains(String name) {
+137     if (name == null) {
+138       throw new IllegalArgumentException("Other cannot be null");
+139     }
+140 
+141     if (this.name.equals(name)) {
+142       return true;
+143     }
+144 
+145     if (hasReferences()) {
+146       for (int i = 0; i < refereceList.size(); i++) {
+147         Marker ref = (Marker) refereceList.get(i);
+148         if (ref.contains(name)) {
+149           return true;
+150         }
+151       }
+152     }
+153     return false;
+154   }
+155 
+156   private static String OPEN = "[ ";
+157   private static String CLOSE = " ]";
+158   private static String SEP = ", ";
+159 
+160 
+161   public boolean equals(Object obj) {
+162     if (this == obj)
+163       return true;
+164     if (obj == null)
+165       return false;
+166     if (!(obj instanceof Marker))
+167       return false;
+168 
+169     final Marker other = (Marker) obj;
+170     return name.equals(other.getName());
+171   }
+172 
+173   public int hashCode() {
+174     return name.hashCode();
+175   }
+176 
+177   public String toString() {
+178     if (!this.hasReferences()) {
+179       return this.getName();
+180     }
+181     Iterator it = this.iterator();
+182     Marker reference;
+183     StringBuffer sb = new StringBuffer(this.getName());
+184     sb.append(' ').append(OPEN);
+185     while (it.hasNext()) {
+186       reference = (Marker) it.next();
+187       sb.append(reference.getName());
+188       if (it.hasNext()) {
+189         sb.append(SEP);
+190       }
+191     }
+192     sb.append(CLOSE);
+193 
+194     return sb.toString();
+195   }
+196 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/BasicMarkerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/BasicMarkerFactory.html new file mode 100644 index 0000000..da63ca4 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/BasicMarkerFactory.html @@ -0,0 +1,113 @@ + + + + +BasicMarkerFactory xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.helpers;
+26  
+27  import java.util.HashMap;
+28  import java.util.Map;
+29  
+30  import org.slf4j.IMarkerFactory;
+31  import org.slf4j.Marker;
+32  
+33  /**
+34   * An almost trivial implementation of the {@link IMarkerFactory}
+35   * interface which creates {@link BasicMarker} instances.
+36   * 
+37   * <p>Simple logging systems can conform to the SLF4J API by binding
+38   * {@link org.slf4j.MarkerFactory} with an instance of this class.
+39   *
+40   * @author Ceki G&uuml;lc&uuml;
+41   */
+42  public class BasicMarkerFactory implements IMarkerFactory {
+43  
+44    Map markerMap = new HashMap();
+45    
+46    /**
+47     * Regular users should <em>not</em> create
+48     * <code>BasicMarkerFactory</code> instances. <code>Marker</code>
+49     * instances can be obtained using the static {@link
+50     * org.slf4j.MarkerFactory#getMarker} method.
+51     */
+52    public BasicMarkerFactory() {
+53    }
+54  
+55    /**
+56     * Manufacture a {@link BasicMarker} instance by name. If the instance has been 
+57     * created earlier, return the previously created instance. 
+58     * 
+59     * @param name the name of the marker to be created
+60     * @return a Marker instance
+61     */
+62    public synchronized Marker getMarker(String name) {
+63      if (name == null) {
+64        throw new IllegalArgumentException("Marker name cannot be null");
+65      }
+66  
+67      Marker marker = (Marker) markerMap.get(name);
+68      if (marker == null) {
+69        marker = new BasicMarker(name);
+70        markerMap.put(name, marker);
+71      }
+72      return marker;
+73    }
+74    
+75    /**
+76     * Does the name marked already exist?
+77     */
+78    public synchronized boolean exists(String name) {
+79      if (name == null) {
+80        return false;
+81      }
+82      return markerMap.containsKey(name);
+83    }
+84  
+85    public boolean detachMarker(String name) {
+86      if(name == null) {
+87        return false;
+88      }
+89      return (markerMap.remove(name) != null);
+90    }
+91  
+92    
+93    public Marker getDetachedMarker(String name) {
+94      return  new BasicMarker(name);
+95    }
+96    
+97    
+98    
+99  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/FormattingTuple.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/FormattingTuple.html new file mode 100644 index 0000000..fa98ce4 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/FormattingTuple.html @@ -0,0 +1,91 @@ + + + + +FormattingTuple xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.helpers;
+26  
+27  /**
+28   * Holds the results of formatting done by {@link MessageFormatter}.
+29   * 
+30   * @author Joern Huxhorn
+31   */
+32  public class FormattingTuple {
+33    
+34    
+35    static public FormattingTuple NULL = new FormattingTuple(null);
+36    
+37    private String message;
+38    private Throwable throwable;
+39    private Object[] argArray;
+40    
+41    public FormattingTuple(String message) {
+42      this(message, null, null);
+43    }
+44  
+45    public FormattingTuple(String message, Object[] argArray, Throwable throwable) {
+46      this.message = message;
+47      this.throwable = throwable;
+48      if(throwable == null) {
+49        this.argArray = argArray;
+50      } else {
+51        this.argArray = trimmedCopy(argArray);
+52      }
+53    }
+54  
+55    static Object[] trimmedCopy(Object[] argArray) {
+56      if(argArray == null || argArray.length == 0) {
+57        throw new  IllegalStateException("non-sensical empty or null argument array");
+58      }
+59      final int trimemdLen = argArray.length -1;
+60      Object[] trimmed = new Object[trimemdLen];
+61      System.arraycopy(argArray, 0, trimmed, 0, trimemdLen);
+62      return trimmed;
+63    }
+64    
+65    public String getMessage() {
+66      return message;
+67    }
+68  
+69    public Object[] getArgArray() {
+70      return argArray;
+71    }
+72  
+73    public Throwable getThrowable() {
+74      return throwable;
+75    }
+76  
+77  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/MarkerIgnoringBase.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/MarkerIgnoringBase.html new file mode 100644 index 0000000..892f1ec --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/MarkerIgnoringBase.html @@ -0,0 +1,182 @@ + + + + +MarkerIgnoringBase xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.helpers;
+26  
+27  import org.slf4j.Logger;
+28  import org.slf4j.Marker;
+29  
+30  
+31  /**
+32   * This class serves as base for adapters or native implementations of logging systems 
+33   * lacking Marker support. In this implementation, methods taking marker data 
+34   * simply invoke the corresponding method without the Marker argument, discarding 
+35   * any marker data passed as argument.
+36   * 
+37   * @author Ceki Gulcu
+38   */
+39  public abstract class MarkerIgnoringBase extends NamedLoggerBase implements Logger {
+40  
+41    private static final long serialVersionUID = 9044267456635152283L;
+42  
+43    public boolean isTraceEnabled(Marker marker) {
+44      return isTraceEnabled();
+45    }
+46    
+47    public void trace(Marker marker, String msg) {
+48      trace(msg);
+49    }
+50  
+51    public void trace(Marker marker, String format, Object arg) {
+52      trace(format, arg);
+53    }
+54  
+55    public void trace(Marker marker, String format, Object arg1, Object arg2) {
+56      trace(format, arg1, arg2);
+57    }
+58  
+59    public void trace(Marker marker, String format, Object... arguments) {
+60      trace(format, arguments);
+61    }
+62  
+63    public void trace(Marker marker, String msg, Throwable t) {
+64      trace(msg, t);
+65    }
+66    
+67    public boolean isDebugEnabled(Marker marker) {
+68      return isDebugEnabled();
+69    }
+70  
+71    public void debug(Marker marker, String msg) {
+72      debug(msg);
+73    }
+74  
+75    public void debug(Marker marker, String format, Object arg) {
+76      debug(format, arg);
+77    }
+78  
+79    public void debug(Marker marker, String format, Object arg1, Object arg2) {
+80      debug(format, arg1, arg2);
+81    }
+82  
+83    public void debug(Marker marker, String format, Object... arguments) {
+84      debug(format, arguments);
+85    }
+86  
+87    public void debug(Marker marker, String msg, Throwable t) {
+88      debug(msg, t);
+89    }
+90  
+91    public boolean isInfoEnabled(Marker marker) {
+92      return isInfoEnabled();
+93    }
+94  
+95    public void info(Marker marker, String msg) {
+96      info(msg);
+97    }
+98  
+99    public void info(Marker marker, String format, Object arg) {
+100     info(format, arg);
+101   }
+102 
+103   public void info(Marker marker, String format, Object arg1, Object arg2) {
+104     info(format, arg1, arg2);
+105   }
+106 
+107   public void info(Marker marker, String format, Object... arguments) {
+108     info(format, arguments);
+109   }
+110 
+111   public void info(Marker marker, String msg, Throwable t) {
+112     info(msg, t);
+113   }
+114 
+115   public boolean isWarnEnabled(Marker marker) {
+116     return isWarnEnabled();
+117   }
+118 
+119   public void warn(Marker marker, String msg) {
+120     warn(msg);
+121   }
+122 
+123   public void warn(Marker marker, String format, Object arg) {
+124     warn(format, arg);
+125   }
+126 
+127   public void warn(Marker marker, String format, Object arg1, Object arg2) {
+128     warn(format, arg1, arg2);
+129   }
+130 
+131   public void warn(Marker marker, String format, Object... arguments) {
+132     warn(format, arguments);
+133   }
+134 
+135   public void warn(Marker marker, String msg, Throwable t) {
+136     warn(msg, t);
+137   }
+138 
+139  
+140   public boolean isErrorEnabled(Marker marker) {
+141     return isErrorEnabled();
+142   }
+143 
+144   public void error(Marker marker, String msg) {
+145     error(msg);
+146   }
+147 
+148   public void error(Marker marker, String format, Object arg) {
+149     error(format, arg);
+150   }
+151 
+152   public void error(Marker marker, String format, Object arg1, Object arg2) {
+153     error(format, arg1, arg2);
+154   }
+155 
+156   public void error(Marker marker, String format, Object... arguments) {
+157     error(format, arguments);
+158   }
+159 
+160   public void error(Marker marker, String msg, Throwable t) {
+161     error(msg, t);
+162   }
+163 
+164   public String toString() {
+165 	  return this.getClass().getName()+"("+getName()+")";
+166   }
+167   
+168 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/MessageFormatter.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/MessageFormatter.html new file mode 100644 index 0000000..ee99c36 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/MessageFormatter.html @@ -0,0 +1,436 @@ + + + + +MessageFormatter xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.helpers;
+26  
+27  import java.text.MessageFormat;
+28  import java.util.HashMap;
+29  import java.util.Map;
+30  
+31  // contributors: lizongbo: proposed special treatment of array parameter values
+32  // Joern Huxhorn: pointed out double[] omission, suggested deep array copy
+33  /**
+34   * Formats messages according to very simple substitution rules. Substitutions
+35   * can be made 1, 2 or more arguments.
+36   * 
+37   * <p>
+38   * For example,
+39   * 
+40   * <pre>
+41   * MessageFormatter.format(&quot;Hi {}.&quot;, &quot;there&quot;)
+42   * </pre>
+43   * 
+44   * will return the string "Hi there.".
+45   * <p>
+46   * The {} pair is called the <em>formatting anchor</em>. It serves to designate
+47   * the location where arguments need to be substituted within the message
+48   * pattern.
+49   * <p>
+50   * In case your message contains the '{' or the '}' character, you do not have
+51   * to do anything special unless the '}' character immediately follows '{'. For
+52   * example,
+53   * 
+54   * <pre>
+55   * MessageFormatter.format(&quot;Set {1,2,3} is not equal to {}.&quot;, &quot;1,2&quot;);
+56   * </pre>
+57   * 
+58   * will return the string "Set {1,2,3} is not equal to 1,2.".
+59   * 
+60   * <p>
+61   * If for whatever reason you need to place the string "{}" in the message
+62   * without its <em>formatting anchor</em> meaning, then you need to escape the
+63   * '{' character with '\', that is the backslash character. Only the '{'
+64   * character should be escaped. There is no need to escape the '}' character.
+65   * For example,
+66   * 
+67   * <pre>
+68   * MessageFormatter.format(&quot;Set \\{} is not equal to {}.&quot;, &quot;1,2&quot;);
+69   * </pre>
+70   * 
+71   * will return the string "Set {} is not equal to 1,2.".
+72   * 
+73   * <p>
+74   * The escaping behavior just described can be overridden by escaping the escape
+75   * character '\'. Calling
+76   * 
+77   * <pre>
+78   * MessageFormatter.format(&quot;File name is C:\\\\{}.&quot;, &quot;file.zip&quot;);
+79   * </pre>
+80   * 
+81   * will return the string "File name is C:\file.zip".
+82   * 
+83   * <p>
+84   * The formatting conventions are different than those of {@link MessageFormat}
+85   * which ships with the Java platform. This is justified by the fact that
+86   * SLF4J's implementation is 10 times faster than that of {@link MessageFormat}.
+87   * This local performance difference is both measurable and significant in the
+88   * larger context of the complete logging processing chain.
+89   * 
+90   * <p>
+91   * See also {@link #format(String, Object)},
+92   * {@link #format(String, Object, Object)} and
+93   * {@link #arrayFormat(String, Object[])} methods for more details.
+94   * 
+95   * @author Ceki G&uuml;lc&uuml;
+96   * @author Joern Huxhorn
+97   */
+98  final public class MessageFormatter {
+99    static final char DELIM_START = '{';
+100   static final char DELIM_STOP = '}';
+101   static final String DELIM_STR = "{}";
+102   private static final char ESCAPE_CHAR = '\\';
+103 
+104   /**
+105    * Performs single argument substitution for the 'messagePattern' passed as
+106    * parameter.
+107    * <p>
+108    * For example,
+109    * 
+110    * <pre>
+111    * MessageFormatter.format(&quot;Hi {}.&quot;, &quot;there&quot;);
+112    * </pre>
+113    * 
+114    * will return the string "Hi there.".
+115    * <p>
+116    * 
+117    * @param messagePattern
+118    *          The message pattern which will be parsed and formatted
+119    * @param argument
+120    *          The argument to be substituted in place of the formatting anchor
+121    * @return The formatted message
+122    */
+123   final public static FormattingTuple format(String messagePattern, Object arg) {
+124     return arrayFormat(messagePattern, new Object[] { arg });
+125   }
+126 
+127   /**
+128    * 
+129    * Performs a two argument substitution for the 'messagePattern' passed as
+130    * parameter.
+131    * <p>
+132    * For example,
+133    * 
+134    * <pre>
+135    * MessageFormatter.format(&quot;Hi {}. My name is {}.&quot;, &quot;Alice&quot;, &quot;Bob&quot;);
+136    * </pre>
+137    * 
+138    * will return the string "Hi Alice. My name is Bob.".
+139    * 
+140    * @param messagePattern
+141    *          The message pattern which will be parsed and formatted
+142    * @param arg1
+143    *          The argument to be substituted in place of the first formatting
+144    *          anchor
+145    * @param arg2
+146    *          The argument to be substituted in place of the second formatting
+147    *          anchor
+148    * @return The formatted message
+149    */
+150   final public static FormattingTuple format(final String messagePattern,
+151       Object arg1, Object arg2) {
+152     return arrayFormat(messagePattern, new Object[] { arg1, arg2 });
+153   }
+154 
+155   static final Throwable getThrowableCandidate(Object[] argArray) {
+156     if (argArray == null || argArray.length == 0) {
+157       return null;
+158     }
+159 
+160     final Object lastEntry = argArray[argArray.length - 1];
+161     if (lastEntry instanceof Throwable) {
+162       return (Throwable) lastEntry;
+163     }
+164     return null;
+165   }
+166 
+167   /**
+168    * Same principle as the {@link #format(String, Object)} and
+169    * {@link #format(String, Object, Object)} methods except that any number of
+170    * arguments can be passed in an array.
+171    * 
+172    * @param messagePattern
+173    *          The message pattern which will be parsed and formatted
+174    * @param argArray
+175    *          An array of arguments to be substituted in place of formatting
+176    *          anchors
+177    * @return The formatted message
+178    */
+179   final public static FormattingTuple arrayFormat(final String messagePattern,
+180       final Object[] argArray) {
+181 
+182     Throwable throwableCandidate = getThrowableCandidate(argArray);
+183 
+184     if (messagePattern == null) {
+185       return new FormattingTuple(null, argArray, throwableCandidate);
+186     }
+187 
+188     if (argArray == null) {
+189       return new FormattingTuple(messagePattern);
+190     }
+191 
+192     int i = 0;
+193     int j;
+194     StringBuffer sbuf = new StringBuffer(messagePattern.length() + 50);
+195 
+196     int L;
+197     for (L = 0; L < argArray.length; L++) {
+198 
+199       j = messagePattern.indexOf(DELIM_STR, i);
+200 
+201       if (j == -1) {
+202         // no more variables
+203         if (i == 0) { // this is a simple string
+204           return new FormattingTuple(messagePattern, argArray,
+205               throwableCandidate);
+206         } else { // add the tail string which contains no variables and return
+207           // the result.
+208           sbuf.append(messagePattern.substring(i, messagePattern.length()));
+209           return new FormattingTuple(sbuf.toString(), argArray,
+210               throwableCandidate);
+211         }
+212       } else {
+213         if (isEscapedDelimeter(messagePattern, j)) {
+214           if (!isDoubleEscaped(messagePattern, j)) {
+215             L--; // DELIM_START was escaped, thus should not be incremented
+216             sbuf.append(messagePattern.substring(i, j - 1));
+217             sbuf.append(DELIM_START);
+218             i = j + 1;
+219           } else {
+220             // The escape character preceding the delimiter start is
+221             // itself escaped: "abc x:\\{}"
+222             // we have to consume one backward slash
+223             sbuf.append(messagePattern.substring(i, j - 1));
+224             deeplyAppendParameter(sbuf, argArray[L], new HashMap());
+225             i = j + 2;
+226           }
+227         } else {
+228           // normal case
+229           sbuf.append(messagePattern.substring(i, j));
+230           deeplyAppendParameter(sbuf, argArray[L], new HashMap());
+231           i = j + 2;
+232         }
+233       }
+234     }
+235     // append the characters following the last {} pair.
+236     sbuf.append(messagePattern.substring(i, messagePattern.length()));
+237     if (L < argArray.length - 1) {
+238       return new FormattingTuple(sbuf.toString(), argArray, throwableCandidate);
+239     } else {
+240       return new FormattingTuple(sbuf.toString(), argArray, null);
+241     }
+242   }
+243 
+244   final static boolean isEscapedDelimeter(String messagePattern,
+245       int delimeterStartIndex) {
+246 
+247     if (delimeterStartIndex == 0) {
+248       return false;
+249     }
+250     char potentialEscape = messagePattern.charAt(delimeterStartIndex - 1);
+251     if (potentialEscape == ESCAPE_CHAR) {
+252       return true;
+253     } else {
+254       return false;
+255     }
+256   }
+257 
+258   final static boolean isDoubleEscaped(String messagePattern,
+259       int delimeterStartIndex) {
+260     if (delimeterStartIndex >= 2
+261         && messagePattern.charAt(delimeterStartIndex - 2) == ESCAPE_CHAR) {
+262       return true;
+263     } else {
+264       return false;
+265     }
+266   }
+267 
+268   // special treatment of array values was suggested by 'lizongbo'
+269   private static void deeplyAppendParameter(StringBuffer sbuf, Object o,
+270       Map seenMap) {
+271     if (o == null) {
+272       sbuf.append("null");
+273       return;
+274     }
+275     if (!o.getClass().isArray()) {
+276       safeObjectAppend(sbuf, o);
+277     } else {
+278       // check for primitive array types because they
+279       // unfortunately cannot be cast to Object[]
+280       if (o instanceof boolean[]) {
+281         booleanArrayAppend(sbuf, (boolean[]) o);
+282       } else if (o instanceof byte[]) {
+283         byteArrayAppend(sbuf, (byte[]) o);
+284       } else if (o instanceof char[]) {
+285         charArrayAppend(sbuf, (char[]) o);
+286       } else if (o instanceof short[]) {
+287         shortArrayAppend(sbuf, (short[]) o);
+288       } else if (o instanceof int[]) {
+289         intArrayAppend(sbuf, (int[]) o);
+290       } else if (o instanceof long[]) {
+291         longArrayAppend(sbuf, (long[]) o);
+292       } else if (o instanceof float[]) {
+293         floatArrayAppend(sbuf, (float[]) o);
+294       } else if (o instanceof double[]) {
+295         doubleArrayAppend(sbuf, (double[]) o);
+296       } else {
+297         objectArrayAppend(sbuf, (Object[]) o, seenMap);
+298       }
+299     }
+300   }
+301 
+302   private static void safeObjectAppend(StringBuffer sbuf, Object o) {
+303     try {
+304       String oAsString = o.toString();
+305       sbuf.append(oAsString);
+306     } catch (Throwable t) {
+307       System.err
+308           .println("SLF4J: Failed toString() invocation on an object of type ["
+309               + o.getClass().getName() + "]");
+310       t.printStackTrace();
+311       sbuf.append("[FAILED toString()]");
+312     }
+313 
+314   }
+315 
+316   private static void objectArrayAppend(StringBuffer sbuf, Object[] a,
+317       Map seenMap) {
+318     sbuf.append('[');
+319     if (!seenMap.containsKey(a)) {
+320       seenMap.put(a, null);
+321       final int len = a.length;
+322       for (int i = 0; i < len; i++) {
+323         deeplyAppendParameter(sbuf, a[i], seenMap);
+324         if (i != len - 1)
+325           sbuf.append(", ");
+326       }
+327       // allow repeats in siblings
+328       seenMap.remove(a);
+329     } else {
+330       sbuf.append("...");
+331     }
+332     sbuf.append(']');
+333   }
+334 
+335   private static void booleanArrayAppend(StringBuffer sbuf, boolean[] a) {
+336     sbuf.append('[');
+337     final int len = a.length;
+338     for (int i = 0; i < len; i++) {
+339       sbuf.append(a[i]);
+340       if (i != len - 1)
+341         sbuf.append(", ");
+342     }
+343     sbuf.append(']');
+344   }
+345 
+346   private static void byteArrayAppend(StringBuffer sbuf, byte[] a) {
+347     sbuf.append('[');
+348     final int len = a.length;
+349     for (int i = 0; i < len; i++) {
+350       sbuf.append(a[i]);
+351       if (i != len - 1)
+352         sbuf.append(", ");
+353     }
+354     sbuf.append(']');
+355   }
+356 
+357   private static void charArrayAppend(StringBuffer sbuf, char[] a) {
+358     sbuf.append('[');
+359     final int len = a.length;
+360     for (int i = 0; i < len; i++) {
+361       sbuf.append(a[i]);
+362       if (i != len - 1)
+363         sbuf.append(", ");
+364     }
+365     sbuf.append(']');
+366   }
+367 
+368   private static void shortArrayAppend(StringBuffer sbuf, short[] a) {
+369     sbuf.append('[');
+370     final int len = a.length;
+371     for (int i = 0; i < len; i++) {
+372       sbuf.append(a[i]);
+373       if (i != len - 1)
+374         sbuf.append(", ");
+375     }
+376     sbuf.append(']');
+377   }
+378 
+379   private static void intArrayAppend(StringBuffer sbuf, int[] a) {
+380     sbuf.append('[');
+381     final int len = a.length;
+382     for (int i = 0; i < len; i++) {
+383       sbuf.append(a[i]);
+384       if (i != len - 1)
+385         sbuf.append(", ");
+386     }
+387     sbuf.append(']');
+388   }
+389 
+390   private static void longArrayAppend(StringBuffer sbuf, long[] a) {
+391     sbuf.append('[');
+392     final int len = a.length;
+393     for (int i = 0; i < len; i++) {
+394       sbuf.append(a[i]);
+395       if (i != len - 1)
+396         sbuf.append(", ");
+397     }
+398     sbuf.append(']');
+399   }
+400 
+401   private static void floatArrayAppend(StringBuffer sbuf, float[] a) {
+402     sbuf.append('[');
+403     final int len = a.length;
+404     for (int i = 0; i < len; i++) {
+405       sbuf.append(a[i]);
+406       if (i != len - 1)
+407         sbuf.append(", ");
+408     }
+409     sbuf.append(']');
+410   }
+411 
+412   private static void doubleArrayAppend(StringBuffer sbuf, double[] a) {
+413     sbuf.append('[');
+414     final int len = a.length;
+415     for (int i = 0; i < len; i++) {
+416       sbuf.append(a[i]);
+417       if (i != len - 1)
+418         sbuf.append(", ");
+419     }
+420     sbuf.append(']');
+421   }
+422 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/NOPLogger.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/NOPLogger.html new file mode 100644 index 0000000..74811c4 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/NOPLogger.html @@ -0,0 +1,243 @@ + + + + +NOPLogger xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.helpers;
+26  
+27  import org.slf4j.Logger;
+28  import org.slf4j.helpers.MarkerIgnoringBase;
+29  
+30  
+31  /**
+32   * A direct NOP (no operation) implementation of {@link Logger}.
+33   *
+34   * @author Ceki G&uuml;lc&uuml;
+35   */
+36  public class NOPLogger extends MarkerIgnoringBase {
+37  
+38    private static final long serialVersionUID = -517220405410904473L;
+39  
+40    /**
+41     * The unique instance of NOPLogger.
+42     */
+43    public static final NOPLogger NOP_LOGGER = new NOPLogger();
+44  
+45    /**
+46     * There is no point in creating multiple instances of NOPLOgger, 
+47     * except by derived classes, hence the protected  access for the constructor.
+48     */
+49    protected NOPLogger() {
+50    }
+51  
+52    /**
+53     * Always returns the string value "NOP".
+54     */
+55    public String getName() {
+56      return "NOP";
+57    }
+58  
+59    /**
+60     * Always returns false.
+61     * @return always false
+62     */
+63    final public boolean isTraceEnabled() {
+64      return false;
+65    }
+66  
+67    /** A NOP implementation. */
+68    final public void trace(String msg) {
+69      // NOP
+70    }
+71  
+72    /** A NOP implementation.  */
+73    final public void trace(String format, Object arg) {
+74      // NOP
+75    }
+76  
+77    /** A NOP implementation.  */
+78    public final void trace(String format, Object arg1, Object arg2) {
+79      // NOP
+80    }
+81  
+82    /** A NOP implementation.  */
+83    public final void trace(String format, Object... argArray) {
+84      // NOP
+85    }
+86    
+87    /** A NOP implementation. */
+88    final public void trace(String msg, Throwable t) {
+89      // NOP
+90    }
+91  
+92    /**
+93     * Always returns false.
+94     * @return always false
+95     */
+96    final public boolean isDebugEnabled() {
+97      return false;
+98    }
+99  
+100   /** A NOP implementation. */
+101   final public void debug(String msg) {
+102     // NOP
+103   }
+104 
+105   /** A NOP implementation.  */
+106   final public void debug(String format, Object arg) {
+107     // NOP
+108   }
+109 
+110   /** A NOP implementation.  */
+111   public final void debug(String format, Object arg1, Object arg2) {
+112     // NOP
+113   }
+114 
+115   /** A NOP implementation.  */
+116   public final void debug(String format, Object... argArray) {
+117     // NOP
+118   }
+119   
+120   
+121   
+122   /** A NOP implementation. */
+123   final public void debug(String msg, Throwable t) {
+124     // NOP
+125   }
+126 
+127   /**
+128    * Always returns false.
+129    * @return always false
+130    */
+131   final public boolean isInfoEnabled() {
+132     // NOP
+133     return false;
+134   }
+135 
+136 
+137   /** A NOP implementation. */
+138   final public void info(String msg) {
+139     // NOP
+140   }
+141 
+142   /** A NOP implementation. */
+143   final  public void info(String format, Object arg1) {
+144     // NOP
+145   }
+146 
+147   /** A NOP implementation. */
+148   final public void info(String format, Object arg1, Object arg2) {
+149     // NOP
+150   }
+151   
+152   /** A NOP implementation.  */
+153   public final void info(String format, Object... argArray) {
+154     // NOP
+155   }
+156 
+157 
+158   /** A NOP implementation. */
+159   final public void info(String msg, Throwable t) {
+160     // NOP
+161   }
+162 
+163 
+164   /**
+165    * Always returns false.
+166    * @return always false
+167    */
+168   final public boolean isWarnEnabled() {
+169     return false;
+170   }
+171 
+172   /** A NOP implementation. */
+173   final public void warn(String msg) {
+174     // NOP
+175   }
+176 
+177   /** A NOP implementation. */
+178   final public void warn(String format, Object arg1) {
+179     // NOP
+180   }
+181 
+182   /** A NOP implementation. */
+183   final public void warn(String format, Object arg1, Object arg2) {
+184     // NOP
+185   }
+186   
+187   /** A NOP implementation.  */
+188   public final void warn(String format, Object... argArray) {
+189     // NOP
+190   }
+191 
+192 
+193   /** A NOP implementation. */
+194   final public void warn(String msg, Throwable t) {
+195     // NOP
+196   }
+197 
+198 
+199   /** A NOP implementation. */
+200   final public boolean isErrorEnabled() {
+201     return false;
+202   }
+203 
+204   /** A NOP implementation. */
+205   final public void error(String msg) {
+206     // NOP
+207   }
+208 
+209   /** A NOP implementation. */
+210   final public void error(String format, Object arg1) {
+211     // NOP
+212   }
+213 
+214   /** A NOP implementation. */
+215   final public void error(String format, Object arg1, Object arg2) {
+216     // NOP
+217   }
+218   
+219   /** A NOP implementation.  */
+220   public final void error(String format, Object... argArray) {
+221     // NOP
+222   }
+223 
+224 
+225   /** A NOP implementation. */
+226   final public void error(String msg, Throwable t) {
+227     // NOP
+228   }
+229 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/NOPLoggerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/NOPLoggerFactory.html new file mode 100644 index 0000000..dcbd2d7 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/NOPLoggerFactory.html @@ -0,0 +1,63 @@ + + + + +NOPLoggerFactory xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.helpers;
+26  
+27  import org.slf4j.ILoggerFactory;
+28  import org.slf4j.Logger;
+29  import org.slf4j.helpers.NOPLogger;
+30  
+31  
+32  /**
+33   * NOPLoggerFactory is an trivial implementation of {@link
+34   * ILoggerFactory} which always returns the unique instance of
+35   * NOPLogger.
+36   * 
+37   * @author Ceki G&uuml;lc&uuml;
+38   */
+39  public class NOPLoggerFactory implements ILoggerFactory {
+40    
+41    public NOPLoggerFactory() {
+42      // nothing to do
+43    }
+44    
+45    public Logger getLogger(String name) {
+46      return NOPLogger.NOP_LOGGER;
+47    }
+48  
+49  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/NOPMDCAdapter.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/NOPMDCAdapter.html new file mode 100644 index 0000000..59011e7 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/NOPMDCAdapter.html @@ -0,0 +1,77 @@ + + + + +NOPMDCAdapter xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.helpers;
+26  
+27  import java.util.Map;
+28  
+29  import org.slf4j.spi.MDCAdapter;
+30  
+31  /**
+32   * This adapter is an empty implementation of the {@link MDCAdapter} interface.
+33   * It is used for all logging systems which do not support mapped
+34   * diagnostic contexts such as JDK14, simple and NOP. 
+35   * 
+36   * @author Ceki G&uuml;lc&uuml;
+37   * 
+38   * @since 1.4.1
+39   */
+40  public class NOPMDCAdapter implements MDCAdapter {
+41  
+42    public void clear() {
+43    }
+44  
+45    public String get(String key) {
+46      return null;
+47    }
+48  
+49    public void put(String key, String val) {
+50    }
+51  
+52    public void remove(String key) {
+53    }
+54  
+55    public Map getCopyOfContextMap() {
+56      return null;
+57    }
+58  
+59    public void setContextMap(Map contextMap) {
+60      // NOP
+61    }
+62  
+63  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/NamedLoggerBase.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/NamedLoggerBase.html new file mode 100644 index 0000000..0b20f45 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/NamedLoggerBase.html @@ -0,0 +1,84 @@ + + + + +NamedLoggerBase xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.helpers;
+26  
+27  import java.io.ObjectStreamException;
+28  import java.io.Serializable;
+29  
+30  import org.slf4j.Logger;
+31  import org.slf4j.LoggerFactory;
+32  
+33  /**
+34   * Serves as base class for named logger implementation. More significantly, this
+35   * class establishes deserialization behavior. See @see #readResolve. 
+36   * 
+37   * @author Ceki Gulcu
+38   * @since 1.5.3
+39   */
+40  abstract class NamedLoggerBase implements Logger, Serializable {
+41  
+42    private static final long serialVersionUID = 7535258609338176893L;
+43  
+44    protected String name;
+45    
+46    public String getName() {
+47      return name;
+48    }
+49    
+50    /**
+51     * Replace this instance with a homonymous (same name) logger returned 
+52     * by LoggerFactory. Note that this method is only called during 
+53     * deserialization.
+54     * 
+55     * <p>
+56     * This approach will work well if the desired ILoggerFactory is the one
+57     * references by LoggerFactory. However, if the user manages its logger hierarchy
+58     * through a different (non-static) mechanism, e.g. dependency injection, then
+59     * this approach would be mostly counterproductive.
+60     * 
+61     * @return logger with same name as returned by LoggerFactory
+62     * @throws ObjectStreamException
+63     */
+64    protected Object readResolve() throws ObjectStreamException {
+65      // using getName() instead of this.name works even for
+66      // NOPLogger
+67      return LoggerFactory.getLogger(getName());
+68    }
+69  
+70  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/SubstituteLoggerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/SubstituteLoggerFactory.html new file mode 100644 index 0000000..0d672b8 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/SubstituteLoggerFactory.html @@ -0,0 +1,78 @@ + + + + +SubstituteLoggerFactory xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.helpers;
+26  
+27  import java.util.ArrayList;
+28  import java.util.List;
+29  
+30  import org.slf4j.ILoggerFactory;
+31  import org.slf4j.Logger;
+32  
+33  /**
+34   * SubstituteLoggerFactory is an trivial implementation of
+35   * {@link ILoggerFactory} which always returns the unique instance of NOPLogger.
+36   * 
+37   * <p>
+38   * It used as a temporary substitute for the real ILoggerFactory during its
+39   * auto-configuration which may re-enter LoggerFactory to obtain logger
+40   * instances. See also http://bugzilla.slf4j.org/show_bug.cgi?id=106
+41   * 
+42   * @author Ceki G&uuml;lc&uuml;
+43   */
+44  public class SubstituteLoggerFactory implements ILoggerFactory {
+45  
+46    // keep a record of requested logger names
+47    final List loggerNameList = new ArrayList();
+48  
+49    public Logger getLogger(String name) {
+50      synchronized (loggerNameList) {
+51        loggerNameList.add(name);
+52      }
+53      return NOPLogger.NOP_LOGGER;
+54    }
+55  
+56    public List getLoggerNameList() {
+57      List copy = new ArrayList();
+58      synchronized (loggerNameList) {
+59        copy.addAll(loggerNameList);
+60      }
+61      return copy;
+62    }
+63  
+64  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/Util.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/Util.html new file mode 100644 index 0000000..ae12e33 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/Util.html @@ -0,0 +1,59 @@ + + + + +Util xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.helpers;
+26  
+27  
+28  /**
+29   *
+30   * An internal utility class.
+31   *
+32   * @author Ceki G&uuml;lc&uuml;
+33   */
+34  public class Util {
+35      
+36    static final public void report(String msg, Throwable t) {
+37      System.err.println(msg);
+38      System.err.println("Reported exception:");
+39      t.printStackTrace();
+40    }
+41    
+42    static final public void report(String msg) {
+43      System.err.println("SLF4J: " +msg);
+44    }
+45  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/package-frame.html new file mode 100644 index 0000000..7338c65 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/package-frame.html @@ -0,0 +1,57 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.helpers + + + + +

+ org.slf4j.helpers +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/package-summary.html new file mode 100644 index 0000000..a0d6182 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/helpers/package-summary.html @@ -0,0 +1,122 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.helpers + + + +
+ +
+
+ +
+ +

Package org.slf4j.helpers

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class Summary
+ BasicMDCAdapter +
+ BasicMarker +
+ BasicMarkerFactory +
+ FormattingTuple +
+ MarkerIgnoringBase +
+ MessageFormatter +
+ NOPLogger +
+ NOPLoggerFactory +
+ NOPMDCAdapter +
+ NamedLoggerBase +
+ SubstituteLoggerFactory +
+ Util +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/JCLLoggerAdapter.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/JCLLoggerAdapter.html new file mode 100644 index 0000000..b23d512 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/JCLLoggerAdapter.html @@ -0,0 +1,551 @@ + + + + +JCLLoggerAdapter xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  
+26  package org.slf4j.impl;
+27  
+28  import org.apache.commons.logging.Log;
+29  import org.slf4j.Logger;
+30  import org.slf4j.helpers.FormattingTuple;
+31  import org.slf4j.helpers.MarkerIgnoringBase;
+32  import org.slf4j.helpers.MessageFormatter;
+33  
+34  /**
+35   * A wrapper over {@link org.apache.commons.logging.Log
+36   * org.apache.commons.logging.Log} in conformance with the {@link Logger}
+37   * interface.
+38   * 
+39   * @author Ceki G&uuml;lc&uuml;
+40   */
+41  public final class JCLLoggerAdapter extends MarkerIgnoringBase {
+42  
+43    private static final long serialVersionUID = 4141593417490482209L;
+44    final Log log;
+45    
+46    // WARN: JCLLoggerAdapter constructor should have only package access so
+47    // that only JCLLoggerFactory be able to create one.
+48    JCLLoggerAdapter(Log log, String name) {
+49      this.log = log;
+50      this.name = name;
+51    }
+52  
+53    /**
+54     * Delegates to the {@link Log#isTraceEnabled} method of the underlying
+55     * {@link Log} instance. 
+56     */
+57    public boolean isTraceEnabled() {
+58      return log.isTraceEnabled();
+59    }
+60  
+61    //
+62  
+63    /**
+64     * Delegates to the {@link Log#trace(java.lang.Object)} method of the underlying
+65     * {@link Log} instance.
+66     * 
+67     * @param msg - the message object to be logged
+68     */
+69    public void trace(String msg) {
+70      log.trace(msg);
+71    }
+72  
+73    /**
+74     * Delegates to the {@link Log#trace(java.lang.Object)} method of the underlying
+75     * {@link Log} instance.
+76     * 
+77     * <p>
+78     * However, this form avoids superfluous object creation when the logger is disabled
+79     * for level TRACE.
+80     * </p>
+81     * 
+82     * @param format
+83     *          the format string
+84     * @param arg
+85     *          the argument
+86     */
+87    public void trace(String format, Object arg) {
+88      if (log.isDebugEnabled()) {
+89        FormattingTuple ft = MessageFormatter.format(format, arg);
+90        log.trace(ft.getMessage(), ft.getThrowable());
+91      }
+92    }
+93  
+94    /**
+95     * Delegates to the {@link Log#trace(java.lang.Object)} method of the underlying
+96     * {@link Log} instance.
+97     * 
+98     * <p>
+99     * However, this form avoids superfluous object creation when the logger is disabled
+100    * for level TRACE.
+101    * </p>
+102    * 
+103    * @param format
+104    *          the format string
+105    * @param arg1
+106    *          the first argument
+107    * @param arg2
+108    *          the second argument
+109    */
+110   public void trace(String format, Object arg1, Object arg2) {
+111     if (log.isDebugEnabled()) {
+112       FormattingTuple ft = MessageFormatter.format(format, arg1, arg2);
+113       log.trace(ft.getMessage(), ft.getThrowable());
+114     }
+115   }
+116   
+117 
+118   /**
+119    * Delegates to the {@link Log#trace(java.lang.Object)} method of the underlying
+120    * {@link Log} instance.
+121    * 
+122    * <p>
+123    * However, this form avoids superfluous object creation when the logger is disabled
+124    * for level TRACE.
+125    * </p>
+126    * 
+127    * @param format the format string
+128    * @param arguments a list of 3 or more arguments
+129    */
+130   public void trace(String format, Object... arguments) {
+131     if (log.isDebugEnabled()) {
+132       FormattingTuple ft = MessageFormatter.arrayFormat(format, arguments);
+133       log.trace(ft.getMessage(), ft.getThrowable());
+134     }
+135   }
+136   
+137   /**
+138    * Delegates to the {@link Log#trace(java.lang.Object, java.lang.Throwable)} method of 
+139    * the underlying {@link Log} instance.
+140    * 
+141    * @param msg
+142    *          the message accompanying the exception
+143    * @param t
+144    *          the exception (throwable) to log
+145    */
+146   public void trace(String msg, Throwable t) {
+147       log.trace(msg, t);
+148   }
+149 
+150   
+151   /**
+152    * Delegates to the {@link Log#isDebugEnabled} method of the underlying
+153    * {@link Log} instance. 
+154    */
+155   public boolean isDebugEnabled() {
+156     return log.isDebugEnabled();
+157   }
+158 
+159   //
+160 
+161   /**
+162    * Delegates to the {@link Log#debug(java.lang.Object)} method of the underlying
+163    * {@link Log} instance.
+164    * 
+165    * @param msg - the message object to be logged
+166    */
+167   public void debug(String msg) {
+168     log.debug(msg);
+169   }
+170 
+171   /**
+172    * Delegates to the {@link Log#debug(java.lang.Object)} method of the underlying
+173    * {@link Log} instance.
+174    * 
+175    * <p>
+176    * However, this form avoids superfluous object creation when the logger is disabled
+177    * for level DEBUG.
+178    * </p>
+179    * 
+180    * @param format
+181    *          the format string
+182    * @param arg
+183    *          the argument
+184    */
+185   public void debug(String format, Object arg) {
+186     if (log.isDebugEnabled()) {
+187       FormattingTuple ft = MessageFormatter.format(format, arg);
+188       log.debug(ft.getMessage(), ft.getThrowable());
+189     }
+190   }
+191 
+192   /**
+193    * Delegates to the {@link Log#debug(java.lang.Object)} method of the underlying
+194    * {@link Log} instance.
+195    * 
+196    * <p>
+197    * However, this form avoids superfluous object creation when the logger is disabled
+198    * for level DEBUG.
+199    * </p>
+200    * 
+201    * @param format
+202    *          the format string
+203    * @param arg1
+204    *          the first argument
+205    * @param arg2
+206    *          the second argument
+207    */
+208   public void debug(String format, Object arg1, Object arg2) {
+209     if (log.isDebugEnabled()) {
+210       FormattingTuple ft = MessageFormatter.format(format, arg1, arg2);
+211       log.debug(ft.getMessage(), ft.getThrowable());
+212     }
+213   }
+214   
+215 
+216   /**
+217    * Delegates to the {@link Log#debug(java.lang.Object)} method of the underlying
+218    * {@link Log} instance.
+219    * 
+220    * <p>
+221    * However, this form avoids superfluous object creation when the logger is disabled
+222    * for level DEBUG.
+223    * </p>
+224    * 
+225    * @param format the format string
+226    * @param arguments a list of 3 or more arguments
+227    */
+228   public void debug(String format, Object... arguments) {
+229     if (log.isDebugEnabled()) {
+230       FormattingTuple ft = MessageFormatter.arrayFormat(format, arguments);
+231       log.debug(ft.getMessage(), ft.getThrowable());
+232     }
+233   }
+234   
+235   /**
+236    * Delegates to the {@link Log#debug(java.lang.Object, java.lang.Throwable)} method of 
+237    * the underlying {@link Log} instance.
+238    * 
+239    * @param msg
+240    *          the message accompanying the exception
+241    * @param t
+242    *          the exception (throwable) to log
+243    */
+244   public void debug(String msg, Throwable t) {
+245       log.debug(msg, t);
+246   }
+247 
+248   /**
+249    * Delegates to the {@link Log#isInfoEnabled} method of the underlying
+250    * {@link Log} instance. 
+251    */
+252   public boolean isInfoEnabled() {
+253     return log.isInfoEnabled();
+254   }
+255 
+256   /**
+257    * Delegates to the {@link Log#debug(java.lang.Object)} method of the underlying
+258    * {@link Log} instance.
+259    * 
+260    * @param msg - the message object to be logged
+261    */
+262   public void info(String msg) {
+263     log.info(msg);
+264   }
+265 
+266   /**
+267    * Delegates to the {@link Log#info(java.lang.Object)} method of the underlying
+268    * {@link Log} instance.
+269    * 
+270    * <p>
+271    * However, this form avoids superfluous object creation when the logger is disabled
+272    * for level INFO.
+273    * </p>
+274    * 
+275    * @param format
+276    *          the format string
+277    * @param arg
+278    *          the argument
+279    */
+280 
+281   public void info(String format, Object arg) {
+282     if (log.isInfoEnabled()) {
+283       FormattingTuple ft = MessageFormatter.format(format, arg);
+284       log.info(ft.getMessage(), ft.getThrowable());
+285     }
+286   }
+287   /**
+288    * Delegates to the {@link Log#info(java.lang.Object)} method of the underlying
+289    * {@link Log} instance.
+290    * 
+291    * <p>
+292    * However, this form avoids superfluous object creation when the logger is disabled
+293    * for level INFO.
+294    * </p>
+295    * 
+296    * @param format
+297    *          the format string
+298    * @param arg1
+299    *          the first argument
+300    * @param arg2
+301    *          the second argument
+302    */
+303   public void info(String format, Object arg1, Object arg2) {
+304     if (log.isInfoEnabled()) {
+305 
+306       FormattingTuple ft = MessageFormatter.format(format, arg1, arg2);
+307       log.info(ft.getMessage(), ft.getThrowable());
+308     }
+309   }
+310 
+311   /**
+312    * Delegates to the {@link Log#info(java.lang.Object)} method of the underlying
+313    * {@link Log} instance.
+314    * 
+315    * <p>
+316    * However, this form avoids superfluous object creation when the logger is disabled
+317    * for level INFO.
+318    * </p>
+319    * 
+320    * @param format the format string
+321    * @param arguments a list of 3 or more arguments
+322    */
+323   public void info(String format, Object... arguments) {
+324     if (log.isInfoEnabled()) {
+325       FormattingTuple ft = MessageFormatter.arrayFormat(format, arguments);
+326       log.info(ft.getMessage(), ft.getThrowable());
+327     }
+328   }
+329   
+330   
+331   /**
+332    * Delegates to the {@link Log#info(java.lang.Object, java.lang.Throwable)} method of 
+333    * the underlying {@link Log} instance.
+334    * 
+335    * @param msg
+336    *          the message accompanying the exception
+337    * @param t
+338    *          the exception (throwable) to log
+339    */
+340   public void info(String msg, Throwable t) {
+341     log.info(msg, t);
+342   }
+343 
+344   /**
+345    * Delegates to the {@link Log#isWarnEnabled} method of the underlying
+346    * {@link Log} instance. 
+347    */
+348   public boolean isWarnEnabled() {
+349     return log.isWarnEnabled();
+350   }
+351 
+352   /**
+353    * Delegates to the {@link Log#warn(java.lang.Object)} method of the underlying
+354    * {@link Log} instance.
+355    * 
+356    * @param msg - the message object to be logged
+357    */
+358   public void warn(String msg) {
+359     log.warn(msg);
+360   }
+361 
+362   /**
+363    * Delegates to the {@link Log#warn(java.lang.Object)} method of the underlying
+364    * {@link Log} instance.
+365    * 
+366    * <p>
+367    * However, this form avoids superfluous object creation when the logger is disabled
+368    * for level WARN.
+369    * </p>
+370    * 
+371    * @param format
+372    *          the format string
+373    * @param arg
+374    *          the argument
+375    */
+376   public void warn(String format, Object arg) {
+377     if (log.isWarnEnabled()) {
+378       FormattingTuple ft = MessageFormatter.format(format, arg);
+379       log.warn(ft.getMessage(), ft.getThrowable());
+380     }
+381   }
+382   
+383   /**
+384    * Delegates to the {@link Log#warn(java.lang.Object)} method of the underlying
+385    * {@link Log} instance.
+386    * 
+387    * <p>
+388    * However, this form avoids superfluous object creation when the logger is disabled
+389    * for level WARN.
+390    * </p>
+391    * 
+392    * @param format
+393    *          the format string
+394    * @param arg1
+395    *          the first argument
+396    * @param arg2
+397    *          the second argument
+398    */
+399   public void warn(String format, Object arg1, Object arg2) {
+400     if (log.isWarnEnabled()) {
+401       FormattingTuple ft = MessageFormatter.format(format, arg1, arg2);
+402       log.warn(ft.getMessage(), ft.getThrowable());
+403     }
+404   }
+405   
+406   /**
+407    * Delegates to the {@link Log#warn(java.lang.Object)} method of the underlying
+408    * {@link Log} instance.
+409    * 
+410    * <p>
+411    * However, this form avoids superfluous object creation when the logger is disabled
+412    * for level WARN.
+413    * </p>
+414    * 
+415    * @param format the format string
+416    * @param arguments a list of 3 or more arguments
+417    */
+418   public void warn(String format, Object... arguments) {
+419     if (log.isWarnEnabled()) {
+420       FormattingTuple ft = MessageFormatter.arrayFormat(format, arguments);
+421       log.warn(ft.getMessage(), ft.getThrowable());
+422     }
+423   }
+424   
+425 
+426   /**
+427    * Delegates to the {@link Log#warn(java.lang.Object, java.lang.Throwable)} method of 
+428    * the underlying {@link Log} instance.
+429    * 
+430    * @param msg
+431    *          the message accompanying the exception
+432    * @param t
+433    *          the exception (throwable) to log
+434    */
+435   
+436   public void warn(String msg, Throwable t) {
+437     log.warn(msg, t);
+438   }
+439 
+440 
+441   /**
+442    * Delegates to the {@link Log#isErrorEnabled} method of the underlying
+443    * {@link Log} instance. 
+444    */
+445   public boolean isErrorEnabled() {
+446     return log.isErrorEnabled();
+447   }
+448 
+449   /**
+450    * Delegates to the {@link Log#error(java.lang.Object)} method of the underlying
+451    * {@link Log} instance.
+452    * 
+453    * @param msg - the message object to be logged
+454    */
+455   public void error(String msg) {
+456     log.error(msg);
+457   }
+458 
+459   /**
+460    * Delegates to the {@link Log#error(java.lang.Object)} method of the underlying
+461    * {@link Log} instance.
+462    * 
+463    * <p>
+464    * However, this form avoids superfluous object creation when the logger is disabled
+465    * for level ERROR.
+466    * </p>
+467    * 
+468    * @param format
+469    *          the format string
+470    * @param arg
+471    *          the argument
+472    */
+473   public void error(String format, Object arg) {
+474     if (log.isErrorEnabled()) {
+475       FormattingTuple ft = MessageFormatter.format(format, arg);
+476       log.error(ft.getMessage(), ft.getThrowable());
+477     }
+478   }
+479   
+480   /**
+481    * Delegates to the {@link Log#error(java.lang.Object)} method of the underlying
+482    * {@link Log} instance.
+483    * 
+484    * <p>
+485    * However, this form avoids superfluous object creation when the logger is disabled
+486    * for level ERROR.
+487    * </p>
+488    * 
+489    * @param format
+490    *          the format string
+491    * @param arg1
+492    *          the first argument
+493    * @param arg2
+494    *          the second argument
+495    */
+496   public void error(String format, Object arg1, Object arg2) {
+497     if (log.isErrorEnabled()) {
+498       FormattingTuple ft = MessageFormatter.format(format, arg1, arg2);
+499       log.error(ft.getMessage(), ft.getThrowable());
+500     }
+501   }
+502 
+503   /**
+504    * Delegates to the {@link Log#error(java.lang.Object)} method of the underlying
+505    * {@link Log} instance.
+506    * 
+507    * <p>
+508    * However, this form avoids superfluous object creation when the logger is disabled
+509    * for level ERROR.
+510    * </p>
+511    * 
+512    * @param format the format string
+513    * @param arguments a list of 3 or more arguments
+514    */
+515   public void error(String format, Object... arguments) {
+516     if (log.isErrorEnabled()) {
+517       FormattingTuple ft = MessageFormatter.arrayFormat(format, arguments);
+518       log.error(ft.getMessage(), ft.getThrowable());
+519     }
+520   }
+521   
+522   
+523   /**
+524    * Delegates to the {@link Log#error(java.lang.Object, java.lang.Throwable)} method of 
+525    * the underlying {@link Log} instance.
+526    * 
+527    * @param msg
+528    *          the message accompanying the exception
+529    * @param t
+530    *          the exception (throwable) to log
+531    */
+532   
+533   public void error(String msg, Throwable t) {
+534     log.error(msg, t);
+535   }
+536 
+537 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/JCLLoggerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/JCLLoggerFactory.html new file mode 100644 index 0000000..3f55203 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/JCLLoggerFactory.html @@ -0,0 +1,100 @@ + + + + +JCLLoggerFactory xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.impl;
+26  
+27  import java.util.HashMap;
+28  import java.util.Map;
+29  import java.util.concurrent.ConcurrentHashMap;
+30  import java.util.concurrent.ConcurrentMap;
+31  
+32  import org.apache.commons.logging.LogFactory;
+33  import org.slf4j.ILoggerFactory;
+34  import org.slf4j.Logger;
+35  import org.slf4j.helpers.Util;
+36  
+37  /**
+38   * JCLLoggerFactory is an implementation of {@link ILoggerFactory} returning the
+39   * appropriately named {@link JCLLoggerAdapter} instance.
+40   * 
+41   * @author Ceki G&uuml;lc&uuml;
+42   */
+43  public class JCLLoggerFactory implements ILoggerFactory {
+44  
+45    private static final String JCL_DELEGATION_LOOP_URL = "http://www.slf4j.org/codes.html#jclDelegationLoop";
+46  
+47    // check for delegation loops
+48    static {
+49      try {
+50        Class.forName("org.apache.commons.logging.impl.SLF4JLogFactory");
+51        String part1 = "Detected both jcl-over-slf4j.jar AND slf4j-jcl.jar on the class path, preempting StackOverflowError. ";
+52        String part2 = "See also " + JCL_DELEGATION_LOOP_URL
+53            + " for more details.";
+54  
+55        Util.report(part1);
+56        Util.report(part2);
+57        throw new IllegalStateException(part1 + part2);
+58      } catch (ClassNotFoundException e) {
+59        // this is the good case
+60      }
+61    }
+62  
+63    // key: name (String), value: a JCLLoggerAdapter;
+64    ConcurrentMap<String, Logger> loggerMap;
+65  
+66    public JCLLoggerFactory() {
+67      loggerMap = new ConcurrentHashMap<String, Logger>();
+68    }
+69  
+70    /*
+71     * (non-Javadoc)
+72     * 
+73     * @see org.slf4j.ILoggerFactory#getLogger(java.lang.String)
+74     */
+75    public Logger getLogger(String name) {
+76      Logger slf4jLogger = loggerMap.get(name);
+77      if (slf4jLogger != null) {
+78        return slf4jLogger;
+79      } else {
+80        org.apache.commons.logging.Log jclLogger = LogFactory.getLog(name);
+81        Logger newInstance = new JCLLoggerAdapter(jclLogger, name);
+82        Logger oldInstance = loggerMap.putIfAbsent(name, newInstance);
+83        return oldInstance == null ? newInstance : oldInstance;
+84      }
+85    }
+86  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/JDK14LoggerAdapter.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/JDK14LoggerAdapter.html new file mode 100644 index 0000000..c069c49 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/JDK14LoggerAdapter.html @@ -0,0 +1,668 @@ + + + + +JDK14LoggerAdapter xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.impl;
+26  
+27  import java.util.logging.Level;
+28  import java.util.logging.LogRecord;
+29  
+30  import org.slf4j.Logger;
+31  import org.slf4j.Marker;
+32  import org.slf4j.helpers.FormattingTuple;
+33  import org.slf4j.helpers.MarkerIgnoringBase;
+34  import org.slf4j.helpers.MessageFormatter;
+35  import org.slf4j.spi.LocationAwareLogger;
+36  
+37  /**
+38   * A wrapper over {@link java.util.logging.Logger java.util.logging.Logger} in
+39   * conformity with the {@link Logger} interface. Note that the logging levels
+40   * mentioned in this class refer to those defined in the java.util.logging
+41   * package.
+42   * 
+43   * @author Ceki G&uuml;lc&uuml;
+44   * @author Peter Royal
+45   */
+46  public final class JDK14LoggerAdapter extends MarkerIgnoringBase implements
+47      LocationAwareLogger {
+48  
+49    private static final long serialVersionUID = -8053026990503422791L;
+50  
+51    transient final java.util.logging.Logger logger;
+52  
+53    // WARN: JDK14LoggerAdapter constructor should have only package access so
+54    // that only JDK14LoggerFactory be able to create one.
+55    JDK14LoggerAdapter(java.util.logging.Logger logger) {
+56      this.logger = logger;
+57      this.name = logger.getName();
+58    }
+59  
+60    /**
+61     * Is this logger instance enabled for the FINEST level?
+62     * 
+63     * @return True if this Logger is enabled for level FINEST, false otherwise.
+64     */
+65    public boolean isTraceEnabled() {
+66      return logger.isLoggable(Level.FINEST);
+67    }
+68  
+69    /**
+70     * Log a message object at level FINEST.
+71     * 
+72     * @param msg
+73     *          - the message object to be logged
+74     */
+75    public void trace(String msg) {
+76      if (logger.isLoggable(Level.FINEST)) {
+77        log(SELF, Level.FINEST, msg, null);
+78      }
+79    }
+80  
+81    /**
+82     * Log a message at level FINEST according to the specified format and
+83     * argument.
+84     * 
+85     * <p>
+86     * This form avoids superfluous object creation when the logger is disabled
+87     * for level FINEST.
+88     * </p>
+89     * 
+90     * @param format
+91     *          the format string
+92     * @param arg
+93     *          the argument
+94     */
+95    public void trace(String format, Object arg) {
+96      if (logger.isLoggable(Level.FINEST)) {
+97        FormattingTuple ft = MessageFormatter.format(format, arg);
+98        log(SELF, Level.FINEST, ft.getMessage(), ft.getThrowable());
+99      }
+100   }
+101 
+102   /**
+103    * Log a message at level FINEST according to the specified format and
+104    * arguments.
+105    * 
+106    * <p>
+107    * This form avoids superfluous object creation when the logger is disabled
+108    * for the FINEST level.
+109    * </p>
+110    * 
+111    * @param format
+112    *          the format string
+113    * @param arg1
+114    *          the first argument
+115    * @param arg2
+116    *          the second argument
+117    */
+118   public void trace(String format, Object arg1, Object arg2) {
+119     if (logger.isLoggable(Level.FINEST)) {
+120       FormattingTuple ft = MessageFormatter.format(format, arg1, arg2);
+121       log(SELF, Level.FINEST, ft.getMessage(), ft.getThrowable());
+122     }
+123   }
+124 
+125   /**
+126    * Log a message at level FINEST according to the specified format and
+127    * arguments.
+128    * 
+129    * <p>
+130    * This form avoids superfluous object creation when the logger is disabled
+131    * for the FINEST level.
+132    * </p>
+133    * 
+134    * @param format
+135    *          the format string
+136    * @param argArray
+137    *          an array of arguments
+138    */
+139   public void trace(String format, Object... argArray) {
+140     if (logger.isLoggable(Level.FINEST)) {
+141       FormattingTuple ft = MessageFormatter.arrayFormat(format, argArray);
+142       log(SELF, Level.FINEST, ft.getMessage(), ft.getThrowable());
+143     }
+144   }
+145 
+146   /**
+147    * Log an exception (throwable) at level FINEST with an accompanying message.
+148    * 
+149    * @param msg
+150    *          the message accompanying the exception
+151    * @param t
+152    *          the exception (throwable) to log
+153    */
+154   public void trace(String msg, Throwable t) {
+155     if (logger.isLoggable(Level.FINEST)) {
+156       log(SELF, Level.FINEST, msg, t);
+157     }
+158   }
+159 
+160   /**
+161    * Is this logger instance enabled for the FINE level?
+162    * 
+163    * @return True if this Logger is enabled for level FINE, false otherwise.
+164    */
+165   public boolean isDebugEnabled() {
+166     return logger.isLoggable(Level.FINE);
+167   }
+168 
+169   /**
+170    * Log a message object at level FINE.
+171    * 
+172    * @param msg
+173    *          - the message object to be logged
+174    */
+175   public void debug(String msg) {
+176     if (logger.isLoggable(Level.FINE)) {
+177       log(SELF, Level.FINE, msg, null);
+178     }
+179   }
+180 
+181   /**
+182    * Log a message at level FINE according to the specified format and argument.
+183    * 
+184    * <p>
+185    * This form avoids superfluous object creation when the logger is disabled
+186    * for level FINE.
+187    * </p>
+188    * 
+189    * @param format
+190    *          the format string
+191    * @param arg
+192    *          the argument
+193    */
+194   public void debug(String format, Object arg) {
+195     if (logger.isLoggable(Level.FINE)) {
+196       FormattingTuple ft = MessageFormatter.format(format, arg);
+197       log(SELF, Level.FINE, ft.getMessage(), ft.getThrowable());
+198     }
+199   }
+200 
+201   /**
+202    * Log a message at level FINE according to the specified format and
+203    * arguments.
+204    * 
+205    * <p>
+206    * This form avoids superfluous object creation when the logger is disabled
+207    * for the FINE level.
+208    * </p>
+209    * 
+210    * @param format
+211    *          the format string
+212    * @param arg1
+213    *          the first argument
+214    * @param arg2
+215    *          the second argument
+216    */
+217   public void debug(String format, Object arg1, Object arg2) {
+218     if (logger.isLoggable(Level.FINE)) {
+219       FormattingTuple ft = MessageFormatter.format(format, arg1, arg2);
+220       log(SELF, Level.FINE, ft.getMessage(), ft.getThrowable());
+221     }
+222   }
+223 
+224   /**
+225    * Log a message at level FINE according to the specified format and
+226    * arguments.
+227    * 
+228    * <p>
+229    * This form avoids superfluous object creation when the logger is disabled
+230    * for the FINE level.
+231    * </p>
+232    * 
+233    * @param format
+234    *          the format string
+235    * @param argArray
+236    *          an array of arguments
+237    */
+238   public void debug(String format, Object... argArray) {
+239     if (logger.isLoggable(Level.FINE)) {
+240       FormattingTuple ft = MessageFormatter.arrayFormat(format, argArray);
+241       log(SELF, Level.FINE, ft.getMessage(), ft.getThrowable());
+242     }
+243   }
+244 
+245   /**
+246    * Log an exception (throwable) at level FINE with an accompanying message.
+247    * 
+248    * @param msg
+249    *          the message accompanying the exception
+250    * @param t
+251    *          the exception (throwable) to log
+252    */
+253   public void debug(String msg, Throwable t) {
+254     if (logger.isLoggable(Level.FINE)) {
+255       log(SELF, Level.FINE, msg, t);
+256     }
+257   }
+258 
+259   /**
+260    * Is this logger instance enabled for the INFO level?
+261    * 
+262    * @return True if this Logger is enabled for the INFO level, false otherwise.
+263    */
+264   public boolean isInfoEnabled() {
+265     return logger.isLoggable(Level.INFO);
+266   }
+267 
+268   /**
+269    * Log a message object at the INFO level.
+270    * 
+271    * @param msg
+272    *          - the message object to be logged
+273    */
+274   public void info(String msg) {
+275     if (logger.isLoggable(Level.INFO)) {
+276       log(SELF, Level.INFO, msg, null);
+277     }
+278   }
+279 
+280   /**
+281    * Log a message at level INFO according to the specified format and argument.
+282    * 
+283    * <p>
+284    * This form avoids superfluous object creation when the logger is disabled
+285    * for the INFO level.
+286    * </p>
+287    * 
+288    * @param format
+289    *          the format string
+290    * @param arg
+291    *          the argument
+292    */
+293   public void info(String format, Object arg) {
+294     if (logger.isLoggable(Level.INFO)) {
+295       FormattingTuple ft = MessageFormatter.format(format, arg);
+296       log(SELF, Level.INFO, ft.getMessage(), ft.getThrowable());
+297     }
+298   }
+299 
+300   /**
+301    * Log a message at the INFO level according to the specified format and
+302    * arguments.
+303    * 
+304    * <p>
+305    * This form avoids superfluous object creation when the logger is disabled
+306    * for the INFO level.
+307    * </p>
+308    * 
+309    * @param format
+310    *          the format string
+311    * @param arg1
+312    *          the first argument
+313    * @param arg2
+314    *          the second argument
+315    */
+316   public void info(String format, Object arg1, Object arg2) {
+317     if (logger.isLoggable(Level.INFO)) {
+318       FormattingTuple ft = MessageFormatter.format(format, arg1, arg2);
+319       log(SELF, Level.INFO, ft.getMessage(), ft.getThrowable());
+320     }
+321   }
+322 
+323   /**
+324    * Log a message at level INFO according to the specified format and
+325    * arguments.
+326    * 
+327    * <p>
+328    * This form avoids superfluous object creation when the logger is disabled
+329    * for the INFO level.
+330    * </p>
+331    * 
+332    * @param format
+333    *          the format string
+334    * @param argArray
+335    *          an array of arguments
+336    */
+337   public void info(String format, Object... argArray) {
+338     if (logger.isLoggable(Level.INFO)) {
+339       FormattingTuple ft = MessageFormatter.arrayFormat(format, argArray);
+340       log(SELF, Level.INFO, ft.getMessage(), ft.getThrowable());
+341     }
+342   }
+343 
+344   /**
+345    * Log an exception (throwable) at the INFO level with an accompanying
+346    * message.
+347    * 
+348    * @param msg
+349    *          the message accompanying the exception
+350    * @param t
+351    *          the exception (throwable) to log
+352    */
+353   public void info(String msg, Throwable t) {
+354     if (logger.isLoggable(Level.INFO)) {
+355       log(SELF, Level.INFO, msg, t);
+356     }
+357   }
+358 
+359   /**
+360    * Is this logger instance enabled for the WARNING level?
+361    * 
+362    * @return True if this Logger is enabled for the WARNING level, false
+363    *         otherwise.
+364    */
+365   public boolean isWarnEnabled() {
+366     return logger.isLoggable(Level.WARNING);
+367   }
+368 
+369   /**
+370    * Log a message object at the WARNING level.
+371    * 
+372    * @param msg
+373    *          - the message object to be logged
+374    */
+375   public void warn(String msg) {
+376     if (logger.isLoggable(Level.WARNING)) {
+377       log(SELF, Level.WARNING, msg, null);
+378     }
+379   }
+380 
+381   /**
+382    * Log a message at the WARNING level according to the specified format and
+383    * argument.
+384    * 
+385    * <p>
+386    * This form avoids superfluous object creation when the logger is disabled
+387    * for the WARNING level.
+388    * </p>
+389    * 
+390    * @param format
+391    *          the format string
+392    * @param arg
+393    *          the argument
+394    */
+395   public void warn(String format, Object arg) {
+396     if (logger.isLoggable(Level.WARNING)) {
+397       FormattingTuple ft = MessageFormatter.format(format, arg);
+398       log(SELF, Level.WARNING, ft.getMessage(), ft.getThrowable());
+399     }
+400   }
+401 
+402   /**
+403    * Log a message at the WARNING level according to the specified format and
+404    * arguments.
+405    * 
+406    * <p>
+407    * This form avoids superfluous object creation when the logger is disabled
+408    * for the WARNING level.
+409    * </p>
+410    * 
+411    * @param format
+412    *          the format string
+413    * @param arg1
+414    *          the first argument
+415    * @param arg2
+416    *          the second argument
+417    */
+418   public void warn(String format, Object arg1, Object arg2) {
+419     if (logger.isLoggable(Level.WARNING)) {
+420       FormattingTuple ft = MessageFormatter.format(format, arg1, arg2);
+421       log(SELF, Level.WARNING, ft.getMessage(), ft.getThrowable());
+422     }
+423   }
+424 
+425   /**
+426    * Log a message at level WARNING according to the specified format and
+427    * arguments.
+428    * 
+429    * <p>
+430    * This form avoids superfluous object creation when the logger is disabled
+431    * for the WARNING level.
+432    * </p>
+433    * 
+434    * @param format
+435    *          the format string
+436    * @param argArray
+437    *          an array of arguments
+438    */
+439   public void warn(String format, Object... argArray) {
+440     if (logger.isLoggable(Level.WARNING)) {
+441       FormattingTuple ft = MessageFormatter.arrayFormat(format, argArray);
+442       log(SELF, Level.WARNING, ft.getMessage(), ft.getThrowable());
+443     }
+444   }
+445 
+446   /**
+447    * Log an exception (throwable) at the WARNING level with an accompanying
+448    * message.
+449    * 
+450    * @param msg
+451    *          the message accompanying the exception
+452    * @param t
+453    *          the exception (throwable) to log
+454    */
+455   public void warn(String msg, Throwable t) {
+456     if (logger.isLoggable(Level.WARNING)) {
+457       log(SELF, Level.WARNING, msg, t);
+458     }
+459   }
+460 
+461   /**
+462    * Is this logger instance enabled for level SEVERE?
+463    * 
+464    * @return True if this Logger is enabled for level SEVERE, false otherwise.
+465    */
+466   public boolean isErrorEnabled() {
+467     return logger.isLoggable(Level.SEVERE);
+468   }
+469 
+470   /**
+471    * Log a message object at the SEVERE level.
+472    * 
+473    * @param msg
+474    *          - the message object to be logged
+475    */
+476   public void error(String msg) {
+477     if (logger.isLoggable(Level.SEVERE)) {
+478       log(SELF, Level.SEVERE, msg, null);
+479     }
+480   }
+481 
+482   /**
+483    * Log a message at the SEVERE level according to the specified format and
+484    * argument.
+485    * 
+486    * <p>
+487    * This form avoids superfluous object creation when the logger is disabled
+488    * for the SEVERE level.
+489    * </p>
+490    * 
+491    * @param format
+492    *          the format string
+493    * @param arg
+494    *          the argument
+495    */
+496   public void error(String format, Object arg) {
+497     if (logger.isLoggable(Level.SEVERE)) {
+498       FormattingTuple ft = MessageFormatter.format(format, arg);
+499       log(SELF, Level.SEVERE, ft.getMessage(), ft.getThrowable());
+500     }
+501   }
+502 
+503   /**
+504    * Log a message at the SEVERE level according to the specified format and
+505    * arguments.
+506    * 
+507    * <p>
+508    * This form avoids superfluous object creation when the logger is disabled
+509    * for the SEVERE level.
+510    * </p>
+511    * 
+512    * @param format
+513    *          the format string
+514    * @param arg1
+515    *          the first argument
+516    * @param arg2
+517    *          the second argument
+518    */
+519   public void error(String format, Object arg1, Object arg2) {
+520     if (logger.isLoggable(Level.SEVERE)) {
+521       FormattingTuple ft = MessageFormatter.format(format, arg1, arg2);
+522       log(SELF, Level.SEVERE, ft.getMessage(), ft.getThrowable());
+523     }
+524   }
+525 
+526   /**
+527    * Log a message at level SEVERE according to the specified format and
+528    * arguments.
+529    * 
+530    * <p>
+531    * This form avoids superfluous object creation when the logger is disabled
+532    * for the SEVERE level.
+533    * </p>
+534    * 
+535    * @param format
+536    *          the format string
+537    * @param arguments
+538    *          an array of arguments
+539    */
+540   public void error(String format, Object... arguments) {
+541     if (logger.isLoggable(Level.SEVERE)) {
+542       FormattingTuple ft = MessageFormatter.arrayFormat(format, arguments);
+543       log(SELF, Level.SEVERE, ft.getMessage(), ft.getThrowable());
+544     }
+545   }
+546 
+547   /**
+548    * Log an exception (throwable) at the SEVERE level with an accompanying
+549    * message.
+550    * 
+551    * @param msg
+552    *          the message accompanying the exception
+553    * @param t
+554    *          the exception (throwable) to log
+555    */
+556   public void error(String msg, Throwable t) {
+557     if (logger.isLoggable(Level.SEVERE)) {
+558       log(SELF, Level.SEVERE, msg, t);
+559     }
+560   }
+561 
+562   /**
+563    * Log the message at the specified level with the specified throwable if any.
+564    * This method creates a LogRecord and fills in caller date before calling
+565    * this instance's JDK14 logger.
+566    * 
+567    * See bug report #13 for more details.
+568    * 
+569    * @param level
+570    * @param msg
+571    * @param t
+572    */
+573   private void log(String callerFQCN, Level level, String msg, Throwable t) {
+574     // millis and thread are filled by the constructor
+575     LogRecord record = new LogRecord(level, msg);
+576     record.setLoggerName(getName());
+577     record.setThrown(t);
+578     fillCallerData(callerFQCN, record);
+579     logger.log(record);
+580 
+581   }
+582 
+583   static String SELF = JDK14LoggerAdapter.class.getName();
+584   static String SUPER = MarkerIgnoringBase.class.getName();
+585 
+586   /**
+587    * Fill in caller data if possible.
+588    * 
+589    * @param record
+590    *          The record to update
+591    */
+592   final private void fillCallerData(String callerFQCN, LogRecord record) {
+593     StackTraceElement[] steArray = new Throwable().getStackTrace();
+594 
+595     int selfIndex = -1;
+596     for (int i = 0; i < steArray.length; i++) {
+597       final String className = steArray[i].getClassName();
+598       if (className.equals(callerFQCN) || className.equals(SUPER)) {
+599         selfIndex = i;
+600         break;
+601       }
+602     }
+603 
+604     int found = -1;
+605     for (int i = selfIndex + 1; i < steArray.length; i++) {
+606       final String className = steArray[i].getClassName();
+607       if (!(className.equals(callerFQCN) || className.equals(SUPER))) {
+608         found = i;
+609         break;
+610       }
+611     }
+612 
+613     if (found != -1) {
+614       StackTraceElement ste = steArray[found];
+615       // setting the class name has the side effect of setting
+616       // the needToInferCaller variable to false.
+617       record.setSourceClassName(ste.getClassName());
+618       record.setSourceMethodName(ste.getMethodName());
+619     }
+620   }
+621 
+622   public void log(Marker marker, String callerFQCN, int level, String message,
+623       Object[] argArray, Throwable t) {
+624     Level julLevel;
+625     switch (level) {
+626     case LocationAwareLogger.TRACE_INT:
+627       julLevel = Level.FINEST;
+628       break;
+629     case LocationAwareLogger.DEBUG_INT:
+630       julLevel = Level.FINE;
+631       break;
+632     case LocationAwareLogger.INFO_INT:
+633       julLevel = Level.INFO;
+634       break;
+635     case LocationAwareLogger.WARN_INT:
+636       julLevel = Level.WARNING;
+637       break;
+638     case LocationAwareLogger.ERROR_INT:
+639       julLevel = Level.SEVERE;
+640       break;
+641     default:
+642       throw new IllegalStateException("Level number " + level
+643           + " is not recognized.");
+644     }
+645     // the logger.isLoggable check avoids the unconditional
+646     // construction of location data for disabled log
+647     // statements. As of 2008-07-31, callers of this method
+648     // do not perform this check. See also
+649     // http://bugzilla.slf4j.org/show_bug.cgi?id=90
+650     if (logger.isLoggable(julLevel)) {
+651       log(callerFQCN, julLevel, message, t);
+652     }
+653   }
+654 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/JDK14LoggerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/JDK14LoggerFactory.html new file mode 100644 index 0000000..eb45d85 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/JDK14LoggerFactory.html @@ -0,0 +1,84 @@ + + + + +JDK14LoggerFactory xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.impl;
+26  
+27  import org.slf4j.Logger;
+28  import org.slf4j.ILoggerFactory;
+29  
+30  import java.util.concurrent.ConcurrentHashMap;
+31  import java.util.concurrent.ConcurrentMap;
+32  
+33  /**
+34   * JDK14LoggerFactory is an implementation of {@link ILoggerFactory} returning
+35   * the appropriately named {@link JDK14LoggerAdapter} instance.
+36   * 
+37   * @author Ceki G&uuml;lc&uuml;
+38   */
+39  public class JDK14LoggerFactory implements ILoggerFactory {
+40  
+41    // key: name (String), value: a JDK14LoggerAdapter;
+42    ConcurrentMap<String, Logger> loggerMap;
+43  
+44    public JDK14LoggerFactory() {
+45      loggerMap =new ConcurrentHashMap<String, Logger>();
+46    }
+47  
+48    /*
+49     * (non-Javadoc)
+50     * 
+51     * @see org.slf4j.ILoggerFactory#getLogger(java.lang.String)
+52     */
+53    public synchronized Logger getLogger(String name) {
+54      // the root logger is called "" in JUL
+55      if(name.equalsIgnoreCase(Logger.ROOT_LOGGER_NAME)) {
+56        name = "";
+57      }
+58  
+59      Logger slf4jLogger = loggerMap.get(name);
+60      if (slf4jLogger != null)
+61        return slf4jLogger;
+62      else {
+63        java.util.logging.Logger julLogger = java.util.logging.Logger
+64            .getLogger(name);
+65        Logger newInstance = new JDK14LoggerAdapter(julLogger);
+66        Logger oldInstance = loggerMap.putIfAbsent(name, newInstance);
+67        return oldInstance == null ? newInstance : oldInstance;
+68      }
+69    }
+70  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/Log4jLoggerAdapter.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/Log4jLoggerAdapter.html new file mode 100644 index 0000000..a8f5996 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/Log4jLoggerAdapter.html @@ -0,0 +1,618 @@ + + + + +Log4jLoggerAdapter xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.impl;
+26  
+27  import java.io.Serializable;
+28  
+29  import org.apache.log4j.Level;
+30  import org.slf4j.Logger;
+31  import org.slf4j.Marker;
+32  import org.slf4j.helpers.FormattingTuple;
+33  import org.slf4j.helpers.MarkerIgnoringBase;
+34  import org.slf4j.helpers.MessageFormatter;
+35  import org.slf4j.spi.LocationAwareLogger;
+36  
+37  /**
+38   * A wrapper over {@link org.apache.log4j.Logger org.apache.log4j.Logger} in
+39   * conforming to the {@link Logger} interface.
+40   * 
+41   * <p>
+42   * Note that the logging levels mentioned in this class refer to those defined
+43   * in the <a
+44   * href="http://logging.apache.org/log4j/docs/api/org/apache/log4j/Level.html">
+45   * <code>org.apache.log4j.Level</code></a> class.
+46   * 
+47   * <p>
+48   * The TRACE level was introduced in log4j version 1.2.12. In order to avoid
+49   * crashing the host application, in the case the log4j version in use predates
+50   * 1.2.12, the TRACE level will be mapped as DEBUG. See also <a
+51   * href="http://bugzilla.slf4j.org/show_bug.cgi?id=68">bug 68</a>.
+52   * 
+53   * @author Ceki G&uuml;lc&uuml;
+54   */
+55  public final class Log4jLoggerAdapter extends MarkerIgnoringBase implements
+56      LocationAwareLogger, Serializable {
+57  
+58    private static final long serialVersionUID = 6182834493563598289L;
+59  
+60    final transient org.apache.log4j.Logger logger;
+61  
+62    /**
+63     * Following the pattern discussed in pages 162 through 168 of "The complete
+64     * log4j manual".
+65     */
+66    final static String FQCN = Log4jLoggerAdapter.class.getName();
+67  
+68    // Does the log4j version in use recognize the TRACE level?
+69    // The trace level was introduced in log4j 1.2.12.
+70    final boolean traceCapable;
+71  
+72    // WARN: Log4jLoggerAdapter constructor should have only package access so
+73    // that
+74    // only Log4jLoggerFactory be able to create one.
+75    Log4jLoggerAdapter(org.apache.log4j.Logger logger) {
+76      this.logger = logger;
+77      this.name = logger.getName();
+78      traceCapable = isTraceCapable();
+79    }
+80  
+81    private boolean isTraceCapable() {
+82      try {
+83        logger.isTraceEnabled();
+84        return true;
+85      } catch (NoSuchMethodError e) {
+86        return false;
+87      }
+88    }
+89  
+90    /**
+91     * Is this logger instance enabled for the TRACE level?
+92     * 
+93     * @return True if this Logger is enabled for level TRACE, false otherwise.
+94     */
+95    public boolean isTraceEnabled() {
+96      if (traceCapable) {
+97        return logger.isTraceEnabled();
+98      } else {
+99        return logger.isDebugEnabled();
+100     }
+101   }
+102 
+103   /**
+104    * Log a message object at level TRACE.
+105    * 
+106    * @param msg
+107    *          - the message object to be logged
+108    */
+109   public void trace(String msg) {
+110     logger.log(FQCN, traceCapable ? Level.TRACE : Level.DEBUG, msg, null);
+111   }
+112 
+113   /**
+114    * Log a message at level TRACE according to the specified format and
+115    * argument.
+116    * 
+117    * <p>
+118    * This form avoids superfluous object creation when the logger is disabled
+119    * for level TRACE.
+120    * </p>
+121    * 
+122    * @param format
+123    *          the format string
+124    * @param arg
+125    *          the argument
+126    */
+127   public void trace(String format, Object arg) {
+128     if (isTraceEnabled()) {
+129       FormattingTuple ft = MessageFormatter.format(format, arg);
+130       logger.log(FQCN, traceCapable ? Level.TRACE : Level.DEBUG, ft
+131           .getMessage(), ft.getThrowable());
+132     }
+133   }
+134 
+135   /**
+136    * Log a message at level TRACE according to the specified format and
+137    * arguments.
+138    * 
+139    * <p>
+140    * This form avoids superfluous object creation when the logger is disabled
+141    * for the TRACE level.
+142    * </p>
+143    * 
+144    * @param format
+145    *          the format string
+146    * @param arg1
+147    *          the first argument
+148    * @param arg2
+149    *          the second argument
+150    */
+151   public void trace(String format, Object arg1, Object arg2) {
+152     if (isTraceEnabled()) {
+153       FormattingTuple ft = MessageFormatter.format(format, arg1, arg2);
+154       logger.log(FQCN, traceCapable ? Level.TRACE : Level.DEBUG, ft
+155           .getMessage(), ft.getThrowable());
+156     }
+157   }
+158 
+159   /**
+160    * Log a message at level TRACE according to the specified format and
+161    * arguments.
+162    * 
+163    * <p>
+164    * This form avoids superfluous object creation when the logger is disabled
+165    * for the TRACE level.
+166    * </p>
+167    * 
+168    * @param format
+169    *          the format string
+170    * @param arguments
+171    *          an array of arguments
+172    */
+173   public void trace(String format, Object... arguments) {
+174     if (isTraceEnabled()) {
+175       FormattingTuple ft = MessageFormatter.arrayFormat(format, arguments);
+176       logger.log(FQCN, traceCapable ? Level.TRACE : Level.DEBUG, ft
+177           .getMessage(), ft.getThrowable());
+178     }
+179   }
+180 
+181   /**
+182    * Log an exception (throwable) at level TRACE with an accompanying message.
+183    * 
+184    * @param msg
+185    *          the message accompanying the exception
+186    * @param t
+187    *          the exception (throwable) to log
+188    */
+189   public void trace(String msg, Throwable t) {
+190     logger.log(FQCN, traceCapable ? Level.TRACE : Level.DEBUG, msg, t);
+191   }
+192 
+193   /**
+194    * Is this logger instance enabled for the DEBUG level?
+195    * 
+196    * @return True if this Logger is enabled for level DEBUG, false otherwise.
+197    */
+198   public boolean isDebugEnabled() {
+199     return logger.isDebugEnabled();
+200   }
+201 
+202   /**
+203    * Log a message object at level DEBUG.
+204    * 
+205    * @param msg
+206    *          - the message object to be logged
+207    */
+208   public void debug(String msg) {
+209     logger.log(FQCN, Level.DEBUG, msg, null);
+210   }
+211 
+212   /**
+213    * Log a message at level DEBUG according to the specified format and
+214    * argument.
+215    * 
+216    * <p>
+217    * This form avoids superfluous object creation when the logger is disabled
+218    * for level DEBUG.
+219    * </p>
+220    * 
+221    * @param format
+222    *          the format string
+223    * @param arg
+224    *          the argument
+225    */
+226   public void debug(String format, Object arg) {
+227     if (logger.isDebugEnabled()) {
+228       FormattingTuple ft = MessageFormatter.format(format, arg);
+229       logger.log(FQCN, Level.DEBUG, ft.getMessage(), ft.getThrowable());
+230     }
+231   }
+232 
+233   /**
+234    * Log a message at level DEBUG according to the specified format and
+235    * arguments.
+236    * 
+237    * <p>
+238    * This form avoids superfluous object creation when the logger is disabled
+239    * for the DEBUG level.
+240    * </p>
+241    * 
+242    * @param format
+243    *          the format string
+244    * @param arg1
+245    *          the first argument
+246    * @param arg2
+247    *          the second argument
+248    */
+249   public void debug(String format, Object arg1, Object arg2) {
+250     if (logger.isDebugEnabled()) {
+251       FormattingTuple ft = MessageFormatter.format(format, arg1, arg2);
+252       logger.log(FQCN, Level.DEBUG, ft.getMessage(), ft.getThrowable());
+253     }
+254   }
+255 
+256   /**
+257    * Log a message at level DEBUG according to the specified format and
+258    * arguments.
+259    * 
+260    * <p>
+261    * This form avoids superfluous object creation when the logger is disabled
+262    * for the DEBUG level.
+263    * </p>
+264    * 
+265    * @param format
+266    *          the format string
+267    * @param arguments an array of arguments
+268    */
+269   public void debug(String format, Object... arguments) {
+270     if (logger.isDebugEnabled()) {
+271       FormattingTuple ft = MessageFormatter.arrayFormat(format, arguments);
+272       logger.log(FQCN, Level.DEBUG, ft.getMessage(), ft.getThrowable());
+273     }
+274   }
+275 
+276   /**
+277    * Log an exception (throwable) at level DEBUG with an accompanying message.
+278    * 
+279    * @param msg
+280    *          the message accompanying the exception
+281    * @param t
+282    *          the exception (throwable) to log
+283    */
+284   public void debug(String msg, Throwable t) {
+285     logger.log(FQCN, Level.DEBUG, msg, t);
+286   }
+287 
+288   /**
+289    * Is this logger instance enabled for the INFO level?
+290    * 
+291    * @return True if this Logger is enabled for the INFO level, false otherwise.
+292    */
+293   public boolean isInfoEnabled() {
+294     return logger.isInfoEnabled();
+295   }
+296 
+297   /**
+298    * Log a message object at the INFO level.
+299    * 
+300    * @param msg
+301    *          - the message object to be logged
+302    */
+303   public void info(String msg) {
+304     logger.log(FQCN, Level.INFO, msg, null);
+305   }
+306 
+307   /**
+308    * Log a message at level INFO according to the specified format and argument.
+309    * 
+310    * <p>
+311    * This form avoids superfluous object creation when the logger is disabled
+312    * for the INFO level.
+313    * </p>
+314    * 
+315    * @param format
+316    *          the format string
+317    * @param arg
+318    *          the argument
+319    */
+320   public void info(String format, Object arg) {
+321     if (logger.isInfoEnabled()) {
+322       FormattingTuple ft = MessageFormatter.format(format, arg);
+323       logger.log(FQCN, Level.INFO, ft.getMessage(), ft.getThrowable());
+324     }
+325   }
+326 
+327   /**
+328    * Log a message at the INFO level according to the specified format and
+329    * arguments.
+330    * 
+331    * <p>
+332    * This form avoids superfluous object creation when the logger is disabled
+333    * for the INFO level.
+334    * </p>
+335    * 
+336    * @param format
+337    *          the format string
+338    * @param arg1
+339    *          the first argument
+340    * @param arg2
+341    *          the second argument
+342    */
+343   public void info(String format, Object arg1, Object arg2) {
+344     if (logger.isInfoEnabled()) {
+345       FormattingTuple ft = MessageFormatter.format(format, arg1, arg2);
+346       logger.log(FQCN, Level.INFO, ft.getMessage(), ft.getThrowable());
+347     }
+348   }
+349 
+350   /**
+351    * Log a message at level INFO according to the specified format and
+352    * arguments.
+353    * 
+354    * <p>
+355    * This form avoids superfluous object creation when the logger is disabled
+356    * for the INFO level.
+357    * </p>
+358    * 
+359    * @param format
+360    *          the format string
+361    * @param argArray
+362    *          an array of arguments
+363    */
+364   public void info(String format, Object... argArray) {
+365     if (logger.isInfoEnabled()) {
+366       FormattingTuple ft = MessageFormatter.arrayFormat(format, argArray);
+367       logger.log(FQCN, Level.INFO, ft.getMessage(), ft.getThrowable());
+368     }
+369   }
+370 
+371   /**
+372    * Log an exception (throwable) at the INFO level with an accompanying
+373    * message.
+374    * 
+375    * @param msg
+376    *          the message accompanying the exception
+377    * @param t
+378    *          the exception (throwable) to log
+379    */
+380   public void info(String msg, Throwable t) {
+381     logger.log(FQCN, Level.INFO, msg, t);
+382   }
+383 
+384   /**
+385    * Is this logger instance enabled for the WARN level?
+386    * 
+387    * @return True if this Logger is enabled for the WARN level, false otherwise.
+388    */
+389   public boolean isWarnEnabled() {
+390     return logger.isEnabledFor(Level.WARN);
+391   }
+392 
+393   /**
+394    * Log a message object at the WARN level.
+395    * 
+396    * @param msg
+397    *          - the message object to be logged
+398    */
+399   public void warn(String msg) {
+400     logger.log(FQCN, Level.WARN, msg, null);
+401   }
+402 
+403   /**
+404    * Log a message at the WARN level according to the specified format and
+405    * argument.
+406    * 
+407    * <p>
+408    * This form avoids superfluous object creation when the logger is disabled
+409    * for the WARN level.
+410    * </p>
+411    * 
+412    * @param format
+413    *          the format string
+414    * @param arg
+415    *          the argument
+416    */
+417   public void warn(String format, Object arg) {
+418     if (logger.isEnabledFor(Level.WARN)) {
+419       FormattingTuple ft = MessageFormatter.format(format, arg);
+420       logger.log(FQCN, Level.WARN, ft.getMessage(), ft.getThrowable());
+421     }
+422   }
+423 
+424   /**
+425    * Log a message at the WARN level according to the specified format and
+426    * arguments.
+427    * 
+428    * <p>
+429    * This form avoids superfluous object creation when the logger is disabled
+430    * for the WARN level.
+431    * </p>
+432    * 
+433    * @param format
+434    *          the format string
+435    * @param arg1
+436    *          the first argument
+437    * @param arg2
+438    *          the second argument
+439    */
+440   public void warn(String format, Object arg1, Object arg2) {
+441     if (logger.isEnabledFor(Level.WARN)) {
+442       FormattingTuple ft = MessageFormatter.format(format, arg1, arg2);
+443       logger.log(FQCN, Level.WARN, ft.getMessage(), ft.getThrowable());
+444     }
+445   }
+446 
+447   /**
+448    * Log a message at level WARN according to the specified format and
+449    * arguments.
+450    * 
+451    * <p>
+452    * This form avoids superfluous object creation when the logger is disabled
+453    * for the WARN level.
+454    * </p>
+455    * 
+456    * @param format
+457    *          the format string
+458    * @param argArray
+459    *          an array of arguments
+460    */
+461   public void warn(String format, Object... argArray) {
+462     if (logger.isEnabledFor(Level.WARN)) {
+463       FormattingTuple ft = MessageFormatter.arrayFormat(format, argArray);
+464       logger.log(FQCN, Level.WARN, ft.getMessage(), ft.getThrowable());
+465     }
+466   }
+467 
+468   /**
+469    * Log an exception (throwable) at the WARN level with an accompanying
+470    * message.
+471    * 
+472    * @param msg
+473    *          the message accompanying the exception
+474    * @param t
+475    *          the exception (throwable) to log
+476    */
+477   public void warn(String msg, Throwable t) {
+478     logger.log(FQCN, Level.WARN, msg, t);
+479   }
+480 
+481   /**
+482    * Is this logger instance enabled for level ERROR?
+483    * 
+484    * @return True if this Logger is enabled for level ERROR, false otherwise.
+485    */
+486   public boolean isErrorEnabled() {
+487     return logger.isEnabledFor(Level.ERROR);
+488   }
+489 
+490   /**
+491    * Log a message object at the ERROR level.
+492    * 
+493    * @param msg
+494    *          - the message object to be logged
+495    */
+496   public void error(String msg) {
+497     logger.log(FQCN, Level.ERROR, msg, null);
+498   }
+499 
+500   /**
+501    * Log a message at the ERROR level according to the specified format and
+502    * argument.
+503    * 
+504    * <p>
+505    * This form avoids superfluous object creation when the logger is disabled
+506    * for the ERROR level.
+507    * </p>
+508    * 
+509    * @param format
+510    *          the format string
+511    * @param arg
+512    *          the argument
+513    */
+514   public void error(String format, Object arg) {
+515     if (logger.isEnabledFor(Level.ERROR)) {
+516       FormattingTuple ft = MessageFormatter.format(format, arg);
+517       logger.log(FQCN, Level.ERROR, ft.getMessage(), ft.getThrowable());
+518     }
+519   }
+520 
+521   /**
+522    * Log a message at the ERROR level according to the specified format and
+523    * arguments.
+524    * 
+525    * <p>
+526    * This form avoids superfluous object creation when the logger is disabled
+527    * for the ERROR level.
+528    * </p>
+529    * 
+530    * @param format
+531    *          the format string
+532    * @param arg1
+533    *          the first argument
+534    * @param arg2
+535    *          the second argument
+536    */
+537   public void error(String format, Object arg1, Object arg2) {
+538     if (logger.isEnabledFor(Level.ERROR)) {
+539       FormattingTuple ft = MessageFormatter.format(format, arg1, arg2);
+540       logger.log(FQCN, Level.ERROR, ft.getMessage(), ft.getThrowable());
+541     }
+542   }
+543 
+544   /**
+545    * Log a message at level ERROR according to the specified format and
+546    * arguments.
+547    * 
+548    * <p>
+549    * This form avoids superfluous object creation when the logger is disabled
+550    * for the ERROR level.
+551    * </p>
+552    * 
+553    * @param format
+554    *          the format string
+555    * @param argArray
+556    *          an array of arguments
+557    */
+558   public void error(String format, Object... argArray) {
+559     if (logger.isEnabledFor(Level.ERROR)) {
+560       FormattingTuple ft = MessageFormatter.arrayFormat(format, argArray);
+561       logger.log(FQCN, Level.ERROR, ft.getMessage(), ft.getThrowable());
+562     }
+563   }
+564 
+565   /**
+566    * Log an exception (throwable) at the ERROR level with an accompanying
+567    * message.
+568    * 
+569    * @param msg
+570    *          the message accompanying the exception
+571    * @param t
+572    *          the exception (throwable) to log
+573    */
+574   public void error(String msg, Throwable t) {
+575     logger.log(FQCN, Level.ERROR, msg, t);
+576   }
+577 
+578   public void log(Marker marker, String callerFQCN, int level, String msg,
+579       Object[] argArray, Throwable t) {
+580     Level log4jLevel;
+581     switch (level) {
+582     case LocationAwareLogger.TRACE_INT:
+583       log4jLevel = traceCapable ? Level.TRACE : Level.DEBUG;
+584       break;
+585     case LocationAwareLogger.DEBUG_INT:
+586       log4jLevel = Level.DEBUG;
+587       break;
+588     case LocationAwareLogger.INFO_INT:
+589       log4jLevel = Level.INFO;
+590       break;
+591     case LocationAwareLogger.WARN_INT:
+592       log4jLevel = Level.WARN;
+593       break;
+594     case LocationAwareLogger.ERROR_INT:
+595       log4jLevel = Level.ERROR;
+596       break;
+597     default:
+598       throw new IllegalStateException("Level number " + level
+599           + " is not recognized.");
+600     }
+601     logger.log(callerFQCN, log4jLevel, msg, t);
+602   }
+603 
+604 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/Log4jLoggerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/Log4jLoggerFactory.html new file mode 100644 index 0000000..e5cc65a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/Log4jLoggerFactory.html @@ -0,0 +1,87 @@ + + + + +Log4jLoggerFactory xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.impl;
+26  
+27  import java.util.HashMap;
+28  import java.util.Map;
+29  import java.util.concurrent.ConcurrentHashMap;
+30  import java.util.concurrent.ConcurrentMap;
+31  
+32  import org.apache.log4j.LogManager;
+33  import org.slf4j.ILoggerFactory;
+34  import org.slf4j.Logger;
+35  
+36  /**
+37   * Log4jLoggerFactory is an implementation of {@link ILoggerFactory} returning
+38   * the appropriate named {@link Log4jLoggerAdapter} instance.
+39   * 
+40   * @author Ceki G&uuml;lc&uuml;
+41   */
+42  public class Log4jLoggerFactory implements ILoggerFactory {
+43  
+44    // key: name (String), value: a Log4jLoggerAdapter;
+45    ConcurrentMap<String, Logger> loggerMap;
+46  
+47  
+48    public Log4jLoggerFactory() {
+49      loggerMap = new ConcurrentHashMap<String, Logger>();
+50    }
+51  
+52    /*
+53     * (non-Javadoc)
+54     * 
+55     * @see org.slf4j.ILoggerFactory#getLogger(java.lang.String)
+56     */
+57    public Logger getLogger(String name) {
+58      Logger slf4jLogger = loggerMap.get(name);
+59      if (slf4jLogger != null) {
+60        return slf4jLogger;
+61      } else {
+62        org.apache.log4j.Logger log4jLogger;
+63        if(name.equalsIgnoreCase(Logger.ROOT_LOGGER_NAME))
+64          log4jLogger = LogManager.getRootLogger();
+65        else
+66          log4jLogger = LogManager.getLogger(name);
+67  
+68        Logger newInstance = new Log4jLoggerAdapter(log4jLogger);
+69        Logger oldInstance = loggerMap.putIfAbsent(name, newInstance);
+70        return oldInstance == null ? newInstance : oldInstance;
+71      }
+72    }
+73  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/Log4jMDCAdapter.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/Log4jMDCAdapter.html new file mode 100644 index 0000000..0f96120 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/Log4jMDCAdapter.html @@ -0,0 +1,102 @@ + + + + +Log4jMDCAdapter xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.impl;
+26  
+27  import java.util.HashMap;
+28  import java.util.Iterator;
+29  import java.util.Map;
+30  
+31  import org.slf4j.spi.MDCAdapter;
+32  
+33  public class Log4jMDCAdapter implements MDCAdapter {
+34  
+35    public void clear() {
+36      Map map = org.apache.log4j.MDC.getContext();
+37      if (map != null) {
+38        map.clear();
+39      }
+40    }
+41  
+42    public String get(String key) {
+43      return (String) org.apache.log4j.MDC.get(key);
+44    }
+45  
+46    /**
+47     * Put a context value (the <code>val</code> parameter) as identified with
+48     * the <code>key</code> parameter into the current thread's context map. The
+49     * <code>key</code> parameter cannot be null. Log4j does <em>not</em> 
+50     * support null for the <code>val</code> parameter.
+51     * 
+52     * <p>
+53     * This method delegates all work to log4j's MDC.
+54     * 
+55     * @throws IllegalArgumentException
+56     *           in case the "key" or <b>"val"</b> parameter is null
+57     */
+58    public void put(String key, String val) {
+59      org.apache.log4j.MDC.put(key, val);
+60    }
+61  
+62    public void remove(String key) {
+63      org.apache.log4j.MDC.remove(key);
+64    }
+65  
+66    public Map getCopyOfContextMap() {
+67      Map old = org.apache.log4j.MDC.getContext();
+68      if(old != null) {
+69        return new HashMap(old);
+70      } else {
+71        return null;
+72      }
+73    }
+74  
+75    public void setContextMap(Map contextMap) {
+76      Map old = org.apache.log4j.MDC.getContext();
+77      if(old == null) {
+78        Iterator entrySetIterator = contextMap.entrySet().iterator();
+79        while(entrySetIterator.hasNext()) {
+80          Map.Entry mapEntry = (Map.Entry) entrySetIterator.next();
+81          org.apache.log4j.MDC.put((String) mapEntry.getKey(), mapEntry.getValue());
+82        }
+83      } else {
+84        old.clear();
+85        old.putAll(contextMap);
+86      }
+87    }
+88  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/SimpleLogger.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/SimpleLogger.html new file mode 100644 index 0000000..c9b29a0 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/SimpleLogger.html @@ -0,0 +1,667 @@ + + + + +SimpleLogger xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2012 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free of charge, to any person obtaining
+6    * a copy of this software and associated documentation files (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.impl;
+26  
+27  import java.io.FileNotFoundException;
+28  import java.io.FileOutputStream;
+29  import java.io.InputStream;
+30  import java.io.PrintStream;
+31  import java.security.AccessController;
+32  import java.security.PrivilegedAction;
+33  import java.text.DateFormat;
+34  import java.text.SimpleDateFormat;
+35  import java.util.Date;
+36  import java.util.Properties;
+37  
+38  import org.slf4j.Logger;
+39  import org.slf4j.helpers.FormattingTuple;
+40  import org.slf4j.helpers.MarkerIgnoringBase;
+41  import org.slf4j.helpers.MessageFormatter;
+42  import org.slf4j.helpers.Util;
+43  import org.slf4j.spi.LocationAwareLogger;
+44  
+45  /**
+46   * <p>Simple implementation of {@link Logger} that sends all enabled log messages,
+47   * for all defined loggers, to the console ({@code System.err}).
+48   * The following system properties are supported to configure the behavior of this logger:</p>
+49   *
+50   * <ul>
+51   * <li><code>org.slf4j.simpleLogger.logFile</code> - The output target which can be the <em>path</em> to a file, or
+52   * the special values "System.out" and "System.err". Default is "System.err".
+53   *
+54   * <li><code>org.slf4j.simpleLogger.defaultLogLevel</code> - Default log level for all instances of SimpleLogger.
+55   * Must be one of ("trace", "debug", "info", "warn", or "error"). If not specified, defaults to "info". </li>
+56   *
+57   * <li><code>org.slf4j.simpleLogger.log.<em>a.b.c</em></code> - Logging detail level for a SimpleLogger instance
+58   * named "a.b.c". Right-side value must be one of "trace", "debug", "info", "warn", or "error". When a SimpleLogger
+59   * named "a.b.c" is initialized, its level is assigned from this property. If unspecified, the level of nearest parent
+60   * logger will be used, and if none is set, then the value specified by
+61   * <code>org.slf4j.simpleLogger.defaultLogLevel</code> will be used.</li>
+62   *
+63   * <li><code>org.slf4j.simpleLogger.showDateTime</code> - Set to <code>true</code> if you want the current date and
+64   * time to be included in output messages. Default is <code>true</code></li>
+65   *
+66   * <li><code>org.slf4j.simpleLogger.dateTimeFormat</code> - The date and time format to be used in the output messages.
+67   * The pattern describing the date and time format is defined by
+68   * <a href="http://docs.oracle.com/javase/1.5.0/docs/api/java/text/SimpleDateFormat.html"><code>SimpleDateFormat</code></a>.
+69   * If the format is not specified or is invalid, the number of milliseconds since start up will be output. </li>
+70   *
+71   * <li><code>org.slf4j.simpleLogger.showThreadName</code> -Set to <code>true</code> if you want to output the current
+72   * thread name. Defaults to <code>true</code>.</li>
+73   *
+74   * <li><code>org.slf4j.simpleLogger.showLogName</code> - Set to <code>true</code> if you want the Logger instance name
+75   * to be included in output messages. Defaults to <code>true</code>.</li>
+76   *
+77   * <li><code>org.slf4j.simpleLogger.showShortLogName</code> - Set to <code>true</code> if you want the last component
+78   * of the name to be included in output messages. Defaults to <code>false</code>.</li>
+79   *
+80   * <li><code>org.slf4j.simpleLogger.levelInBrackets</code> - Should the level string be output in brackets? Defaults
+81   * to <code>false</code>.</li>
+82   *
+83   * <li><code>org.slf4j.simpleLogger.warnLevelString</code> - The string value output for the warn level. Defaults
+84   * to <code>WARN</code>.</li>
+85  
+86   * </ul>
+87   *
+88   * <p>In addition to looking for system properties with the names specified above, this implementation also checks for
+89   * a class loader resource named <code>"simplelogger.properties"</code>, and includes any matching definitions
+90   * from this resource (if it exists).</p>
+91   *
+92   * <p>With no configuration, the default output includes the relative time in milliseconds, thread name, the level,
+93   * logger name, and the message followed by the line separator for the host.  In log4j terms it amounts to the "%r [%t]
+94   * %level %logger - %m%n" pattern. </p>
+95   * <p>Sample output follows.</p>
+96   * <pre>
+97   * 176 [main] INFO examples.Sort - Populating an array of 2 elements in reverse order.
+98   * 225 [main] INFO examples.SortAlgo - Entered the sort method.
+99   * 304 [main] INFO examples.SortAlgo - Dump of integer array:
+100  * 317 [main] INFO examples.SortAlgo - Element [0] = 0
+101  * 331 [main] INFO examples.SortAlgo - Element [1] = 1
+102  * 343 [main] INFO examples.Sort - The next log statement should be an error message.
+103  * 346 [main] ERROR examples.SortAlgo - Tried to dump an uninitialized array.
+104  *   at org.log4j.examples.SortAlgo.dump(SortAlgo.java:58)
+105  *   at org.log4j.examples.Sort.main(Sort.java:64)
+106  * 467 [main] INFO  examples.Sort - Exiting main method.
+107  * </pre>
+108  *
+109  * <p>This implementation is heavily inspired by
+110  * <a href="http://commons.apache.org/logging/">Apache Commons Logging</a>'s SimpleLog.</p>
+111  *
+112  * @author Ceki G&uuml;lc&uuml;
+113  * @author <a href="mailto:sanders@apache.org">Scott Sanders</a>
+114  * @author Rod Waldhoff
+115  * @author Robert Burrell Donkin
+116  * @author C&eacute;drik LIME
+117  */
+118 public class SimpleLogger extends MarkerIgnoringBase {
+119 
+120   private static final long serialVersionUID = -632788891211436180L;
+121   private static final String CONFIGURATION_FILE = "simplelogger.properties";
+122 
+123   private static long START_TIME = System.currentTimeMillis();
+124   private static final Properties SIMPLE_LOGGER_PROPS = new Properties();
+125 
+126   private static final int LOG_LEVEL_TRACE = LocationAwareLogger.TRACE_INT;
+127   private static final int LOG_LEVEL_DEBUG = LocationAwareLogger.DEBUG_INT;
+128   private static final int LOG_LEVEL_INFO = LocationAwareLogger.INFO_INT;
+129   private static final int LOG_LEVEL_WARN = LocationAwareLogger.WARN_INT;
+130   private static final int LOG_LEVEL_ERROR = LocationAwareLogger.ERROR_INT;
+131 
+132   private static boolean INITIALIZED = false;
+133 
+134   private static int DEFAULT_LOG_LEVEL = LOG_LEVEL_INFO;
+135   private static boolean SHOW_DATE_TIME = false;
+136   private static String DATE_TIME_FORMAT_STR = null;
+137   private static DateFormat DATE_FORMATTER = null;
+138   private static boolean SHOW_THREAD_NAME = true;
+139   private static boolean SHOW_LOG_NAME = true;
+140   private static boolean SHOW_SHORT_LOG_NAME = false;
+141   private static String LOG_FILE = "System.err";
+142   private static PrintStream TARGET_STREAM = null;
+143   private static boolean LEVEL_IN_BRACKETS = false;
+144   private static String WARN_LEVEL_STRING = "WARN";
+145 
+146 
+147   /** All system properties used by <code>SimpleLogger</code> start with this prefix */
+148   public static final String SYSTEM_PREFIX = "org.slf4j.simpleLogger.";
+149 
+150   public static final String DEFAULT_LOG_LEVEL_KEY = SYSTEM_PREFIX + "defaultLogLevel";
+151   public static final String SHOW_DATE_TIME_KEY = SYSTEM_PREFIX + "showDateTime";
+152   public static final String DATE_TIME_FORMAT_KEY = SYSTEM_PREFIX + "dateTimeFormat";
+153   public static final String SHOW_THREAD_NAME_KEY = SYSTEM_PREFIX + "showThreadName";
+154   public static final String SHOW_LOG_NAME_KEY = SYSTEM_PREFIX + "showLogName";
+155   public static final String SHOW_SHORT_LOG_NAME_KEY = SYSTEM_PREFIX + "showShortLogName";
+156   public static final String LOG_FILE_KEY = SYSTEM_PREFIX + "logFile";
+157   public static final String LEVEL_IN_BRACKETS_KEY = SYSTEM_PREFIX + "levelInBrackets";
+158   public static final String WARN_LEVEL_STRING_KEY = SYSTEM_PREFIX + "warnLevelString";
+159 
+160 
+161   public static final String LOG_KEY_PREFIX = SYSTEM_PREFIX + "log.";
+162 
+163 
+164   private static String getStringProperty(String name) {
+165     String prop = null;
+166     try {
+167       prop = System.getProperty(name);
+168     } catch (SecurityException e) {
+169       ; // Ignore
+170     }
+171     return (prop == null) ? SIMPLE_LOGGER_PROPS.getProperty(name) : prop;
+172   }
+173 
+174   private static String getStringProperty(String name, String defaultValue) {
+175     String prop = getStringProperty(name);
+176     return (prop == null) ? defaultValue : prop;
+177   }
+178 
+179   private static boolean getBooleanProperty(String name, boolean defaultValue) {
+180     String prop = getStringProperty(name);
+181     return (prop == null) ? defaultValue : "true".equalsIgnoreCase(prop);
+182   }
+183 
+184 
+185   // Initialize class attributes.
+186   // Load properties file, if found.
+187   // Override with system properties.
+188   static void init() {
+189     INITIALIZED = true;
+190     loadProperties();
+191 
+192     String defaultLogLevelString = getStringProperty(DEFAULT_LOG_LEVEL_KEY, null);
+193     if (defaultLogLevelString != null)
+194       DEFAULT_LOG_LEVEL = stringToLevel(defaultLogLevelString);
+195 
+196     SHOW_LOG_NAME = getBooleanProperty(SHOW_LOG_NAME_KEY, SHOW_LOG_NAME);
+197     SHOW_SHORT_LOG_NAME = getBooleanProperty(SHOW_SHORT_LOG_NAME_KEY, SHOW_SHORT_LOG_NAME);
+198     SHOW_DATE_TIME = getBooleanProperty(SHOW_DATE_TIME_KEY, SHOW_DATE_TIME);
+199     SHOW_THREAD_NAME = getBooleanProperty(SHOW_THREAD_NAME_KEY, SHOW_THREAD_NAME);
+200     DATE_TIME_FORMAT_STR = getStringProperty(DATE_TIME_FORMAT_KEY, DATE_TIME_FORMAT_STR);
+201     LEVEL_IN_BRACKETS = getBooleanProperty(LEVEL_IN_BRACKETS_KEY, LEVEL_IN_BRACKETS);
+202     WARN_LEVEL_STRING = getStringProperty(WARN_LEVEL_STRING_KEY, WARN_LEVEL_STRING);
+203 
+204     LOG_FILE = getStringProperty(LOG_FILE_KEY, LOG_FILE);
+205     TARGET_STREAM = computeTargetStream(LOG_FILE);
+206 
+207     if (DATE_TIME_FORMAT_STR != null) {
+208       try {
+209         DATE_FORMATTER = new SimpleDateFormat(DATE_TIME_FORMAT_STR);
+210       } catch (IllegalArgumentException e) {
+211         Util.report("Bad date format in " + CONFIGURATION_FILE + "; will output relative time", e);
+212       }
+213     }
+214   }
+215 
+216 
+217   private static PrintStream computeTargetStream(String logFile) {
+218     if ("System.err".equalsIgnoreCase(logFile))
+219       return System.err;
+220     else if ("System.out".equalsIgnoreCase(logFile)) {
+221       return System.out;
+222     } else {
+223       try {
+224         FileOutputStream fos = new FileOutputStream(logFile);
+225         PrintStream printStream = new PrintStream(fos);
+226         return printStream;
+227       } catch (FileNotFoundException e) {
+228         Util.report("Could not open [" + logFile + "]. Defaulting to System.err", e);
+229         return System.err;
+230       }
+231     }
+232   }
+233 
+234   private static void loadProperties() {
+235     // Add props from the resource simplelogger.properties
+236     InputStream in = (InputStream) AccessController.doPrivileged(
+237             new PrivilegedAction() {
+238               public Object run() {
+239                 ClassLoader threadCL = Thread.currentThread().getContextClassLoader();
+240                 if (threadCL != null) {
+241                   return threadCL.getResourceAsStream(CONFIGURATION_FILE);
+242                 } else {
+243                   return ClassLoader.getSystemResourceAsStream(CONFIGURATION_FILE);
+244                 }
+245               }
+246             });
+247     if (null != in) {
+248       try {
+249         SIMPLE_LOGGER_PROPS.load(in);
+250         in.close();
+251       } catch (java.io.IOException e) {
+252         // ignored
+253       }
+254     }
+255   }
+256 
+257   /** The current log level */
+258   protected int currentLogLevel = LOG_LEVEL_INFO;
+259   /** The short name of this simple log instance */
+260   private transient String shortLogName = null;
+261 
+262   /**
+263    * Package access allows only {@link SimpleLoggerFactory} to instantiate
+264    * SimpleLogger instances.
+265    */
+266   SimpleLogger(String name) {
+267     if (!INITIALIZED) {
+268       init();
+269     }
+270     this.name = name;
+271 
+272     String levelString = recursivelyComputeLevelString();
+273     if (levelString != null) {
+274       this.currentLogLevel = stringToLevel(levelString);
+275     } else {
+276       this.currentLogLevel = DEFAULT_LOG_LEVEL;
+277     }
+278   }
+279 
+280   String recursivelyComputeLevelString() {
+281     String tempName = name;
+282     String levelString = null;
+283     int indexOfLastDot = tempName.length();
+284     while ((levelString == null) && (indexOfLastDot > -1)) {
+285       tempName = tempName.substring(0, indexOfLastDot);
+286       levelString = getStringProperty(LOG_KEY_PREFIX + tempName, null);
+287       indexOfLastDot = String.valueOf(tempName).lastIndexOf(".");
+288     }
+289     return levelString;
+290   }
+291 
+292   private static int stringToLevel(String levelStr) {
+293     if ("trace".equalsIgnoreCase(levelStr)) {
+294       return LOG_LEVEL_TRACE;
+295     } else if ("debug".equalsIgnoreCase(levelStr)) {
+296       return LOG_LEVEL_DEBUG;
+297     } else if ("info".equalsIgnoreCase(levelStr)) {
+298       return LOG_LEVEL_INFO;
+299     } else if ("warn".equalsIgnoreCase(levelStr)) {
+300       return LOG_LEVEL_WARN;
+301     } else if ("error".equalsIgnoreCase(levelStr)) {
+302       return LOG_LEVEL_ERROR;
+303     }
+304     // assume INFO by default
+305     return LOG_LEVEL_INFO;
+306   }
+307 
+308 
+309   /**
+310    * This is our internal implementation for logging regular (non-parameterized)
+311    * log messages.
+312    *
+313    * @param level   One of the LOG_LEVEL_XXX constants defining the log level
+314    * @param message The message itself
+315    * @param t       The exception whose stack trace should be logged
+316    */
+317   private void log(int level, String message, Throwable t) {
+318     if (!isLevelEnabled(level)) {
+319       return;
+320     }
+321 
+322     StringBuffer buf = new StringBuffer(32);
+323 
+324     // Append date-time if so configured
+325     if (SHOW_DATE_TIME) {
+326       if (DATE_FORMATTER != null) {
+327         buf.append(getFormattedDate());
+328         buf.append(' ');
+329       } else {
+330         buf.append(System.currentTimeMillis() - START_TIME);
+331         buf.append(' ');
+332       }
+333     }
+334 
+335     // Append current thread name if so configured
+336     if (SHOW_THREAD_NAME) {
+337       buf.append('[');
+338       buf.append(Thread.currentThread().getName());
+339       buf.append("] ");
+340     }
+341 
+342     if (LEVEL_IN_BRACKETS) buf.append('[');
+343 
+344     // Append a readable representation of the log level
+345     switch (level) {
+346       case LOG_LEVEL_TRACE:
+347         buf.append("TRACE");
+348         break;
+349       case LOG_LEVEL_DEBUG:
+350         buf.append("DEBUG");
+351         break;
+352       case LOG_LEVEL_INFO:
+353         buf.append("INFO");
+354         break;
+355       case LOG_LEVEL_WARN:
+356         buf.append(WARN_LEVEL_STRING);
+357         break;
+358       case LOG_LEVEL_ERROR:
+359         buf.append("ERROR");
+360         break;
+361     }
+362     if (LEVEL_IN_BRACKETS) buf.append(']');
+363     buf.append(' ');
+364 
+365     // Append the name of the log instance if so configured
+366     if (SHOW_SHORT_LOG_NAME) {
+367       if (shortLogName == null) shortLogName = computeShortName();
+368       buf.append(String.valueOf(shortLogName)).append(" - ");
+369     } else if (SHOW_LOG_NAME) {
+370       buf.append(String.valueOf(name)).append(" - ");
+371     }
+372 
+373     // Append the message
+374     buf.append(message);
+375 
+376     write(buf, t);
+377 
+378   }
+379 
+380   void write(StringBuffer buf, Throwable t) {
+381     TARGET_STREAM.println(buf.toString());
+382     if (t != null) {
+383       t.printStackTrace(TARGET_STREAM);
+384     }
+385     TARGET_STREAM.flush();
+386   }
+387 
+388   private String getFormattedDate() {
+389     Date now = new Date();
+390     String dateText;
+391     synchronized (DATE_FORMATTER) {
+392       dateText = DATE_FORMATTER.format(now);
+393     }
+394     return dateText;
+395   }
+396 
+397   private String computeShortName() {
+398     return name.substring(name.lastIndexOf(".") + 1);
+399   }
+400 
+401   /**
+402    * For formatted messages, first substitute arguments and then log.
+403    *
+404    * @param level
+405    * @param format
+406    * @param arg1
+407    * @param arg2
+408    */
+409   private void formatAndLog(int level, String format, Object arg1,
+410                             Object arg2) {
+411     if (!isLevelEnabled(level)) {
+412       return;
+413     }
+414     FormattingTuple tp = MessageFormatter.format(format, arg1, arg2);
+415     log(level, tp.getMessage(), tp.getThrowable());
+416   }
+417 
+418   /**
+419    * For formatted messages, first substitute arguments and then log.
+420    *
+421    * @param level
+422    * @param format
+423    * @param arguments a list of 3 ore more arguments
+424    */
+425   private void formatAndLog(int level, String format, Object... arguments) {
+426     if (!isLevelEnabled(level)) {
+427       return;
+428     }
+429     FormattingTuple tp = MessageFormatter.arrayFormat(format, arguments);
+430     log(level, tp.getMessage(), tp.getThrowable());
+431   }
+432 
+433   /**
+434    * Is the given log level currently enabled?
+435    *
+436    * @param logLevel is this level enabled?
+437    */
+438   protected boolean isLevelEnabled(int logLevel) {
+439     // log level are numerically ordered so can use simple numeric
+440     // comparison
+441     return (logLevel >= currentLogLevel);
+442   }
+443 
+444   /** Are {@code trace} messages currently enabled? */
+445   public boolean isTraceEnabled() {
+446     return isLevelEnabled(LOG_LEVEL_TRACE);
+447   }
+448 
+449   /**
+450    * A simple implementation which logs messages of level TRACE according
+451    * to the format outlined above.
+452    */
+453   public void trace(String msg) {
+454     log(LOG_LEVEL_TRACE, msg, null);
+455   }
+456 
+457   /**
+458    * Perform single parameter substitution before logging the message of level
+459    * TRACE according to the format outlined above.
+460    */
+461   public void trace(String format, Object param1) {
+462     formatAndLog(LOG_LEVEL_TRACE, format, param1, null);
+463   }
+464 
+465   /**
+466    * Perform double parameter substitution before logging the message of level
+467    * TRACE according to the format outlined above.
+468    */
+469   public void trace(String format, Object param1, Object param2) {
+470     formatAndLog(LOG_LEVEL_TRACE, format, param1, param2);
+471   }
+472 
+473   /**
+474    * Perform double parameter substitution before logging the message of level
+475    * TRACE according to the format outlined above.
+476    */
+477   public void trace(String format, Object... argArray) {
+478     formatAndLog(LOG_LEVEL_TRACE, format, argArray);
+479   }
+480 
+481   /** Log a message of level TRACE, including an exception. */
+482   public void trace(String msg, Throwable t) {
+483     log(LOG_LEVEL_TRACE, msg, t);
+484   }
+485 
+486   /** Are {@code debug} messages currently enabled? */
+487   public boolean isDebugEnabled() {
+488     return isLevelEnabled(LOG_LEVEL_DEBUG);
+489   }
+490 
+491   /**
+492    * A simple implementation which logs messages of level DEBUG according
+493    * to the format outlined above.
+494    */
+495   public void debug(String msg) {
+496     log(LOG_LEVEL_DEBUG, msg, null);
+497   }
+498 
+499   /**
+500    * Perform single parameter substitution before logging the message of level
+501    * DEBUG according to the format outlined above.
+502    */
+503   public void debug(String format, Object param1) {
+504     formatAndLog(LOG_LEVEL_DEBUG, format, param1, null);
+505   }
+506 
+507   /**
+508    * Perform double parameter substitution before logging the message of level
+509    * DEBUG according to the format outlined above.
+510    */
+511   public void debug(String format, Object param1, Object param2) {
+512     formatAndLog(LOG_LEVEL_DEBUG, format, param1, param2);
+513   }
+514 
+515   /**
+516    * Perform double parameter substitution before logging the message of level
+517    * DEBUG according to the format outlined above.
+518    */
+519   public void debug(String format, Object... argArray) {
+520     formatAndLog(LOG_LEVEL_DEBUG, format, argArray);
+521   }
+522 
+523   /** Log a message of level DEBUG, including an exception. */
+524   public void debug(String msg, Throwable t) {
+525     log(LOG_LEVEL_DEBUG, msg, t);
+526   }
+527 
+528   /** Are {@code info} messages currently enabled? */
+529   public boolean isInfoEnabled() {
+530     return isLevelEnabled(LOG_LEVEL_INFO);
+531   }
+532 
+533   /**
+534    * A simple implementation which logs messages of level INFO according
+535    * to the format outlined above.
+536    */
+537   public void info(String msg) {
+538     log(LOG_LEVEL_INFO, msg, null);
+539   }
+540 
+541   /**
+542    * Perform single parameter substitution before logging the message of level
+543    * INFO according to the format outlined above.
+544    */
+545   public void info(String format, Object arg) {
+546     formatAndLog(LOG_LEVEL_INFO, format, arg, null);
+547   }
+548 
+549   /**
+550    * Perform double parameter substitution before logging the message of level
+551    * INFO according to the format outlined above.
+552    */
+553   public void info(String format, Object arg1, Object arg2) {
+554     formatAndLog(LOG_LEVEL_INFO, format, arg1, arg2);
+555   }
+556 
+557   /**
+558    * Perform double parameter substitution before logging the message of level
+559    * INFO according to the format outlined above.
+560    */
+561   public void info(String format, Object... argArray) {
+562     formatAndLog(LOG_LEVEL_INFO, format, argArray);
+563   }
+564 
+565   /** Log a message of level INFO, including an exception. */
+566   public void info(String msg, Throwable t) {
+567     log(LOG_LEVEL_INFO, msg, t);
+568   }
+569 
+570   /** Are {@code warn} messages currently enabled? */
+571   public boolean isWarnEnabled() {
+572     return isLevelEnabled(LOG_LEVEL_WARN);
+573   }
+574 
+575   /**
+576    * A simple implementation which always logs messages of level WARN according
+577    * to the format outlined above.
+578    */
+579   public void warn(String msg) {
+580     log(LOG_LEVEL_WARN, msg, null);
+581   }
+582 
+583   /**
+584    * Perform single parameter substitution before logging the message of level
+585    * WARN according to the format outlined above.
+586    */
+587   public void warn(String format, Object arg) {
+588     formatAndLog(LOG_LEVEL_WARN, format, arg, null);
+589   }
+590 
+591   /**
+592    * Perform double parameter substitution before logging the message of level
+593    * WARN according to the format outlined above.
+594    */
+595   public void warn(String format, Object arg1, Object arg2) {
+596     formatAndLog(LOG_LEVEL_WARN, format, arg1, arg2);
+597   }
+598 
+599   /**
+600    * Perform double parameter substitution before logging the message of level
+601    * WARN according to the format outlined above.
+602    */
+603   public void warn(String format, Object... argArray) {
+604     formatAndLog(LOG_LEVEL_WARN, format, argArray);
+605   }
+606 
+607   /** Log a message of level WARN, including an exception. */
+608   public void warn(String msg, Throwable t) {
+609     log(LOG_LEVEL_WARN, msg, t);
+610   }
+611 
+612   /** Are {@code error} messages currently enabled? */
+613   public boolean isErrorEnabled() {
+614     return isLevelEnabled(LOG_LEVEL_ERROR);
+615   }
+616 
+617   /**
+618    * A simple implementation which always logs messages of level ERROR according
+619    * to the format outlined above.
+620    */
+621   public void error(String msg) {
+622     log(LOG_LEVEL_ERROR, msg, null);
+623   }
+624 
+625   /**
+626    * Perform single parameter substitution before logging the message of level
+627    * ERROR according to the format outlined above.
+628    */
+629   public void error(String format, Object arg) {
+630     formatAndLog(LOG_LEVEL_ERROR, format, arg, null);
+631   }
+632 
+633   /**
+634    * Perform double parameter substitution before logging the message of level
+635    * ERROR according to the format outlined above.
+636    */
+637   public void error(String format, Object arg1, Object arg2) {
+638     formatAndLog(LOG_LEVEL_ERROR, format, arg1, arg2);
+639   }
+640 
+641   /**
+642    * Perform double parameter substitution before logging the message of level
+643    * ERROR according to the format outlined above.
+644    */
+645   public void error(String format, Object... argArray) {
+646     formatAndLog(LOG_LEVEL_ERROR, format, argArray);
+647   }
+648 
+649   /** Log a message of level ERROR, including an exception. */
+650   public void error(String msg, Throwable t) {
+651     log(LOG_LEVEL_ERROR, msg, t);
+652   }
+653 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/SimpleLoggerFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/SimpleLoggerFactory.html new file mode 100644 index 0000000..660c8fe --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/SimpleLoggerFactory.html @@ -0,0 +1,89 @@ + + + + +SimpleLoggerFactory xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.impl;
+26  
+27  import java.util.HashMap;
+28  import java.util.Map;
+29  import java.util.concurrent.ConcurrentHashMap;
+30  import java.util.concurrent.ConcurrentMap;
+31  
+32  import org.slf4j.Logger;
+33  import org.slf4j.ILoggerFactory;
+34  
+35  /**
+36   * An implementation of {@link ILoggerFactory} which always returns
+37   * {@link SimpleLogger} instances.
+38   * 
+39   * @author Ceki G&uuml;lc&uuml;
+40   */
+41  public class SimpleLoggerFactory implements ILoggerFactory {
+42  
+43    ConcurrentMap<String, Logger> loggerMap;
+44  
+45    public SimpleLoggerFactory() {
+46      loggerMap = new ConcurrentHashMap<String, Logger>();
+47    }
+48  
+49    /**
+50     * Return an appropriate {@link SimpleLogger} instance by name.
+51     */
+52    public Logger getLogger(String name) {
+53      Logger simpleLogger = loggerMap.get(name);
+54      if (simpleLogger != null) {
+55        return simpleLogger;
+56      } else {
+57        Logger newInstance = new SimpleLogger(name);
+58        Logger oldInstance = loggerMap.putIfAbsent(name, newInstance);
+59        return oldInstance == null ? newInstance : oldInstance;
+60      }
+61    }
+62  
+63    /**
+64     * Clear the internal logger cache.
+65     *
+66     * This method is intended to be called by classes (in the same package) for
+67     * testing purposes. This method is internal. It can be modified, renamed or
+68     * removed at any time without notice.
+69     *
+70     * You are strongly discouraged from calling this method in production code.
+71     */
+72    void reset() {
+73      loggerMap.clear();
+74    }
+75  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/StaticLoggerBinder.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/StaticLoggerBinder.html new file mode 100644 index 0000000..69e6be8 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/StaticLoggerBinder.html @@ -0,0 +1,97 @@ + + + + +StaticLoggerBinder xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.impl;
+26  
+27  import org.slf4j.ILoggerFactory;
+28  import org.slf4j.LoggerFactory;
+29  import org.slf4j.spi.LoggerFactoryBinder;
+30  
+31  /**
+32   * The binding of {@link LoggerFactory} class with an actual instance of
+33   * {@link ILoggerFactory} is performed using information returned by this class.
+34   * 
+35   * @author Ceki G&uuml;lc&uuml;
+36   */
+37  public class StaticLoggerBinder implements LoggerFactoryBinder {
+38  
+39    /**
+40     * The unique instance of this class.
+41     */
+42    private static final StaticLoggerBinder SINGLETON = new StaticLoggerBinder();
+43  
+44    /**
+45     * Return the singleton of this class.
+46     * 
+47     * @return the StaticLoggerBinder singleton
+48     */
+49    public static final StaticLoggerBinder getSingleton() {
+50      return SINGLETON;
+51    }
+52    
+53    /**
+54     * Version tag used to check compatibility. The value of this field is
+55     * modified with each release. 
+56     */ 
+57    
+58    //to avoid constant folding by the compiler, this field must *not* be final
+59    public static String REQUESTED_API_VERSION = "1.6.99";
+60    
+61    // Binding specific code:
+62    private static final String loggerFactoryClassStr = JCLLoggerFactory.class
+63        .getName();
+64  
+65    /**
+66     * The ILoggerFactory instance returned by the {@link #getLoggerFactory}
+67     * method should always be the same object
+68     */
+69    private final ILoggerFactory loggerFactory;
+70  
+71    private StaticLoggerBinder() {
+72      // Binding specific code:
+73      loggerFactory = new JCLLoggerFactory();
+74    }
+75  
+76    public ILoggerFactory getLoggerFactory() {
+77      return loggerFactory;
+78    }
+79  
+80    public String getLoggerFactoryClassStr() {
+81      return loggerFactoryClassStr;
+82    }
+83  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/StaticMDCBinder.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/StaticMDCBinder.html new file mode 100644 index 0000000..afc7124 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/StaticMDCBinder.html @@ -0,0 +1,74 @@ + + + + +StaticMDCBinder xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.impl;
+26  
+27  import org.slf4j.helpers.NOPMDCAdapter;
+28  import org.slf4j.spi.MDCAdapter;
+29  
+30  
+31  /**
+32   * This implementation is bound to {@link NOPMDCAdapter}.
+33   *
+34   * @author Ceki G&uuml;lc&uuml;
+35   */
+36  public class StaticMDCBinder {
+37  
+38    
+39    /**
+40     * The unique instance of this class.
+41     */
+42    public static final StaticMDCBinder SINGLETON = new StaticMDCBinder();
+43  
+44    private StaticMDCBinder() {
+45    }
+46    
+47    /**
+48     * Currently this method always returns an instance of 
+49     * {@link NOPMDCAdapter}.
+50     * 
+51     * @return instance of NOPMDCAdapter
+52     */
+53    public MDCAdapter getMDCA() {
+54       return new NOPMDCAdapter();
+55    }
+56    
+57    public String  getMDCAdapterClassStr() {
+58      return NOPMDCAdapter.class.getName();
+59    }
+60  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/StaticMarkerBinder.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/StaticMarkerBinder.html new file mode 100644 index 0000000..b2e82cb --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/StaticMarkerBinder.html @@ -0,0 +1,82 @@ + + + + +StaticMarkerBinder xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.impl;
+26  
+27  import org.slf4j.IMarkerFactory;
+28  import org.slf4j.MarkerFactory;
+29  import org.slf4j.helpers.BasicMarkerFactory;
+30  import org.slf4j.spi.MarkerFactoryBinder;
+31  
+32  /**
+33   * 
+34   * The binding of {@link MarkerFactory} class with an actual instance of 
+35   * {@link IMarkerFactory} is performed using information returned by this class. 
+36   * 
+37   * @author Ceki G&uuml;lc&uuml;
+38   */
+39  public class StaticMarkerBinder implements MarkerFactoryBinder {
+40  
+41    /**
+42     * The unique instance of this class.
+43     */
+44    public static final StaticMarkerBinder SINGLETON = new StaticMarkerBinder();
+45    
+46    final IMarkerFactory markerFactory = new BasicMarkerFactory();
+47    
+48    private StaticMarkerBinder() {
+49    }
+50    
+51    /**
+52     * Currently this method always returns an instance of 
+53     * {@link BasicMarkerFactory}.
+54     */
+55    public IMarkerFactory getMarkerFactory() {
+56      return markerFactory;
+57    }
+58    
+59    /**
+60     * Currently, this method returns the class name of
+61     * {@link BasicMarkerFactory}.
+62     */
+63    public String getMarkerFactoryClassStr() {
+64      return BasicMarkerFactory.class.getName();
+65    }
+66    
+67    
+68  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/package-frame.html new file mode 100644 index 0000000..bcbb3d2 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/package-frame.html @@ -0,0 +1,57 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.impl + + + + +

+ org.slf4j.impl +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/package-summary.html new file mode 100644 index 0000000..a1624e6 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/impl/package-summary.html @@ -0,0 +1,122 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.impl + + + +
+ +
+
+ +
+ +

Package org.slf4j.impl

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class Summary
+ JCLLoggerAdapter +
+ JCLLoggerFactory +
+ JDK14LoggerAdapter +
+ JDK14LoggerFactory +
+ Log4jLoggerAdapter +
+ Log4jLoggerFactory +
+ Log4jMDCAdapter +
+ SimpleLogger +
+ SimpleLoggerFactory +
+ StaticLoggerBinder +
+ StaticMDCBinder +
+ StaticMarkerBinder +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/instrumentation/JavassistHelper.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/instrumentation/JavassistHelper.html new file mode 100644 index 0000000..b68160a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/instrumentation/JavassistHelper.html @@ -0,0 +1,204 @@ + + + + +JavassistHelper xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.instrumentation;
+26  
+27  import javassist.CtBehavior;
+28  import javassist.CtClass;
+29  import javassist.CtMethod;
+30  import javassist.Modifier;
+31  import javassist.NotFoundException;
+32  import javassist.bytecode.AttributeInfo;
+33  import javassist.bytecode.CodeAttribute;
+34  import javassist.bytecode.LocalVariableAttribute;
+35  
+36  /**
+37   * Helper methods for Javassist functionality.
+38   * 
+39   */
+40  public class JavassistHelper {
+41  
+42  	/**
+43  	 * Create a javaassist source snippet which either is empty (for anything
+44  	 * which does not return a value) or a explanatory text around the $_
+45  	 * javaassist return value variable.
+46  	 * 
+47  	 * @param method
+48  	 *            descriptor of method
+49  	 * @return source snippet
+50  	 * @throws NotFoundException
+51  	 */
+52  	public static String returnValue(CtBehavior method)
+53  			throws NotFoundException {
+54  
+55  		String returnValue = "";
+56  		if (methodReturnsValue(method)) {
+57  			returnValue = " returns: \" + $_ + \".";
+58  		}
+59  		return returnValue;
+60  	}
+61  
+62  	/**
+63  	 * determine if the given method returns a value, and return true if so.
+64  	 * false otherwise.
+65  	 * 
+66  	 * @param method
+67  	 * @return
+68  	 * @throws NotFoundException
+69  	 */
+70  	private static boolean methodReturnsValue(CtBehavior method)
+71  			throws NotFoundException {
+72  
+73  		if (method instanceof CtMethod == false) {
+74  			return false;
+75  		}
+76  
+77  		CtClass returnType = ((CtMethod) method).getReturnType();
+78  		String returnTypeName = returnType.getName();
+79  
+80  		boolean isVoidMethod = "void".equals(returnTypeName);
+81  
+82  		boolean methodReturnsValue = isVoidMethod == false;
+83  		return methodReturnsValue;
+84  	}
+85  
+86  	/**
+87  	 * Return javaassist source snippet which lists all the parameters and their
+88  	 * values. If available the source names are extracted from the debug
+89  	 * information and used, otherwise just a number is shown.
+90  	 * 
+91  	 * @param method
+92  	 * @return
+93  	 * @throws NotFoundException
+94  	 */
+95  	public static String getSignature(CtBehavior method)
+96  			throws NotFoundException {
+97  
+98  		CtClass parameterTypes[] = method.getParameterTypes();
+99  
+100 		CodeAttribute codeAttribute = method.getMethodInfo().getCodeAttribute();
+101 
+102 		LocalVariableAttribute locals = null;
+103 
+104 		if (codeAttribute != null) {
+105 			AttributeInfo attribute;
+106 			attribute = codeAttribute.getAttribute("LocalVariableTable");
+107 			locals = (LocalVariableAttribute) attribute;
+108 		}
+109 
+110 		String methodName = method.getName();
+111 
+112 		StringBuffer sb = new StringBuffer(methodName + "(\" ");
+113 		for (int i = 0; i < parameterTypes.length; i++) {
+114 			if (i > 0) {
+115 				// add a comma and a space between printed values
+116 				sb.append(" + \", \" ");
+117 			}
+118 
+119 			CtClass parameterType = parameterTypes[i];
+120 			boolean isArray = parameterType.isArray();
+121 			CtClass arrayType = parameterType.getComponentType();
+122 			if (isArray) {
+123 				while (arrayType.isArray()) {
+124 					arrayType = arrayType.getComponentType();
+125 				}
+126 			}
+127 
+128 			sb.append(" + \"");
+129 			try {
+130 				sb.append(parameterNameFor(method, locals, i));
+131 			} catch (Exception e) {
+132 				sb.append("" + (i + 1));
+133 			}
+134 			sb.append("\" + \"=");
+135 
+136 			if (parameterType.isPrimitive()) {
+137 				// let the compiler handle primitive -> string
+138 				sb.append("\"+ $" + (i + 1));
+139 			} else {
+140 				String s = "org.slf4j.instrumentation.ToStringHelper.render";
+141 				sb.append("\"+ " + s + "($" + (i + 1) + ")");
+142 			}
+143 		}
+144 		sb.append("+\")");
+145 
+146 		String signature = sb.toString();
+147 		return signature;
+148 	}
+149 
+150 	/**
+151 	 * Determine the name of parameter with index i in the given method. Use the
+152 	 * locals attributes about local variables from the classfile. Note: This is
+153 	 * still work in progress.
+154 	 * 
+155 	 * @param method
+156 	 * @param locals
+157 	 * @param i
+158 	 * @return the name of the parameter if available or a number if not.
+159 	 */
+160 	static String parameterNameFor(CtBehavior method,
+161 			LocalVariableAttribute locals, int i) {
+162 
+163 		if (locals == null) {
+164 			return Integer.toString(i + 1);
+165 		}
+166 
+167 		int modifiers = method.getModifiers();
+168 
+169 		int j = i;
+170 
+171 		if (Modifier.isSynchronized(modifiers)) {
+172 			// skip object to synchronize upon.
+173 			j++;
+174 			// System.err.println("Synchronized");
+175 		}
+176 		if (Modifier.isStatic(modifiers) == false) {
+177 			// skip "this"
+178 			j++;
+179 			// System.err.println("Instance");
+180 		}
+181 		String variableName = locals.variableName(j);
+182 		// if (variableName.equals("this")) {
+183 		// System.err.println("'this' returned as a parameter name for "
+184 		// + method.getName() + " index " + j
+185 		// +
+186 		// ", names are probably shifted. Please submit source for class in slf4j bugreport");
+187 		// }
+188 		return variableName;
+189 	}
+190 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/instrumentation/LogTransformer.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/instrumentation/LogTransformer.html new file mode 100644 index 0000000..ccabfaf --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/instrumentation/LogTransformer.html @@ -0,0 +1,338 @@ + + + + +LogTransformer xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  /**
+26   * 
+27   */
+28  package org.slf4j.instrumentation;
+29  
+30  import static org.slf4j.helpers.MessageFormatter.format;
+31  
+32  import java.io.ByteArrayInputStream;
+33  import java.lang.instrument.ClassFileTransformer;
+34  import java.security.ProtectionDomain;
+35  
+36  import javassist.CannotCompileException;
+37  import javassist.ClassPool;
+38  import javassist.CtBehavior;
+39  import javassist.CtClass;
+40  import javassist.CtField;
+41  import javassist.NotFoundException;
+42  
+43  import org.slf4j.helpers.MessageFormatter;
+44  
+45  /**
+46   * <p>
+47   * LogTransformer does the work of analyzing each class, and if appropriate add
+48   * log statements to each method to allow logging entry/exit.
+49   * </p>
+50   * <p>
+51   * This class is based on the article <a href="http://today.java.net/pub/a/today/2008/04/24/add-logging-at-class-load-time-with-instrumentation.html"
+52   * >Add Logging at Class Load Time with Java Instrumentation</a>.
+53   * </p>
+54   */
+55  public class LogTransformer implements ClassFileTransformer {
+56  
+57    /**
+58     * Builder provides a flexible way of configuring some of many options on the
+59     * parent class instead of providing many constructors.
+60     * 
+61     * {@link http
+62     * ://rwhansen.blogspot.com/2007/07/theres-builder-pattern-that-joshua.html}
+63     * 
+64     */
+65    public static class Builder {
+66  
+67      /**
+68       * Build and return the LogTransformer corresponding to the options set in
+69       * this Builder.
+70       * 
+71       * @return
+72       */
+73      public LogTransformer build() {
+74        if (verbose) {
+75          System.err.println("Creating LogTransformer");
+76        }
+77        return new LogTransformer(this);
+78      }
+79  
+80      boolean addEntryExit;
+81  
+82      /**
+83       * Should each method log entry (with parameters) and exit (with parameters
+84       * and returnvalue)?
+85       * 
+86       * @param b
+87       *          value of flag
+88       * @return
+89       */
+90      public Builder addEntryExit(boolean b) {
+91        addEntryExit = b;
+92        return this;
+93      }
+94  
+95      boolean addVariableAssignment;
+96  
+97      // private Builder addVariableAssignment(boolean b) {
+98      // System.err.println("cannot currently log variable assignments.");
+99      // addVariableAssignment = b;
+100     // return this;
+101     // }
+102 
+103     boolean verbose;
+104 
+105     /**
+106      * Should LogTransformer be verbose in what it does? This currently list the
+107      * names of the classes being processed.
+108      * 
+109      * @param b
+110      * @return
+111      */
+112     public Builder verbose(boolean b) {
+113       verbose = b;
+114       return this;
+115     }
+116 
+117     String[] ignore = { "org/slf4j/", "ch/qos/logback/", "org/apache/log4j/" };
+118 
+119     public Builder ignore(String[] strings) {
+120       this.ignore = strings;
+121       return this;
+122     }
+123 
+124     private String level = "info";
+125 
+126     public Builder level(String level) {
+127       level = level.toLowerCase();
+128       if (level.equals("info") || level.equals("debug")
+129           || level.equals("trace")) {
+130         this.level = level;
+131       } else {
+132         if (verbose) {
+133           System.err.println("level not info/debug/trace : " + level);
+134         }
+135       }
+136       return this;
+137     }
+138   }
+139 
+140   private String level;
+141   private String levelEnabled;
+142 
+143   private LogTransformer(Builder builder) {
+144     String s = "WARNING: javassist not available on classpath for javaagent, log statements will not be added";
+145     try {
+146       if (Class.forName("javassist.ClassPool") == null) {
+147         System.err.println(s);
+148       }
+149     } catch (ClassNotFoundException e) {
+150       System.err.println(s);
+151     }
+152 
+153     this.addEntryExit = builder.addEntryExit;
+154     // this.addVariableAssignment = builder.addVariableAssignment;
+155     this.verbose = builder.verbose;
+156     this.ignore = builder.ignore;
+157     this.level = builder.level;
+158     this.levelEnabled = "is" + builder.level.substring(0, 1).toUpperCase()
+159         + builder.level.substring(1) + "Enabled";
+160   }
+161 
+162   private boolean addEntryExit;
+163   // private boolean addVariableAssignment;
+164   private boolean verbose;
+165   private String[] ignore;
+166 
+167   public byte[] transform(ClassLoader loader, String className, Class<?> clazz,
+168       ProtectionDomain domain, byte[] bytes) {
+169 
+170     try {
+171       return transform0(className, clazz, domain, bytes);
+172     } catch (Exception e) {
+173       System.err.println("Could not instrument " + className);
+174       e.printStackTrace();
+175       return bytes;
+176     }
+177   }
+178 
+179   /**
+180    * transform0 sees if the className starts with any of the namespaces to
+181    * ignore, if so it is returned unchanged. Otherwise it is processed by
+182    * doClass(...)
+183    * 
+184    * @param className
+185    * @param clazz
+186    * @param domain
+187    * @param bytes
+188    * @return
+189    */
+190 
+191   private byte[] transform0(String className, Class<?> clazz,
+192       ProtectionDomain domain, byte[] bytes) {
+193 
+194     try {
+195       for (int i = 0; i < ignore.length; i++) {
+196         if (className.startsWith(ignore[i])) {
+197           return bytes;
+198         }
+199       }
+200       String slf4jName = "org.slf4j.LoggerFactory";
+201       try {
+202         if (domain != null && domain.getClassLoader() != null) {
+203           domain.getClassLoader().loadClass(slf4jName);
+204         } else {
+205           if (verbose) {
+206             System.err.println("Skipping " + className
+207                 + " as it doesn't have a domain or a class loader.");
+208           }
+209           return bytes;
+210         }
+211       } catch (ClassNotFoundException e) {
+212         if (verbose) {
+213           System.err.println("Skipping " + className
+214               + " as slf4j is not available to it");
+215         }
+216         return bytes;
+217       }
+218       if (verbose) {
+219         System.err.println("Processing " + className);
+220       }
+221       return doClass(className, clazz, bytes);
+222     } catch (Throwable e) {
+223       System.out.println("e = " + e);
+224       return bytes;
+225     }
+226   }
+227 
+228   private String loggerName;
+229 
+230   /**
+231    * doClass() process a single class by first creates a class description from
+232    * the byte codes. If it is a class (i.e. not an interface) the methods
+233    * defined have bodies, and a static final logger object is added with the
+234    * name of this class as an argument, and each method then gets processed with
+235    * doMethod(...) to have logger calls added.
+236    * 
+237    * @param name
+238    *          class name (slashes separate, not dots)
+239    * @param clazz
+240    * @param b
+241    * @return
+242    */
+243   private byte[] doClass(String name, Class<?> clazz, byte[] b) {
+244     ClassPool pool = ClassPool.getDefault();
+245     CtClass cl = null;
+246     try {
+247       cl = pool.makeClass(new ByteArrayInputStream(b));
+248       if (cl.isInterface() == false) {
+249 
+250         loggerName = "_____log";
+251 
+252         // We have to declare the log variable.
+253 
+254         String pattern1 = "private static org.slf4j.Logger {};";
+255         String loggerDefinition = format(pattern1, loggerName).getMessage();
+256         CtField field = CtField.make(loggerDefinition, cl);
+257 
+258         // and assign it the appropriate value.
+259 
+260         String pattern2 = "org.slf4j.LoggerFactory.getLogger({}.class);";
+261         String replace = name.replace('/', '.');
+262         String getLogger = format(pattern2, replace).getMessage();
+263 
+264         cl.addField(field, getLogger);
+265 
+266         // then check every behaviour (which includes methods). We are
+267         // only
+268         // interested in non-empty ones, as they have code.
+269         // NOTE: This will be changed, as empty methods should be
+270         // instrumented too.
+271 
+272         CtBehavior[] methods = cl.getDeclaredBehaviors();
+273         for (int i = 0; i < methods.length; i++) {
+274           if (methods[i].isEmpty() == false) {
+275             doMethod(methods[i]);
+276           }
+277         }
+278         b = cl.toBytecode();
+279       }
+280     } catch (Exception e) {
+281       System.err.println("Could not instrument " + name + ", " + e);
+282       e.printStackTrace(System.err);
+283     } finally {
+284       if (cl != null) {
+285         cl.detach();
+286       }
+287     }
+288     return b;
+289   }
+290 
+291   /**
+292    * process a single method - this means add entry/exit logging if requested.
+293    * It is only called for methods with a body.
+294    * 
+295    * @param method
+296    *          method to work on
+297    * @throws NotFoundException
+298    * @throws CannotCompileException
+299    */
+300   private void doMethod(CtBehavior method) throws NotFoundException,
+301       CannotCompileException {
+302 
+303     String signature = JavassistHelper.getSignature(method);
+304     String returnValue = JavassistHelper.returnValue(method);
+305 
+306     if (addEntryExit) {
+307       String messagePattern = "if ({}.{}()) {}.{}(\">> {}\");";
+308       Object[] arg1 = new Object[] { loggerName, levelEnabled, loggerName,
+309           level, signature };
+310       String before = MessageFormatter.arrayFormat(messagePattern, arg1)
+311           .getMessage();
+312       // System.out.println(before);
+313       method.insertBefore(before);
+314 
+315       String messagePattern2 = "if ({}.{}()) {}.{}(\"<< {}{}\");";
+316       Object[] arg2 = new Object[] { loggerName, levelEnabled, loggerName,
+317           level, signature, returnValue };
+318       String after = MessageFormatter.arrayFormat(messagePattern2, arg2)
+319           .getMessage();
+320       // System.out.println(after);
+321       method.insertAfter(after);
+322     }
+323   }
+324 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/instrumentation/ToStringHelper.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/instrumentation/ToStringHelper.html new file mode 100644 index 0000000..a18742c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/instrumentation/ToStringHelper.html @@ -0,0 +1,206 @@ + + + + +ToStringHelper xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.instrumentation;
+26  
+27  import java.util.Map;
+28  import java.util.WeakHashMap;
+29  
+30  public class ToStringHelper {
+31  
+32  	/**
+33  	 * Prefix to use at the start of the representation. Always used.
+34  	 */
+35  	private static final String ARRAY_PREFIX = "[";
+36  
+37  	/**
+38  	 * Suffix to use at the end of the representation. Always used.
+39  	 */
+40  	private static final String ARRAY_SUFFIX = "]";
+41  
+42  	/**
+43  	 * String separating each element when rendering an array. To be compatible
+44  	 * with lists comma-space is used.
+45  	 */
+46  
+47  	private static final String ELEMENT_SEPARATOR = ", ";
+48  
+49  	/**
+50  	 * unrenderableClasses is essentially a Set of Class objects which has for
+51  	 * some reason failed to render properly when invoked through a toString
+52  	 * method call. To avoid memory leaks a data structure using weak references
+53  	 * is needed, but unfortunately the runtime library does not contain a
+54  	 * WeakHashSet class, so the behavior is emulated with a WeakHashmap with
+55  	 * the class as the key, and a Long containing the value of
+56  	 * System.currentTimeMilis when an instance of the class failed to render.
+57  	 */
+58  
+59  	final static Map<Class<?>, Object> unrenderableClasses = new WeakHashMap<Class<?>, Object>();
+60  
+61  	/**
+62  	 * Returns o.toString() unless it throws an exception (which causes it to be
+63  	 * stored in unrenderableClasses) or already was present in
+64  	 * unrenderableClasses. If so, the same string is returned as would have
+65  	 * been returned by Object.toString(). Arrays get special treatment as they
+66  	 * don't have usable toString methods.
+67  	 * 
+68  	 * @param o
+69  	 *            incoming object to render.
+70  	 * @return
+71  	 */
+72  
+73  	public static String render(Object o) {
+74  		if (o == null) {
+75  			return String.valueOf(o);
+76  		}
+77  		Class<?> objectClass = o.getClass();
+78  
+79  		if (unrenderableClasses.containsKey(objectClass) == false) {
+80  			try {
+81  				if (objectClass.isArray()) {
+82  					return renderArray(o, objectClass).toString();
+83  				} else {
+84  					return o.toString();
+85  				}
+86  			} catch (Exception e) {
+87  				Long now = new Long(System.currentTimeMillis());
+88  
+89  				System.err.println("Disabling exception throwing class "
+90  						+ objectClass.getName() + ", " + e.getMessage());
+91  
+92  				unrenderableClasses.put(objectClass, now);
+93  			}
+94  		}
+95  		String name = o.getClass().getName();
+96  		return name + "@" + Integer.toHexString(o.hashCode());
+97  	}
+98  
+99  	/**
+100 	 * renderArray returns an array similar to a List. If the array type is an
+101 	 * object they are rendered with "render(object)" for each. If the array
+102 	 * type is a primitive each element is added directly to the string buffer
+103 	 * collecting the result.
+104 	 * 
+105 	 * @param o
+106 	 * @param objectClass
+107 	 * @return
+108 	 */
+109 	private static StringBuffer renderArray(Object o, Class<?> objectClass) {
+110 		Class<?> componentType = objectClass.getComponentType();
+111 		StringBuffer sb = new StringBuffer(ARRAY_PREFIX);
+112 
+113 		if (componentType.isPrimitive() == false) {
+114 			Object[] oa = (Object[]) o;
+115 			for (int i = 0; i < oa.length; i++) {
+116 				if (i > 0) {
+117 					sb.append(ELEMENT_SEPARATOR);
+118 				}
+119 				sb.append(render(oa[i]));
+120 			}
+121 		} else {
+122 			if (Boolean.TYPE.equals(componentType)) {
+123 				boolean[] ba = (boolean[]) o;
+124 				for (int i = 0; i < ba.length; i++) {
+125 					if (i > 0) {
+126 						sb.append(ELEMENT_SEPARATOR);
+127 					}
+128 					sb.append(ba[i]);
+129 				}
+130 			} else if (Integer.TYPE.equals(componentType)) {
+131 				int[] ia = (int[]) o;
+132 				for (int i = 0; i < ia.length; i++) {
+133 					if (i > 0) {
+134 						sb.append(ELEMENT_SEPARATOR);
+135 					}
+136 					sb.append(ia[i]);
+137 				}
+138 
+139 			} else if (Long.TYPE.equals(componentType)) {
+140 				long[] ia = (long[]) o;
+141 				for (int i = 0; i < ia.length; i++) {
+142 					if (i > 0) {
+143 						sb.append(ELEMENT_SEPARATOR);
+144 					}
+145 					sb.append(ia[i]);
+146 				}
+147 			} else if (Double.TYPE.equals(componentType)) {
+148 				double[] ia = (double[]) o;
+149 				for (int i = 0; i < ia.length; i++) {
+150 					if (i > 0) {
+151 						sb.append(ELEMENT_SEPARATOR);
+152 					}
+153 					sb.append(ia[i]);
+154 				}
+155 			} else if (Float.TYPE.equals(componentType)) {
+156 				float[] ia = (float[]) o;
+157 				for (int i = 0; i < ia.length; i++) {
+158 					if (i > 0) {
+159 						sb.append(ELEMENT_SEPARATOR);
+160 					}
+161 					sb.append(ia[i]);
+162 				}
+163 			} else if (Character.TYPE.equals(componentType)) {
+164 				char[] ia = (char[]) o;
+165 				for (int i = 0; i < ia.length; i++) {
+166 					if (i > 0) {
+167 						sb.append(ELEMENT_SEPARATOR);
+168 					}
+169 					sb.append(ia[i]);
+170 				}
+171 			} else if (Short.TYPE.equals(componentType)) {
+172 				short[] ia = (short[]) o;
+173 				for (int i = 0; i < ia.length; i++) {
+174 					if (i > 0) {
+175 						sb.append(ELEMENT_SEPARATOR);
+176 					}
+177 					sb.append(ia[i]);
+178 				}
+179 			} else if (Byte.TYPE.equals(componentType)) {
+180 				byte[] ia = (byte[]) o;
+181 				for (int i = 0; i < ia.length; i++) {
+182 					if (i > 0) {
+183 						sb.append(ELEMENT_SEPARATOR);
+184 					}
+185 					sb.append(ia[i]);
+186 				}
+187 			}
+188 		}
+189 		sb.append(ARRAY_SUFFIX);
+190 		return sb;
+191 	}
+192 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/instrumentation/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/instrumentation/package-frame.html new file mode 100644 index 0000000..070da00 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/instrumentation/package-frame.html @@ -0,0 +1,33 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.instrumentation + + + + +

+ org.slf4j.instrumentation +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/instrumentation/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/instrumentation/package-summary.html new file mode 100644 index 0000000..693cfdd --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/instrumentation/package-summary.html @@ -0,0 +1,82 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.instrumentation + + + +
+ +
+
+ +
+ +

Package org.slf4j.instrumentation

+ + + + + + + + + + + + + + + + + + + + + +
Class Summary
+ Builder +
+ JavassistHelper +
+ LogTransformer +
+ ToStringHelper +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/Constant.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/Constant.html new file mode 100644 index 0000000..9299d31 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/Constant.html @@ -0,0 +1,50 @@ + + + + +Constant xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.migrator;
+26  
+27  public class Constant {
+28  
+29    public final static int JCL_TO_SLF4J = 0;
+30    public final static int LOG4J_TO_SLF4J = 1;
+31    public final static int JUL_TO_SLF4J = 2;
+32    public final static int NOP_TO_SLF4J = 3;
+33  
+34    public final static int NB_FILES_MAX = 1;
+35  
+36  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/ConversionException.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/ConversionException.html new file mode 100644 index 0000000..142066c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/ConversionException.html @@ -0,0 +1,77 @@ + + + + +ConversionException xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.migrator;
+26  
+27  public class ConversionException extends Exception {
+28  
+29    /**
+30     * 
+31     */
+32    private static final long serialVersionUID = 498961799888576668L;
+33  
+34    private String detail;
+35  
+36    public static final String NOT_IMPLEMENTED = "Conversion mode not implemented yet";
+37    public static final String INVALID_DIRECTORY = "Invalid source directory";
+38    public static final String FILE_COPY = "Error during file copy";
+39  
+40    public ConversionException(String message) {
+41      super(message);
+42    }
+43  
+44    public ConversionException(String message, String detail) {
+45      super(message);
+46      this.detail = detail;
+47    }
+48  
+49    public String getDetail() {
+50      return detail;
+51    }
+52  
+53    public void setDetail(String detail) {
+54      this.detail = detail;
+55    }
+56  
+57    public void print() {
+58      if (getMessage() != null) {
+59        System.out.println(getMessage());
+60      }
+61    }
+62  
+63  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/FileSelector.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/FileSelector.html new file mode 100644 index 0000000..37a6061 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/FileSelector.html @@ -0,0 +1,83 @@ + + + + +FileSelector xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.migrator;
+26  
+27  import java.io.File;
+28  import java.util.ArrayList;
+29  import java.util.List;
+30  
+31  import org.slf4j.migrator.internal.ProgressListener;
+32  
+33  public class FileSelector {
+34  
+35    private List<File> javaFileList = new ArrayList<File>();
+36  
+37    ProgressListener pl;
+38  
+39    FileSelector(ProgressListener pl) {
+40      this.pl = pl;
+41    }
+42  
+43    public List<File> selectJavaFilesInFolder(File folder) {
+44      if (folder.isDirectory()) {
+45        selectFiles(folder);
+46        return javaFileList;
+47      } else {
+48        throw new IllegalArgumentException("[" + folder + "] is not a directory");
+49      }
+50    }
+51  
+52    private void selectFiles(File file) {
+53      if (file.isDirectory()) {
+54        pl.onDirectory(file);
+55        File[] files = file.listFiles();
+56        if (files != null) {
+57          for (int i = 0; i < files.length; i++) {
+58            selectFiles(files[i]);
+59          }
+60        }
+61      } else {
+62        if (file.getName().endsWith(".java")) {
+63          pl.onFileAddition(file);
+64          javaFileList.add(file);
+65        }
+66  
+67      }
+68    }
+69  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/InplaceFileConverter.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/InplaceFileConverter.html new file mode 100644 index 0000000..1b484b0 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/InplaceFileConverter.html @@ -0,0 +1,125 @@ + + + + +InplaceFileConverter xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.migrator;
+26  
+27  import java.io.BufferedReader;
+28  import java.io.ByteArrayInputStream;
+29  import java.io.ByteArrayOutputStream;
+30  import java.io.File;
+31  import java.io.FileInputStream;
+32  import java.io.FileOutputStream;
+33  import java.io.IOException;
+34  import java.io.InputStreamReader;
+35  import java.io.OutputStream;
+36  import java.io.Reader;
+37  
+38  import org.slf4j.migrator.internal.ProgressListener;
+39  import org.slf4j.migrator.line.LineConverter;
+40  import org.slf4j.migrator.line.RuleSet;
+41  
+42  public class InplaceFileConverter {
+43  
+44    final static int BUFFER_LEN = 8 * 1024;
+45    final LineConverter lineConverter;
+46    final String lineTerminator;
+47    final ProgressListener pl;
+48    
+49    InplaceFileConverter(RuleSet ruleSet, ProgressListener pl) {
+50      this.lineConverter = new LineConverter(ruleSet);
+51      lineTerminator = System.getProperty("line.separator");
+52      this.pl = pl;
+53    }
+54  
+55    private byte[] readIntoByteArray(File file) throws IOException {
+56      FileInputStream fis = new FileInputStream(file);
+57      ByteArrayOutputStream baos = new ByteArrayOutputStream();
+58      int n = 0;
+59      byte[] buffer = new byte[BUFFER_LEN];
+60      while ((n = fis.read(buffer)) != -1) {
+61        // System.out.println("ba="+new String(buffer, "UTF-8"));
+62        baos.write(buffer, 0, n);
+63      }
+64      fis.close();
+65      return baos.toByteArray();
+66    }
+67  
+68    void convert(File file) throws IOException {
+69      byte[] originalBytes = readIntoByteArray(file);
+70      byte[] convertedBytes = convertIntoTempByteArray(originalBytes);
+71      if (lineConverter.atLeastOneMatchOccured()) {
+72        //System.out.println("Converting ["+file+"]");
+73        writeConvertedBytesIntoFile(file, convertedBytes);
+74        pl.onInplaceConversion(file);
+75      } else {
+76        //System.out.println("Not touching ["+file+"]");
+77      }
+78    }
+79  
+80    private void writeConvertedBytesIntoFile(File file, byte[] convertedBytes) throws IOException {
+81      FileOutputStream fos = new FileOutputStream(file);
+82      fos.write(convertedBytes);
+83      fos.flush();
+84      fos.close();
+85    }
+86  
+87    private byte[] convertIntoTempByteArray(byte[] input) throws IOException {
+88      ByteArrayInputStream bais = new ByteArrayInputStream(input);
+89      Reader reader = new InputStreamReader(bais);
+90      BufferedReader breader = new BufferedReader(reader);
+91      ByteArrayOutputStream baos = new ByteArrayOutputStream();
+92      while (true) {
+93        String line = breader.readLine();
+94        if (line != null) {
+95          String[] replacement = lineConverter.getReplacement(line);
+96          writeReplacement(baos, replacement);
+97        } else {
+98          break;
+99        }
+100     }
+101     return baos.toByteArray();
+102   }
+103 
+104   private  void writeReplacement(OutputStream os, String[] replacement)
+105       throws IOException {
+106     for (int i = 0; i < replacement.length; i++) {
+107       os.write(replacement[i].getBytes());
+108       os.write(lineTerminator.getBytes());
+109     }
+110   }
+111 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/Main.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/Main.html new file mode 100644 index 0000000..9f5953c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/Main.html @@ -0,0 +1,64 @@ + + + + +Main xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  
+26  package org.slf4j.migrator;
+27  
+28  import javax.swing.SwingUtilities;
+29  
+30  import org.slf4j.migrator.internal.MigratorFrame;
+31  
+32  /**
+33   * Main entry point to the migrator.
+34   * 
+35   * @author Ceki G&uuml;lc&uuml;
+36   */
+37  public class Main {
+38  
+39    public static void main(String[] args) {
+40      System.out.println("Starting SLF4J Migrator");
+41      SwingUtilities.invokeLater(new Runnable() {
+42        public void run() {
+43          MigratorFrame inst = new MigratorFrame();
+44          inst.setLocationRelativeTo(null);
+45          inst.setVisible(true);
+46        }
+47      });
+48    }
+49    
+50  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/ProjectConverter.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/ProjectConverter.html new file mode 100644 index 0000000..4463d33 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/ProjectConverter.html @@ -0,0 +1,141 @@ + + + + +ProjectConverter xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.migrator;
+26  
+27  import java.io.File;
+28  import java.io.IOException;
+29  import java.util.ArrayList;
+30  import java.util.Iterator;
+31  import java.util.List;
+32  
+33  import javax.swing.SwingUtilities;
+34  
+35  import org.slf4j.migrator.internal.MigratorFrame;
+36  import org.slf4j.migrator.internal.ProgressListener;
+37  import org.slf4j.migrator.line.RuleSet;
+38  
+39  public class ProjectConverter {
+40  
+41    private RuleSet ruleSet;
+42    private List<ConversionException> exception;
+43  
+44    ProgressListener progressListener;
+45  
+46    public static void main(String[] args) throws IOException {
+47      SwingUtilities.invokeLater(new Runnable() {
+48        public void run() {
+49          MigratorFrame inst = new MigratorFrame();
+50          inst.setLocationRelativeTo(null);
+51          inst.setVisible(true);
+52        }
+53      });
+54    }
+55  
+56    /**
+57     * Ask for concrete matcher implementation depending on the conversion mode
+58     * Ask for user confirmation to convert the selected source directory if valid
+59     * Ask for user confirmation in case of number of files to convert > 1000
+60     *
+61     * @param conversionType 
+62     * @param progressListener 
+63     */
+64    public ProjectConverter(int conversionType, ProgressListener progressListener) {
+65      this.progressListener = progressListener;
+66      ruleSet = RuleSetFactory.getMatcherImpl(conversionType);
+67      if (ruleSet == null) {
+68        addException(new ConversionException(ConversionException.NOT_IMPLEMENTED));
+69      }
+70    }
+71  
+72    public void convertProject(File folder) {
+73      FileSelector fs = new FileSelector(progressListener);
+74      List<File> fileList = fs.selectJavaFilesInFolder(folder);
+75      scanFileList(fileList);
+76      progressListener.onDone();
+77    }
+78  
+79    /**
+80     * Convert a list of files
+81     * 
+82     * @param lstFiles
+83     */
+84    private void scanFileList(List<File> lstFiles) {
+85      progressListener.onFileScanBegin();
+86      Iterator<File> itFile = lstFiles.iterator();
+87      while (itFile.hasNext()) {
+88        File currentFile = itFile.next();
+89        progressListener.onFileScan(currentFile);
+90        scanFile(currentFile);
+91      }
+92    }
+93  
+94    /**
+95     * Convert the specified file Read each line and ask matcher implementation
+96     * for conversion Rewrite the line returned by matcher
+97     * 
+98     * @param file
+99     */
+100   private void scanFile(File file) {
+101     try {
+102       InplaceFileConverter fc = new InplaceFileConverter(ruleSet,
+103           progressListener);
+104       fc.convert(file);
+105     } catch (IOException exc) {
+106       addException(new ConversionException(exc.toString()));
+107     }
+108   }
+109 
+110   public void addException(ConversionException exc) {
+111     if (exception == null) {
+112       exception = new ArrayList<ConversionException>();
+113     }
+114     exception.add(exc);
+115   }
+116 
+117   public void printException() {
+118     if (exception != null) {
+119       Iterator<ConversionException> iterator = exception.iterator();
+120       while (iterator.hasNext()) {
+121         ConversionException exc = (ConversionException) iterator.next();
+122         exc.print();
+123       }
+124       exception = null;
+125     }
+126   }
+127 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/RuleSetFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/RuleSetFactory.html new file mode 100644 index 0000000..1c55039 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/RuleSetFactory.html @@ -0,0 +1,76 @@ + + + + +RuleSetFactory xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.migrator;
+26  
+27  import org.slf4j.migrator.line.EmptyRuleSet;
+28  import org.slf4j.migrator.line.JCLRuleSet;
+29  import org.slf4j.migrator.line.JULRuleSet;
+30  import org.slf4j.migrator.line.Log4jRuleSet;
+31  import org.slf4j.migrator.line.RuleSet;
+32  
+33  /**
+34   * This class runs Pattern matching with java.util.regex using Patterns defined
+35   * in concrete implementations
+36   * 
+37   * @author jean-noelcharpin
+38   * 
+39   */
+40  public abstract class RuleSetFactory {
+41  
+42     /**
+43     * Return matcher implementation depending on the conversion mode
+44     * 
+45     * @param conversionType
+46     * @return AbstractMatcher implementation
+47     */
+48    public static RuleSet getMatcherImpl(int conversionType) {
+49      switch (conversionType) {
+50      case Constant.JCL_TO_SLF4J:
+51        return new JCLRuleSet();
+52      case Constant.LOG4J_TO_SLF4J:
+53        return new Log4jRuleSet();
+54      case Constant.JUL_TO_SLF4J:
+55          return new JULRuleSet();
+56      case Constant.NOP_TO_SLF4J:
+57        return new EmptyRuleSet();
+58      default:
+59        return null;
+60      }
+61    }
+62  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/helper/Abbreviator.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/helper/Abbreviator.html new file mode 100644 index 0000000..7ffde33 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/helper/Abbreviator.html @@ -0,0 +1,104 @@ + + + + +Abbreviator xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.migrator.helper;
+26  
+27  public class Abbreviator {
+28    static final String FILLER = "...";
+29  
+30    final char folderSeparator;
+31    final int invariantPrefixLength;
+32    final int desiredLength;
+33  
+34    public Abbreviator(int invariantPrefixLength, int desiredLength,
+35        char folderSeparator) {
+36      this.invariantPrefixLength = invariantPrefixLength;
+37      this.desiredLength = desiredLength;
+38      this.folderSeparator = folderSeparator;
+39    }
+40  
+41    public String abbreviate(String filename) {
+42      if (filename.length() <= desiredLength) {
+43        return filename;
+44      } else {
+45  
+46        int firstIndex = filename.indexOf(folderSeparator, invariantPrefixLength);
+47        if (firstIndex == -1) {
+48          // we cant't process this string
+49          return filename;
+50        }
+51        StringBuffer buf = new StringBuffer(desiredLength);
+52        buf.append(filename.substring(0, firstIndex + 1));
+53        buf.append(FILLER);
+54        int nextIndex = computeNextIndex(filename, firstIndex);
+55        if (nextIndex != -1) {
+56          buf.append(filename.substring(nextIndex));
+57        } else {
+58          // better long than wrong
+59          return filename;
+60        }
+61  
+62        if (buf.length() < filename.length()) {
+63          return buf.toString();
+64        } else {
+65          // we tried our best but we are still could not shorten the input
+66          return filename;
+67        }
+68      }
+69    }
+70  
+71    int computeNextIndex(String filename, int firstIndex) {
+72      int nextIndex = firstIndex + 1;
+73      int hitCount = 0;
+74      int minToRemove = filename.length() - desiredLength + FILLER.length();
+75      while (nextIndex < firstIndex + minToRemove) {
+76        int tmpIndex = filename.indexOf(folderSeparator, nextIndex + 1);
+77        if (tmpIndex == -1) {
+78          if (hitCount == 0) {
+79            return -1;
+80          } else {
+81            return nextIndex;
+82          }
+83        } else {
+84          hitCount++;
+85          nextIndex = tmpIndex;
+86        }
+87      }
+88      return nextIndex;
+89    }
+90  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/helper/SpringLayoutHelper.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/helper/SpringLayoutHelper.html new file mode 100644 index 0000000..e71c3de --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/helper/SpringLayoutHelper.html @@ -0,0 +1,80 @@ + + + + +SpringLayoutHelper xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.migrator.helper;
+26  
+27  import java.awt.Component;
+28  
+29  import javax.swing.SpringLayout;
+30  
+31  public class SpringLayoutHelper {
+32    
+33    
+34    final SpringLayout sl;
+35    final int basicPadding;
+36    
+37    public SpringLayoutHelper(SpringLayout springLayout, int basicPadding) {
+38      sl = springLayout;
+39      this.basicPadding = basicPadding;
+40    }
+41    
+42    public void placeToTheRight(Component relativeTo, Component componentToPlace, int horizontalPadding, int verticalPadding) {
+43      sl.putConstraint(SpringLayout.WEST, componentToPlace, horizontalPadding,
+44          SpringLayout.EAST, relativeTo);
+45      
+46      sl.putConstraint(SpringLayout.NORTH, componentToPlace, verticalPadding,
+47          SpringLayout.NORTH, relativeTo);
+48    }
+49    
+50    public void placeToTheRight(Component relativeTo, Component componentToPlace) {
+51      placeToTheRight(relativeTo, componentToPlace, basicPadding, 0);
+52    }
+53  
+54    public void placeBelow(Component relativeTo, Component componentToPlace) {
+55      placeBelow(relativeTo,  componentToPlace, 0, basicPadding);
+56    }
+57  
+58    public void placeBelow(Component relativeTo, Component componentToPlace, int horizontalPadding, int verticalPadding) {
+59      sl.putConstraint(SpringLayout.WEST, componentToPlace, horizontalPadding,
+60          SpringLayout.WEST, relativeTo);
+61      
+62      sl.putConstraint(SpringLayout.NORTH, componentToPlace, verticalPadding,
+63          SpringLayout.SOUTH, relativeTo);
+64    }
+65    
+66  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/helper/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/helper/package-frame.html new file mode 100644 index 0000000..2f5f742 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/helper/package-frame.html @@ -0,0 +1,27 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.migrator.helper + + + + +

+ org.slf4j.migrator.helper +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/helper/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/helper/package-summary.html new file mode 100644 index 0000000..c3934eb --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/helper/package-summary.html @@ -0,0 +1,72 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.migrator.helper + + + +
+ +
+
+ +
+ +

Package org.slf4j.migrator.helper

+ + + + + + + + + + + + + + + +
Class Summary
+ Abbreviator +
+ SpringLayoutHelper +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/internal/ConversionTask.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/internal/ConversionTask.html new file mode 100644 index 0000000..64dcf5a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/internal/ConversionTask.html @@ -0,0 +1,71 @@ + + + + +ConversionTask xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.migrator.internal;
+26  
+27  import java.io.File;
+28  
+29  import org.slf4j.migrator.ProjectConverter;
+30  
+31  public class ConversionTask implements Runnable {
+32  
+33    final File folder;
+34    final MigratorFrame frame;
+35    final int conversionType;
+36   
+37    
+38    ConversionTask(File folder, MigratorFrame frame, int conversionType) {
+39      this.folder = folder;
+40      this.frame = frame;
+41      this.conversionType = conversionType;
+42    }
+43  
+44    public void run() {
+45      ProgressListener pl = new ProgressListenerImpl(folder, frame);
+46      pl.onMigrationBegin();
+47      ProjectConverter converter = new ProjectConverter(conversionType, pl);
+48      converter.convertProject(folder);
+49    }
+50  
+51    public void launch() {
+52      Thread t = new Thread(this);
+53      t.setDaemon(true);
+54      t.start();
+55    }
+56  
+57  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/internal/MigratorFrame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/internal/MigratorFrame.html new file mode 100644 index 0000000..b20a4f5 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/internal/MigratorFrame.html @@ -0,0 +1,409 @@ + + + + +MigratorFrame xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.migrator.internal;
+26  
+27  import java.awt.event.ActionEvent;
+28  import java.awt.event.ActionListener;
+29  import java.io.File;
+30  import java.util.ArrayList;
+31  import java.util.List;
+32  
+33  import javax.swing.ButtonGroup;
+34  import javax.swing.JButton;
+35  import javax.swing.JCheckBox;
+36  import javax.swing.JFileChooser;
+37  import javax.swing.JFrame;
+38  import javax.swing.JLabel;
+39  import javax.swing.JOptionPane;
+40  import javax.swing.JProgressBar;
+41  import javax.swing.JRadioButton;
+42  import javax.swing.JTextField;
+43  import javax.swing.SpringLayout;
+44  import javax.swing.WindowConstants;
+45  
+46  import org.slf4j.migrator.Constant;
+47  import org.slf4j.migrator.helper.SpringLayoutHelper;
+48  
+49  /**
+50   * This code was edited or generated using CloudGarden's Jigloo SWT/Swing GUI
+51   * Builder, which is free for non-commercial use. If Jigloo is being used
+52   * commercially (ie, by a corporation, company or business for any purpose
+53   * whatever) then you should purchase a license for each developer using Jigloo.
+54   * Please visit www.cloudgarden.com for details. Use of Jigloo implies
+55   * acceptance of these licensing terms. A COMMERCIAL LICENSE HAS NOT BEEN
+56   * PURCHASED FOR THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED LEGALLY FOR
+57   * ANY CORPORATE OR COMMERCIAL PURPOSE.
+58   */
+59  public class MigratorFrame extends JFrame implements ActionListener {
+60    private static final long serialVersionUID = 1L;
+61  
+62    private static final int BASIC_PADDING = 10;
+63    private static final int FOLDER_COLUMNS = 40;
+64    private static final String MIGRATE_COMMAND = "MIGRATE_COMMAND";
+65    private static final String BROWSE_COMMAND = "BROWSE_COMMAND";
+66    static final String EXIT_COMMAND = "EXIT_COMMAND";
+67  
+68    static final int X_SIZE = 700;
+69    static final int Y_SIZE = 400;
+70  
+71    private SpringLayout layoutManager = new SpringLayout();
+72    private SpringLayoutHelper slh = new SpringLayoutHelper(layoutManager,
+73        BASIC_PADDING);
+74  
+75    private JLabel migrationLabel;
+76  
+77    private JRadioButton radioLog4j;
+78    private JRadioButton radioJCL;
+79    private JRadioButton radioJUL;
+80    private ButtonGroup buttonGroup;
+81  
+82    private JTextField folderTextField;
+83    private JLabel warningLabel;
+84    JButton migrateButton;
+85    private JButton browseButton;
+86    private JLabel folderLabel;
+87  
+88    private JCheckBox awareCheckBox;
+89    private JLabel awareLabel;
+90  
+91    JLabel otherLabel;
+92    JProgressBar progressBar;
+93    private JFileChooser fileChooser;
+94  
+95    public MigratorFrame() {
+96      super();
+97      initGUI();
+98    }
+99  
+100   private void initGUI() {
+101     try {
+102       setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
+103       getContentPane().setLayout(layoutManager);
+104       this.setTitle("SLF4J migrator");
+105 
+106       createComponents();
+107       constrainAll();
+108       addAllComponentsToContextPane();
+109       pack();
+110       this.setSize(700, 400);
+111     } catch (Exception e) {
+112       e.printStackTrace();
+113     }
+114   }
+115 
+116   private void createComponents() {
+117     createMigrationLabel();
+118     createRadioJCL();
+119     createRadioLog4j();
+120     createRadioJUL();
+121     createButtonGroup();
+122     createFolderLabel();
+123     createFolderTextField();
+124     createBrowseButton();
+125     createMigrateButton();
+126     createAwareCheckbox();
+127     createAwareLabel();
+128     createWarningLabel();
+129     createFileChooser();
+130 
+131     otherLabel = new JLabel();
+132     otherLabel.setText("");
+133     createProgressBar();
+134 
+135   }
+136 
+137   /**
+138    * 
+139    */
+140   private void constrainAll() {
+141 
+142     // contrain migration label
+143     layoutManager.putConstraint(SpringLayout.WEST, migrationLabel,
+144         BASIC_PADDING, SpringLayout.EAST, this);
+145 
+146     layoutManager.putConstraint(SpringLayout.NORTH, migrationLabel,
+147         BASIC_PADDING, SpringLayout.NORTH, this);
+148 
+149     slh.placeToTheRight(migrationLabel, radioJCL, BASIC_PADDING,
+150         -BASIC_PADDING / 2);
+151     slh.placeBelow(radioJCL, radioLog4j, 0, 0);
+152 
+153    slh.placeBelow(radioLog4j, radioJUL, 0, 0);
+154         
+155     
+156     slh.placeBelow(migrationLabel, folderLabel, 0, BASIC_PADDING * 6);
+157     slh.placeToTheRight(folderLabel, folderTextField);
+158     slh.placeToTheRight(folderTextField, browseButton, BASIC_PADDING,
+159         -BASIC_PADDING / 2);
+160 
+161     slh.placeBelow(folderLabel, warningLabel, 0, BASIC_PADDING * 3);
+162 
+163     slh.placeBelow(warningLabel, awareCheckBox, 0, (int) (BASIC_PADDING * 1.5));
+164     slh.placeToTheRight(awareCheckBox, awareLabel);
+165 
+166     slh.placeBelow(awareCheckBox, migrateButton, 0, BASIC_PADDING * 3);
+167 
+168     slh.placeBelow(migrateButton, otherLabel, 0, BASIC_PADDING * 2);
+169 
+170     slh.placeBelow(otherLabel, progressBar, 0, BASIC_PADDING);
+171   }
+172 
+173   private void addAllComponentsToContextPane() {
+174     getContentPane().add(migrationLabel);
+175     getContentPane().add(radioJCL);
+176     getContentPane().add(radioLog4j);
+177     getContentPane().add(radioJUL);
+178     
+179     getContentPane().add(folderLabel);
+180     getContentPane().add(folderTextField);
+181     getContentPane().add(browseButton);
+182     getContentPane().add(migrateButton);
+183 
+184     getContentPane().add(awareCheckBox);
+185     getContentPane().add(awareLabel);
+186 
+187     getContentPane().add(warningLabel);
+188 
+189     getContentPane().add(otherLabel);
+190     getContentPane().add(progressBar);
+191   }
+192 
+193   private void createButtonGroup() {
+194     buttonGroup = new ButtonGroup();
+195     buttonGroup.add(radioJCL);
+196     buttonGroup.add(radioLog4j);
+197     buttonGroup.add(radioJUL);
+198   }
+199 
+200   private void createMigrationLabel() {
+201     migrationLabel = new JLabel();
+202     migrationLabel.setText("Migration Type");
+203   }
+204 
+205   private void createRadioJCL() {
+206     radioJCL = new JRadioButton();
+207     radioJCL.setText("from Jakarta Commons Logging to SLF4J");
+208     radioJCL
+209         .setToolTipText("Select this button if you wish to migrate a Java project using Jakarta Commons Logging to use SLF4J.");
+210   }
+211 
+212   private void createRadioLog4j() {
+213     radioLog4j = new JRadioButton();
+214     radioLog4j.setText("from log4j to SLF4J ");
+215     radioLog4j
+216         .setToolTipText("Select this button if you wish to migrate a Java project using log4j to use SLF4J.");
+217   }
+218 
+219   private void createRadioJUL() {
+220 	    radioJUL = new JRadioButton();
+221 	    radioJUL.setText("from JUL to SLF4J ");
+222 	    radioJUL
+223 	        .setToolTipText("Select this button if you wish to migrate a Java project using java.utl.logging (JUL) to use SLF4J.");
+224 	  }
+225   private void createFolderLabel() {
+226     folderLabel = new JLabel();
+227     folderLabel.setText("Project Directory");
+228   }
+229 
+230   private void createFolderTextField() {
+231     folderTextField = new JTextField();
+232     folderTextField.setColumns(FOLDER_COLUMNS);
+233   }
+234 
+235   private void createBrowseButton() {
+236     browseButton = new JButton();
+237     browseButton.setText("Browse");
+238     browseButton.addActionListener(this);
+239     browseButton.setActionCommand(BROWSE_COMMAND);
+240     browseButton
+241         .setToolTipText("Click this button to browse the file systems on your computer.");
+242   }
+243 
+244   private void createAwareCheckbox() {
+245     awareCheckBox = new JCheckBox();
+246     awareCheckBox
+247         .setToolTipText("<html><p>Check this box of you understand that the migration tool<p>will <b>not</b> backup your Java source files.</html>");
+248   }
+249 
+250   private void createAwareLabel() {
+251     awareLabel = new JLabel();
+252     awareLabel
+253         .setText("<html>"
+254             + "<p>I am aware that this tool will directly modify all Java source files</p>"
+255             + "<p>in the selected folder without creating backup files.</p>"
+256             + "</html>");
+257   }
+258 
+259   private void createWarningLabel() {
+260     warningLabel = new JLabel();
+261     warningLabel
+262         .setText("<html>"
+263             + "<p><span color=\"red\">WARNING:</span> This SLF4J migration tool will directly modify all Java source files</p>"
+264             + "<p>in the selected project folder without creating a backup of the original files.</p>"
+265             + "</html>");
+266   }
+267 
+268   private void createMigrateButton() {
+269     migrateButton = new JButton();
+270     migrateButton.setText("Migrate Project to SLF4J");
+271     migrateButton
+272         .setToolTipText("Click this button to initiate migration of your project.");
+273     migrateButton.addActionListener(this);
+274     migrateButton.setActionCommand(MIGRATE_COMMAND);
+275   }
+276 
+277   private void createFileChooser() {
+278     fileChooser = new JFileChooser();
+279     fileChooser.setDialogTitle("Source folder selector");
+280     fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
+281   }
+282 
+283   private void createProgressBar() {
+284     progressBar = new JProgressBar(0, 1);
+285     progressBar
+286         .setPreferredSize(new java.awt.Dimension((int) (X_SIZE * 0.8), 5));
+287     progressBar.setVisible(false);
+288   }
+289 
+290   public void disableInput() {
+291     radioJCL.setEnabled(false);
+292     radioLog4j.setEnabled(false);
+293 
+294     browseButton.setEnabled(false);
+295 
+296     folderTextField.setEnabled(false);
+297     awareCheckBox.setEnabled(false);
+298     migrateButton.setText("Migration in progress");
+299     migrateButton.setEnabled(false);
+300 
+301   }
+302 
+303   public void actionPerformed(ActionEvent e) {
+304 
+305     if (MIGRATE_COMMAND.equals(e.getActionCommand())) {
+306 
+307       List<String> errorList = doSanityAnalysis();
+308       if (errorList.size() > 0) {
+309         showDialogBox(errorList);
+310       } else {
+311 
+312         File projectFolder = new File(folderTextField.getText());
+313         int conversionType;
+314         if(radioJCL.isSelected()) {
+315           conversionType = Constant.JCL_TO_SLF4J;
+316         } else if (radioLog4j.isSelected()) {
+317           conversionType = Constant.LOG4J_TO_SLF4J;
+318         } else if (radioJUL.isSelected()) {
+319               conversionType = Constant.JUL_TO_SLF4J;
+320         } else {
+321           // we cannot possibly reach here
+322           throw new IllegalStateException("One of JCL or log4j project must have been previously chosen.");
+323         }
+324         ConversionTask task = new ConversionTask(projectFolder, this,
+325             conversionType);
+326         task.launch();
+327       }
+328     } else if (BROWSE_COMMAND.equals(e.getActionCommand())) {
+329       showFileChooser();
+330     } else if (EXIT_COMMAND.equals(e.getActionCommand())) {
+331       this.dispose();
+332     }
+333   }
+334 
+335   void showFileChooser() {
+336     int returnVal = fileChooser.showOpenDialog(this);
+337     if (returnVal == JFileChooser.APPROVE_OPTION) {
+338       File selectedFile = fileChooser.getSelectedFile();
+339       folderTextField.setText(selectedFile.getAbsolutePath());
+340     }
+341   }
+342 
+343   List<String> doSanityAnalysis() {
+344 
+345     List<String> errorList = new ArrayList<String>();
+346     if (!radioJCL.isSelected() && !radioLog4j.isSelected() && !radioJUL.isSelected()) {
+347       errorList
+348           .add("Please select the migration type: JCL, log4j, or JUL to SLF4J.");
+349     }
+350 
+351     String folder = folderTextField.getText();
+352 
+353     if (folder == null || folder.length() == 0) {
+354       errorList.add("Please select the folder of the project to migrate");
+355     } else if (!isDirectory(folder)) {
+356       errorList.add("[" + folder + "] does not look like a valid folder");
+357     }
+358 
+359     if (!awareCheckBox.isSelected()) {
+360       errorList
+361           .add("Cannot initiate migration unless you acknowledge<p>that files will be modified without creating backup files");
+362     }
+363     return errorList;
+364   }
+365 
+366   void showDialogBox(List<String> errorList) {
+367     StringBuffer buf = new StringBuffer();
+368     buf.append("<html>");
+369     int i = 1;
+370     for (String msg : errorList) {
+371       buf.append("<p>");
+372       buf.append(i);
+373       buf.append(". ");
+374       buf.append(msg);
+375       buf.append("</p>");
+376       i++;
+377     }
+378     buf.append("</html>");
+379 
+380     JOptionPane.showMessageDialog(this, buf.toString(), "",
+381         JOptionPane.ERROR_MESSAGE);
+382   }
+383 
+384   boolean isDirectory(String filename) {
+385     if (filename == null) {
+386       return false;
+387     }
+388     File file = new File(filename);
+389     if (file.exists() && file.isDirectory()) {
+390       return true;
+391     } else {
+392       return false;
+393     }
+394   }
+395 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/internal/ProgressListener.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/internal/ProgressListener.html new file mode 100644 index 0000000..bcf4e75 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/internal/ProgressListener.html @@ -0,0 +1,54 @@ + + + + +ProgressListener xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.migrator.internal;
+26  
+27  import java.io.File;
+28  
+29  public interface ProgressListener {
+30  
+31    public void onMigrationBegin();
+32    public void onDirectory(File file);
+33    public void onFileAddition(File file);
+34    public void onFileScanBegin();
+35    public void onFileScan(File file);
+36    public void onInplaceConversion(File file);
+37    public void onDone();
+38  
+39  }
+40    
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/internal/ProgressListenerImpl.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/internal/ProgressListenerImpl.html new file mode 100644 index 0000000..982fa37 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/internal/ProgressListenerImpl.html @@ -0,0 +1,140 @@ + + + + +ProgressListenerImpl xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.migrator.internal;
+26  
+27  import java.io.File;
+28  import java.io.IOException;
+29  
+30  import org.slf4j.migrator.helper.Abbreviator;
+31  
+32  public class ProgressListenerImpl implements ProgressListener {
+33  
+34    static final int TARGET_FILE_LENGTH = 85;
+35    static final int UPDATE_THRESHOLD = 100;
+36    
+37    int addFileCount = 0;
+38    int scanFileCount = 0;
+39    int inplaceConversionCount = 0;
+40    final MigratorFrame frame;
+41  
+42    Abbreviator abbr;
+43    
+44    long lastUpdate = 0;
+45    
+46    
+47  
+48    public ProgressListenerImpl(File projectFolder, MigratorFrame frame) {
+49      this.frame = frame;
+50      this.abbr = new Abbreviator((int) projectFolder.length(),
+51          TARGET_FILE_LENGTH, File.separatorChar);
+52    }
+53  
+54    public void onMigrationBegin() {
+55      frame.disableInput();
+56    }
+57  
+58    boolean isTooSoon() {
+59      long now = System.currentTimeMillis();
+60      if(now-lastUpdate < UPDATE_THRESHOLD) {
+61        return true;
+62      } else {
+63        lastUpdate = now;
+64        return false;
+65      }
+66    }
+67   
+68    public void onDirectory(File file) {
+69      if(isTooSoon()) return;
+70        
+71      String abbreviatedName = getShortName(file);
+72      frame.otherLabel.setText("<html><p>Searching folder [" + abbreviatedName
+73          + "]<p>Found " + addFileCount + " java files to scan.</html>");
+74    }
+75  
+76    public void onDone() {
+77      frame.progressBar.setVisible(false);
+78      frame.otherLabel.setText("<html><font color='BLUE'>Scanned " + addFileCount
+79          + " java files, " + inplaceConversionCount
+80          + " files were modified.</font></html>");
+81  
+82      frame.migrateButton.setActionCommand(MigratorFrame.EXIT_COMMAND);
+83      frame.migrateButton.setText("Exit");
+84      frame.migrateButton
+85          .setToolTipText("Click on this button to exit this application.");
+86      frame.migrateButton.setEnabled(true);
+87  
+88    }
+89  
+90    public void onFileAddition(File file) {
+91      addFileCount++;
+92    }
+93  
+94    public void onFileScan(File file) {
+95    
+96      scanFileCount++;
+97      if(isTooSoon()) return;
+98      String abbreviatedName = getShortName(file);
+99      
+100     frame.otherLabel.setText("<html><p>Scanning file [" + abbreviatedName
+101         + "]<p></html>");
+102     // File + scanFileCount + " out of "+ addFileCount+" files to scan."+
+103     // inplaceConversionCount+ " files converted." +
+104 
+105     frame.progressBar.setValue(scanFileCount);
+106   }
+107 
+108   public void onInplaceConversion(File file) {
+109     inplaceConversionCount++;
+110   }
+111 
+112   String getShortName(File file) {
+113     try {
+114       return abbr.abbreviate(file.getCanonicalPath());
+115     } catch (IOException e) {
+116       return file.toString();
+117     }
+118   }
+119 
+120   public void onFileScanBegin() {
+121     frame.progressBar.setMaximum(addFileCount);
+122     frame.progressBar.setValue(0);
+123     frame.progressBar.setVisible(true);
+124   }
+125 
+126 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/internal/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/internal/package-frame.html new file mode 100644 index 0000000..b1e6794 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/internal/package-frame.html @@ -0,0 +1,33 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.migrator.internal + + + + +

+ org.slf4j.migrator.internal +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/internal/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/internal/package-summary.html new file mode 100644 index 0000000..6c72fc7 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/internal/package-summary.html @@ -0,0 +1,82 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.migrator.internal + + + +
+ +
+
+ +
+ +

Package org.slf4j.migrator.internal

+ + + + + + + + + + + + + + + + + + + + + +
Class Summary
+ ConversionTask +
+ MigratorFrame +
+ ProgressListener +
+ ProgressListenerImpl +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/line/ConversionRule.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/line/ConversionRule.html new file mode 100644 index 0000000..a2550d4 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/line/ConversionRule.html @@ -0,0 +1,65 @@ + + + + +ConversionRule xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.migrator.line;
+26  
+27  import java.util.regex.Matcher;
+28  import java.util.regex.Pattern;
+29  
+30  public interface ConversionRule {
+31  
+32    public Pattern getPattern();
+33  
+34    /**
+35     * Given replacement rules, replace each capturing group in matcher's pattern
+36     * 
+37     * @param matcher
+38     * @return String
+39     */
+40    public String replace(Matcher matcher);
+41    
+42    /**
+43     * Returns a non-null value if there should be an additional line
+44     * following a match of this rule. In most cases this method 
+45     * returns null.
+46     * 
+47     * @return String
+48     */
+49    public String getAdditionalLine();
+50  
+51  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/line/EmptyRuleSet.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/line/EmptyRuleSet.html new file mode 100644 index 0000000..61e459c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/line/EmptyRuleSet.html @@ -0,0 +1,53 @@ + + + + +EmptyRuleSet xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.migrator.line;
+26  
+27  import java.util.ArrayList;
+28  import java.util.Iterator;
+29  import java.util.List;
+30  
+31  public class EmptyRuleSet implements RuleSet {
+32  
+33    List<ConversionRule> list = new ArrayList<ConversionRule>();
+34    
+35    public Iterator<ConversionRule> iterator() {
+36      return list.iterator();
+37    }
+38    
+39  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/line/JCLRuleSet.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/line/JCLRuleSet.html new file mode 100644 index 0000000..2bb0133 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/line/JCLRuleSet.html @@ -0,0 +1,94 @@ + + + + +JCLRuleSet xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.migrator.line;
+26  
+27  import java.util.ArrayList;
+28  import java.util.Iterator;
+29  import java.util.regex.Pattern;
+30  
+31  
+32  /**
+33   * This class represents JCL to SLF4J conversion rules
+34   * 
+35   * @author Jean-Noel Charpin
+36   * 
+37   */
+38  public class JCLRuleSet implements RuleSet {
+39  
+40    private ArrayList<ConversionRule> conversionRuleList;
+41    
+42    public JCLRuleSet() {
+43      // matching : import org.apache.commons.logging.LogFactory;
+44      SingleConversionRule cr0 = new SingleConversionRule(Pattern
+45          .compile("import\\s*+org.apache.commons.logging.LogFactory;"),
+46          "import org.slf4j.LoggerFactory;");
+47  
+48      // matching : import org.apache.commons.logging.Log;
+49      SingleConversionRule cr1 = new SingleConversionRule(Pattern
+50          .compile("import\\s*+org.apache.commons.logging.Log;"), 
+51          "import org.slf4j.Logger;");
+52      
+53      SingleConversionRule cr2 = new SingleConversionRule(Pattern
+54          .compile("(\\sLog\\b)")," Logger");
+55      
+56      SingleConversionRule cr3 = new SingleConversionRule(Pattern
+57          .compile("(^Log\\b)"),"Logger");
+58      
+59      SingleConversionRule cr4 = new SingleConversionRule(Pattern
+60          .compile("LogFactory.getFactory\\(\\).getInstance\\("),
+61              "LoggerFactory.getLogger(");
+62  
+63      SingleConversionRule cr5 = new SingleConversionRule(Pattern
+64          .compile("LogFactory.getLog\\("),"LoggerFactory.getLogger(");
+65      
+66  
+67      conversionRuleList = new ArrayList<ConversionRule>();
+68      conversionRuleList.add(cr0);
+69      conversionRuleList.add(cr1);
+70      conversionRuleList.add(cr2);
+71      conversionRuleList.add(cr3);
+72      conversionRuleList.add(cr4);
+73      conversionRuleList.add(cr5);
+74    }
+75  
+76  
+77    public Iterator<ConversionRule> iterator() {
+78      return conversionRuleList.iterator();
+79    }
+80  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/line/JULRuleSet.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/line/JULRuleSet.html new file mode 100644 index 0000000..589ba92 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/line/JULRuleSet.html @@ -0,0 +1,99 @@ + + + + +JULRuleSet xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.migrator.line;
+26  
+27  import java.util.ArrayList;
+28  import java.util.Iterator;
+29  import java.util.regex.Pattern;
+30  
+31  /**
+32   * This class represents java.util.logging (JUL) to SLF4J conversion rules
+33   * 
+34   * @author Jean-Noel Charpin
+35   * @author Ceki Gulcu
+36   */
+37  public class JULRuleSet implements RuleSet {
+38  
+39    private ArrayList<ConversionRule> conversionRuleList;
+40    
+41    public JULRuleSet() {
+42    
+43      
+44      SingleConversionRule crImport0 = new SingleConversionRule(Pattern
+45          .compile("import\\s*+java.util.logging.Logger;"),
+46          "import org.slf4j.Logger;",
+47          "import org.slf4j.LoggerFactory;");
+48      
+49      SingleConversionRule crImport1 = new SingleConversionRule(Pattern
+50          .compile("import\\s*+org.apache.log4j.LogManager;"),
+51          "import org.slf4j.LoggerFactory;");
+52  
+53      SingleConversionRule crImport2 = new SingleConversionRule(Pattern
+54          .compile("import\\s*+java.util.logging.*;"),
+55          "import org.slf4j.Logger;",
+56          "import org.slf4j.LoggerFactory;");
+57  
+58  
+59      SingleConversionRule crFactory0 = new SingleConversionRule(Pattern
+60          .compile("Logger.getLogger\\("), "LoggerFactory.getLogger(");
+61  
+62      SingleConversionRule crFactory1 = new SingleConversionRule(Pattern
+63          .compile("LogManager.getLogger\\("), "LoggerFactory.getLogger(");
+64  
+65      SingleConversionRule crWarning = new SingleConversionRule(Pattern
+66              .compile("\\.warning\\("), ".warn(");
+67      SingleConversionRule crSevere = new SingleConversionRule(Pattern
+68              .compile("\\.severe\\("), ".error(");
+69    
+70      
+71      conversionRuleList = new ArrayList<ConversionRule>();
+72      conversionRuleList.add(crImport0);
+73      conversionRuleList.add(crImport1);
+74      conversionRuleList.add(crImport2);
+75      conversionRuleList.add(crFactory0);
+76      conversionRuleList.add(crFactory1);
+77      conversionRuleList.add(crWarning);
+78      conversionRuleList.add(crSevere);
+79    }
+80  
+81    public Iterator<ConversionRule> iterator() {
+82      return conversionRuleList.iterator();
+83    }
+84  
+85  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/line/LineConverter.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/line/LineConverter.html new file mode 100644 index 0000000..7acfb91 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/line/LineConverter.html @@ -0,0 +1,105 @@ + + + + +LineConverter xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.migrator.line;
+26  
+27  import java.util.Arrays;
+28  import java.util.Iterator;
+29  import java.util.regex.Matcher;
+30  import java.util.regex.Pattern;
+31  
+32  
+33  public class LineConverter {
+34  
+35    final RuleSet ruleSet;
+36    boolean atLeastOneMatchOccured = false;
+37    
+38    public LineConverter(RuleSet ruleSet) {
+39      this.ruleSet = ruleSet;
+40    }
+41  
+42    /**
+43     * Check if the specified text is matching some conversions rules. 
+44     * If a rule matches, ask for line replacement.
+45     * 
+46     * <p>In case no rule can be applied, then the input text is
+47     * returned without change.
+48     * 
+49     * @param text
+50     * @return String
+51     */
+52    public String[] getReplacement(String text) {
+53      ConversionRule conversionRule;
+54      Pattern pattern;
+55      Matcher matcher;
+56      Iterator<ConversionRule> conversionRuleIterator = ruleSet.iterator();
+57      String additionalLine = null;
+58      while (conversionRuleIterator.hasNext()) {
+59        conversionRule = conversionRuleIterator.next();
+60        pattern = conversionRule.getPattern();
+61        matcher = pattern.matcher(text);
+62        if (matcher.find()) {
+63          // System.out.println("matching " + text);
+64          atLeastOneMatchOccured = true;
+65          String replacementText = conversionRule.replace(matcher);
+66          text = matcher.replaceAll(replacementText);
+67          if(conversionRule.getAdditionalLine() != null) {
+68            additionalLine = conversionRule.getAdditionalLine();
+69          }
+70        }
+71      }
+72      
+73      if(additionalLine == null) {
+74        return new String[] {text};
+75      } else {
+76        return new String[] {text, additionalLine};
+77      }
+78    }
+79  
+80    public String getOneLineReplacement(String text) {
+81      String[] r = getReplacement(text);
+82      if(r.length != 1) {
+83        throw new IllegalStateException("Expecting a single string but got "+Arrays.toString(r));
+84      } else {
+85        return r[0];
+86      }
+87    }
+88    public boolean atLeastOneMatchOccured() {
+89      return atLeastOneMatchOccured;
+90    }
+91  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/line/Log4jRuleSet.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/line/Log4jRuleSet.html new file mode 100644 index 0000000..b881840 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/line/Log4jRuleSet.html @@ -0,0 +1,91 @@ + + + + +Log4jRuleSet xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.migrator.line;
+26  
+27  import java.util.ArrayList;
+28  import java.util.Iterator;
+29  import java.util.regex.Pattern;
+30  
+31  
+32  public class Log4jRuleSet implements RuleSet {
+33  
+34    private ArrayList<ConversionRule> conversionRuleList;
+35    
+36    public Log4jRuleSet() {
+37    
+38      
+39      SingleConversionRule crImport0 = new SingleConversionRule(Pattern
+40          .compile("import\\s*+org.apache.log4j.Logger;"),
+41          "import org.slf4j.Logger;",
+42          "import org.slf4j.LoggerFactory;");
+43      
+44      SingleConversionRule crImport1 = new SingleConversionRule(Pattern
+45          .compile("import\\s*+org.apache.log4j.LogManager;"),
+46          "import org.slf4j.LoggerFactory;");
+47  
+48      SingleConversionRule crImport2 = new SingleConversionRule(Pattern
+49          .compile("import\\s*+org.apache.log4j.*;"),
+50          "import org.slf4j.Logger;",
+51          "import org.slf4j.LoggerFactory;");
+52  
+53      SingleConversionRule crImportMDC = new SingleConversionRule(Pattern
+54          .compile("import\\s*+org.apache.log4j.MDC;"),
+55          "import org.slf4j.MDC;");
+56    
+57  
+58      SingleConversionRule crFactory0 = new SingleConversionRule(Pattern
+59          .compile("Logger.getLogger\\("), "LoggerFactory.getLogger(");
+60  
+61      SingleConversionRule crFactory1 = new SingleConversionRule(Pattern
+62          .compile("LogManager.getLogger\\("), "LoggerFactory.getLogger(");
+63  
+64      conversionRuleList = new ArrayList<ConversionRule>();
+65      conversionRuleList.add(crImport0);
+66      conversionRuleList.add(crImport1);
+67      conversionRuleList.add(crImport2);
+68      conversionRuleList.add(crImportMDC);
+69      conversionRuleList.add(crFactory0);
+70      conversionRuleList.add(crFactory1);
+71    }
+72  
+73    public Iterator<ConversionRule> iterator() {
+74      return conversionRuleList.iterator();
+75    }
+76  
+77  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/line/MultiGroupConversionRule.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/line/MultiGroupConversionRule.html new file mode 100644 index 0000000..2962851 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/line/MultiGroupConversionRule.html @@ -0,0 +1,109 @@ + + + + +MultiGroupConversionRule xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.migrator.line;
+26  
+27  import java.util.regex.Matcher;
+28  import java.util.regex.Pattern;
+29  
+30  
+31  /**
+32   * This class represents a conversion rule It uses a Pattern and defines for
+33   * each capturing group of this Pattern a replacement text
+34   * 
+35   * @author jean-noelcharpin
+36   * 
+37   */
+38  public class MultiGroupConversionRule implements ConversionRule {
+39   
+40    // It is extremely unlikely to encounter more than 10 groups in one of 
+41    // our conversion reg-expressions
+42    final private static int MAX_GROUPS = 10;
+43  
+44    private Pattern pattern;
+45    private String[] replacementTable = new String[MAX_GROUPS];
+46  
+47    public MultiGroupConversionRule(Pattern pattern) {
+48      this.pattern = pattern;
+49    }
+50  
+51    /* (non-Javadoc)
+52     * @see org.slf4j.converter.ConversionRule#getPattern()
+53     */
+54    public Pattern getPattern() {
+55      return pattern;
+56    }
+57  
+58    public void addReplacement(int groupIndex, String replacement) {
+59      if(groupIndex == 0) {
+60        throw new IllegalArgumentException("regex groups start at 1, not zero");
+61      }
+62      replacementTable[groupIndex] = replacement;
+63    }
+64  
+65    /* (non-Javadoc)
+66     * @see org.slf4j.converter.ConversionRule#getReplacement(java.lang.Integer)
+67     */
+68    public String getReplacement(int groupIndex) {
+69      return  replacementTable[groupIndex];
+70    }
+71  
+72    /* (non-Javadoc)
+73     * @see org.slf4j.converter.ConversionRule#replace(java.util.regex.Matcher)
+74     */
+75    public String replace(Matcher matcher) {
+76      StringBuffer replacementBuffer = new StringBuffer();
+77      String replacementText;
+78      
+79      for (int group = 1; group <= matcher.groupCount(); group++) {
+80        replacementText = getReplacement(group);
+81        if (replacementText != null) {
+82          //System.out.println("replacing group " + group + " : "
+83          //    + matcher.group(group) + " with " + replacementText);
+84          replacementBuffer.append(replacementText);
+85        } else  {
+86          replacementBuffer.append(matcher.group(group));
+87        }
+88      }
+89      return replacementBuffer.toString();
+90    }
+91  
+92    public String getAdditionalLine() {
+93      return null;
+94    }
+95  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/line/RuleSet.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/line/RuleSet.html new file mode 100644 index 0000000..4c973ce --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/line/RuleSet.html @@ -0,0 +1,48 @@ + + + + +RuleSet xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.migrator.line;
+26  
+27  import java.util.Iterator;
+28  
+29  
+30  public interface RuleSet {
+31  
+32    Iterator<ConversionRule> iterator();
+33    
+34  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/line/SingleConversionRule.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/line/SingleConversionRule.html new file mode 100644 index 0000000..6dafbfe --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/line/SingleConversionRule.html @@ -0,0 +1,88 @@ + + + + +SingleConversionRule xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.migrator.line;
+26  
+27  import java.util.regex.Matcher;
+28  import java.util.regex.Pattern;
+29  
+30  
+31  /**
+32   * This class represents a conversion rule It uses a Pattern and defines for
+33   * each capturing group of this Pattern a replacement text
+34   * 
+35   * @author jean-noelcharpin
+36   * 
+37   */
+38  public class SingleConversionRule implements ConversionRule {
+39  
+40    final  private Pattern pattern;
+41    final private String replacementText ;
+42    final private String additionalLine;
+43    
+44    public SingleConversionRule(Pattern pattern, String replacementText) {
+45      this(pattern, replacementText, null);
+46    }
+47  
+48    public SingleConversionRule(Pattern pattern, String replacementText, String additionalLine) {
+49      this.pattern = pattern;
+50      this.replacementText = replacementText;
+51      this.additionalLine = additionalLine;
+52    }
+53    
+54    /* (non-Javadoc)
+55     * @see org.slf4j.converter.ConversionRule#getPattern()
+56     */
+57    public Pattern getPattern() {
+58      return pattern;
+59    }
+60  
+61  
+62  
+63    /* (non-Javadoc)
+64     * @see org.slf4j.converter.ConversionRule#replace(java.util.regex.Matcher)
+65     */
+66    public String replace(Matcher matcher) {
+67      return replacementText;
+68    }
+69  
+70    public String getAdditionalLine() {
+71      return additionalLine;
+72    }
+73  
+74  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/line/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/line/package-frame.html new file mode 100644 index 0000000..4365db9 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/line/package-frame.html @@ -0,0 +1,48 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.migrator.line + + + + +

+ org.slf4j.migrator.line +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/line/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/line/package-summary.html new file mode 100644 index 0000000..92199de --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/line/package-summary.html @@ -0,0 +1,107 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.migrator.line + + + +
+ +
+
+ +
+ +

Package org.slf4j.migrator.line

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class Summary
+ ConversionRule +
+ EmptyRuleSet +
+ JCLRuleSet +
+ JULRuleSet +
+ LineConverter +
+ Log4jRuleSet +
+ MultiGroupConversionRule +
+ RuleSet +
+ SingleConversionRule +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/package-frame.html new file mode 100644 index 0000000..9537d45 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/package-frame.html @@ -0,0 +1,42 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.migrator + + + + +

+ org.slf4j.migrator +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/package-summary.html new file mode 100644 index 0000000..d6b1f26 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/migrator/package-summary.html @@ -0,0 +1,97 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.migrator + + + +
+ +
+
+ +
+ +

Package org.slf4j.migrator

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class Summary
+ Constant +
+ ConversionException +
+ FileSelector +
+ InplaceFileConverter +
+ Main +
+ ProjectConverter +
+ RuleSetFactory +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/osgi/logservice/impl/Activator.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/osgi/logservice/impl/Activator.html new file mode 100644 index 0000000..da3afd0 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/osgi/logservice/impl/Activator.html @@ -0,0 +1,92 @@ + + + + +Activator xref + + + +
+
+1   /*
+2    * Copyright (c) 2004-2005 QOS.ch
+3    *
+4    * All rights reserved.
+5    *
+6    * Permission is hereby granted, free of charge, to any person obtaining
+7    * a copy of this software and associated documentation files (the
+8    * "Software"), to  deal in  the Software without  restriction, including
+9    * without limitation  the rights to  use, copy, modify,  merge, publish,
+10   * distribute, and/or sell copies of  the Software, and to permit persons
+11   * to whom  the Software is furnished  to do so, provided  that the above
+12   * copyright notice(s) and this permission notice appear in all copies of
+13   * the  Software and  that both  the above  copyright notice(s)  and this
+14   * permission notice appear in supporting documentation.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY, FITNESS FOR  A PARTICULAR PURPOSE AND NONINFRINGEMENT
+19   * OF  THIRD PARTY  RIGHTS. IN  NO EVENT  SHALL THE  COPYRIGHT  HOLDER OR
+20   * HOLDERS  INCLUDED IN  THIS  NOTICE BE  LIABLE  FOR ANY  CLAIM, OR  ANY
+21   * SPECIAL INDIRECT  OR CONSEQUENTIAL DAMAGES, OR  ANY DAMAGES WHATSOEVER
+22   * RESULTING FROM LOSS  OF USE, DATA OR PROFITS, WHETHER  IN AN ACTION OF
+23   * CONTRACT, NEGLIGENCE  OR OTHER TORTIOUS  ACTION, ARISING OUT OF  OR IN
+24   * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+25   *
+26   * Except as  contained in  this notice, the  name of a  copyright holder
+27   * shall not be used in advertising or otherwise to promote the sale, use
+28   * or other dealings in this Software without prior written authorization
+29   * of the copyright holder.
+30   *
+31   */
+32  
+33  package org.slf4j.osgi.logservice.impl;
+34  
+35  import java.util.Properties;
+36  
+37  import org.osgi.framework.BundleActivator;
+38  import org.osgi.framework.BundleContext;
+39  import org.osgi.framework.ServiceFactory;
+40  import org.osgi.service.log.LogService;
+41  
+42  /**
+43   * <code>Activator</code> implements a simple bundle that registers a
+44   * {@link LogServiceFactory} for the creation of {@link LogService} implementations.
+45   *
+46   * @author John Conlon
+47   * @author Matt Bishop
+48   **/
+49  public class Activator implements BundleActivator {
+50      /**
+51       *
+52  	 * Implements <code>BundleActivator.start()</code> to register a
+53       * LogServiceFactory.
+54       *
+55       * @param bundleContext the framework context for the bundle
+56       * @throws Exception
+57       */
+58      public void start(BundleContext bundleContext) throws Exception {
+59  
+60          Properties props = new Properties();
+61          props.put("description", "An SLF4J LogService implementation.");
+62          ServiceFactory factory = new LogServiceFactory();
+63          bundleContext.registerService(LogService.class.getName(), factory, props);
+64      }
+65  
+66      /**
+67       *
+68       * Implements <code>BundleActivator.stop()</code>.
+69       *
+70       * @param bundleContext the framework context for the bundle
+71       * @throws Exception
+72       */
+73      public void stop(BundleContext bundleContext) throws Exception {
+74  
+75          // Note: It is not required that we remove the service here, since
+76          // the framework will do it automatically.
+77      }
+78  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/osgi/logservice/impl/LogServiceFactory.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/osgi/logservice/impl/LogServiceFactory.html new file mode 100644 index 0000000..2f913f3 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/osgi/logservice/impl/LogServiceFactory.html @@ -0,0 +1,74 @@ + + + + +LogServiceFactory xref + + + +
+
+1   /*
+2    * Copyright (c) 2004-2005 QOS.ch
+3    *
+4    * All rights reserved.
+5    *
+6    * Permission is hereby granted, free of charge, to any person obtaining
+7    * a copy of this software and associated documentation files (the
+8    * "Software"), to  deal in  the Software without  restriction, including
+9    * without limitation  the rights to  use, copy, modify,  merge, publish,
+10   * distribute, and/or sell copies of  the Software, and to permit persons
+11   * to whom  the Software is furnished  to do so, provided  that the above
+12   * copyright notice(s) and this permission notice appear in all copies of
+13   * the  Software and  that both  the above  copyright notice(s)  and this
+14   * permission notice appear in supporting documentation.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY, FITNESS FOR  A PARTICULAR PURPOSE AND NONINFRINGEMENT
+19   * OF  THIRD PARTY  RIGHTS. IN  NO EVENT  SHALL THE  COPYRIGHT  HOLDER OR
+20   * HOLDERS  INCLUDED IN  THIS  NOTICE BE  LIABLE  FOR ANY  CLAIM, OR  ANY
+21   * SPECIAL INDIRECT  OR CONSEQUENTIAL DAMAGES, OR  ANY DAMAGES WHATSOEVER
+22   * RESULTING FROM LOSS  OF USE, DATA OR PROFITS, WHETHER  IN AN ACTION OF
+23   * CONTRACT, NEGLIGENCE  OR OTHER TORTIOUS  ACTION, ARISING OUT OF  OR IN
+24   * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+25   *
+26   * Except as  contained in  this notice, the  name of a  copyright holder
+27   * shall not be used in advertising or otherwise to promote the sale, use
+28   * or other dealings in this Software without prior written authorization
+29   * of the copyright holder.
+30   *
+31   */
+32  
+33  package org.slf4j.osgi.logservice.impl;
+34  
+35  import org.osgi.framework.Bundle;
+36  import org.osgi.framework.ServiceFactory;
+37  import org.osgi.framework.ServiceRegistration;
+38  
+39  /**
+40   * <code>LogServiceFactory</code> creates LogService implementations.
+41   *
+42   * @author John Conlon
+43   * @version $Rev$, $Date$
+44   */
+45  public class LogServiceFactory implements ServiceFactory {
+46      /* (non-Javadoc)
+47       * @see org.osgi.framework.ServiceFactory#getService(org.osgi.framework.Bundle, org.osgi.framework.ServiceRegistration)
+48       */
+49      public Object getService(Bundle bundle, ServiceRegistration arg1) {
+50          return new LogServiceImpl(bundle);
+51      }
+52  
+53  
+54      /* (non-Javadoc)
+55       * @see org.osgi.framework.ServiceFactory#ungetService(org.osgi.framework.Bundle, org.osgi.framework.ServiceRegistration, java.lang.Object)
+56       */
+57      public void ungetService(Bundle bundle, ServiceRegistration arg1, Object arg2) {
+58          //nothing to do.
+59      }
+60  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/osgi/logservice/impl/LogServiceImpl.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/osgi/logservice/impl/LogServiceImpl.html new file mode 100644 index 0000000..df8b18e --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/osgi/logservice/impl/LogServiceImpl.html @@ -0,0 +1,223 @@ + + + + +LogServiceImpl xref + + + +
+
+1   /*
+2    * Copyright (c) 2004-2005 QOS.ch
+3    *
+4    * All rights reserved.
+5    *
+6    * Permission is hereby granted, free of charge, to any person obtaining
+7    * a copy of this software and associated documentation files (the
+8    * "Software"), to  deal in  the Software without  restriction, including
+9    * without limitation  the rights to  use, copy, modify,  merge, publish,
+10   * distribute, and/or sell copies of  the Software, and to permit persons
+11   * to whom  the Software is furnished  to do so, provided  that the above
+12   * copyright notice(s) and this permission notice appear in all copies of
+13   * the  Software and  that both  the above  copyright notice(s)  and this
+14   * permission notice appear in supporting documentation.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY, FITNESS FOR  A PARTICULAR PURPOSE AND NONINFRINGEMENT
+19   * OF  THIRD PARTY  RIGHTS. IN  NO EVENT  SHALL THE  COPYRIGHT  HOLDER OR
+20   * HOLDERS  INCLUDED IN  THIS  NOTICE BE  LIABLE  FOR ANY  CLAIM, OR  ANY
+21   * SPECIAL INDIRECT  OR CONSEQUENTIAL DAMAGES, OR  ANY DAMAGES WHATSOEVER
+22   * RESULTING FROM LOSS  OF USE, DATA OR PROFITS, WHETHER  IN AN ACTION OF
+23   * CONTRACT, NEGLIGENCE  OR OTHER TORTIOUS  ACTION, ARISING OUT OF  OR IN
+24   * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+25   *
+26   * Except as  contained in  this notice, the  name of a  copyright holder
+27   * shall not be used in advertising or otherwise to promote the sale, use
+28   * or other dealings in this Software without prior written authorization
+29   * of the copyright holder.
+30   *
+31   */
+32  
+33  package org.slf4j.osgi.logservice.impl;
+34  
+35  import org.osgi.framework.Bundle;
+36  import org.osgi.framework.ServiceReference;
+37  import org.osgi.framework.Version;
+38  import org.osgi.service.log.LogService;
+39  import org.slf4j.Logger;
+40  import org.slf4j.LoggerFactory;
+41  
+42  /**
+43   * <code>LogServiceImpl</code> is a simple OSGi LogService implementation that delegates to a slf4j
+44   * Logger.
+45   *
+46   * @author John Conlon
+47   * @author Matt Bishop
+48   */
+49  public class LogServiceImpl implements LogService {
+50  
+51  	private static final String UNKNOWN = "[Unknown]";
+52  
+53  	private final Logger delegate;
+54  
+55  
+56  	/**
+57  	 * Creates a new instance of LogServiceImpl.
+58  	 *
+59  	 * @param bundle The bundle to create a new LogService for.
+60  	 */
+61  	public LogServiceImpl(Bundle bundle) {
+62  
+63  		String name = bundle.getSymbolicName();
+64  		Version version = bundle.getVersion();
+65  		if (version == null) {
+66  			version = Version.emptyVersion;
+67  		}
+68  		delegate = LoggerFactory.getLogger(name + '.' + version);
+69  	}
+70  
+71  	/*
+72  	 * (non-Javadoc)
+73  	 *
+74  	 * @see org.osgi.service.log.LogService#log(int, java.lang.String)
+75  	 */
+76  	public void log(int level, String message) {
+77  
+78  		switch (level) {
+79  		case LOG_DEBUG:
+80  			delegate.debug(message);
+81  			break;
+82  		case LOG_ERROR:
+83  			delegate.error(message);
+84  			break;
+85  		case LOG_INFO:
+86  			delegate.info(message);
+87  			break;
+88  		case LOG_WARNING:
+89  			delegate.warn(message);
+90  			break;
+91  		default:
+92  			break;
+93  		}
+94  	}
+95  
+96  	/*
+97  	 * (non-Javadoc)
+98  	 *
+99  	 * @see org.osgi.service.log.LogService#log(int, java.lang.String,
+100 	 *      java.lang.Throwable)
+101 	 */
+102 	public void log(int level, String message, Throwable exception) {
+103 
+104 		switch (level) {
+105 		case LOG_DEBUG:
+106 			delegate.debug(message, exception);
+107 			break;
+108 		case LOG_ERROR:
+109 			delegate.error(message, exception);
+110 			break;
+111 		case LOG_INFO:
+112 			delegate.info(message, exception);
+113 			break;
+114 		case LOG_WARNING:
+115 			delegate.warn(message, exception);
+116 			break;
+117 		default:
+118 			break;
+119 		}
+120 	}
+121 
+122 	/*
+123 	 * (non-Javadoc)
+124 	 *
+125 	 * @see org.osgi.service.log.LogService#log(org.osgi.framework.ServiceReference,
+126 	 *      int, java.lang.String)
+127 	 */
+128 	public void log(ServiceReference sr, int level, String message) {
+129 
+130 		switch (level) {
+131 		case LOG_DEBUG:
+132 			if(delegate.isDebugEnabled()){
+133 				delegate.debug(createMessage(sr, message));
+134 			}
+135 			break;
+136 		case LOG_ERROR:
+137 			if(delegate.isErrorEnabled()){
+138 				delegate.error(createMessage(sr, message));
+139 			}
+140 			break;
+141 		case LOG_INFO:
+142 			if(delegate.isInfoEnabled()){
+143 				delegate.info(createMessage(sr, message));
+144 			}
+145 			break;
+146 		case LOG_WARNING:
+147 			if(delegate.isWarnEnabled()){
+148 				delegate.warn(createMessage(sr, message));
+149 			}
+150 			break;
+151 		default:
+152 			break;
+153 		}
+154 	}
+155 
+156 	/**
+157 	 * Formats the log message to indicate the service sending it, if known.
+158 	 *
+159 	 * @param sr the ServiceReference sending the message.
+160 	 * @param message The message to log.
+161 	 * @return The formatted log message.
+162 	 */
+163 	private String createMessage(ServiceReference sr, String message) {
+164 
+165 		StringBuilder output = new StringBuilder();
+166 		if (sr != null) {
+167 			output.append('[').append(sr.toString()).append(']');
+168 		} else {
+169 			output.append(UNKNOWN);
+170 		}
+171 		output.append(message);
+172 
+173 		return output.toString();
+174 	}
+175 
+176 	/*
+177 	 * (non-Javadoc)
+178 	 *
+179 	 * @see org.osgi.service.log.LogService#log(org.osgi.framework.ServiceReference,
+180 	 *      int, java.lang.String, java.lang.Throwable)
+181 	 */
+182 	public void log(ServiceReference sr, int level, String message, Throwable exception) {
+183 
+184 		switch (level) {
+185 		case LOG_DEBUG:
+186 			if(delegate.isDebugEnabled()){
+187 				delegate.debug(createMessage(sr, message), exception);
+188 			}
+189 			break;
+190 		case LOG_ERROR:
+191 			if(delegate.isErrorEnabled()){
+192 				delegate.error(createMessage(sr, message), exception);
+193 			}
+194 			break;
+195 		case LOG_INFO:
+196 			if(delegate.isInfoEnabled()){
+197 				delegate.info(createMessage(sr, message), exception);
+198 			}
+199 			break;
+200 		case LOG_WARNING:
+201 			if(delegate.isWarnEnabled()){
+202 				delegate.warn(createMessage(sr, message), exception);
+203 			}
+204 			break;
+205 		default:
+206 			break;
+207 		}
+208 	}
+209 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/osgi/logservice/impl/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/osgi/logservice/impl/package-frame.html new file mode 100644 index 0000000..bec134d --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/osgi/logservice/impl/package-frame.html @@ -0,0 +1,30 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.osgi.logservice.impl + + + + +

+ org.slf4j.osgi.logservice.impl +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/osgi/logservice/impl/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/osgi/logservice/impl/package-summary.html new file mode 100644 index 0000000..c56b057 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/osgi/logservice/impl/package-summary.html @@ -0,0 +1,77 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.osgi.logservice.impl + + + +
+ +
+
+ +
+ +

Package org.slf4j.osgi.logservice.impl

+ + + + + + + + + + + + + + + + + + +
Class Summary
+ Activator +
+ LogServiceFactory +
+ LogServiceImpl +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/package-frame.html new file mode 100644 index 0000000..57e4972 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/package-frame.html @@ -0,0 +1,45 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j + + + + +

+ org.slf4j +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/package-summary.html new file mode 100644 index 0000000..9d7bef8 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/package-summary.html @@ -0,0 +1,102 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j + + + +
+ +
+
+ +
+ +

Package org.slf4j

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class Summary
+ ILoggerFactory +
+ IMarkerFactory +
+ Logger +
+ LoggerFactory +
+ MDC +
+ Marker +
+ MarkerFactory +
+ NDC +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/profiler/DurationUnit.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/profiler/DurationUnit.html new file mode 100644 index 0000000..1ecc596 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/profiler/DurationUnit.html @@ -0,0 +1,49 @@ + + + + +DurationUnit xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.profiler;
+26  
+27  /**
+28   * An enum of supported time units.
+29   * 
+30   * @author Ceki 
+31   *
+32   */
+33  public enum DurationUnit {
+34    NANOSECOND, MICROSECOND, MILLISSECOND, SECOND;
+35  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/profiler/Profiler.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/profiler/Profiler.html new file mode 100644 index 0000000..c1dc324 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/profiler/Profiler.html @@ -0,0 +1,290 @@ + + + + +Profiler xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.profiler;
+26  
+27  import java.util.ArrayList;
+28  import java.util.List;
+29  
+30  import org.slf4j.Logger;
+31  import org.slf4j.Marker;
+32  import org.slf4j.MarkerFactory;
+33  
+34  
+35  // +  Profiler [BAS]
+36  // |-- elapsed time            [doX]     0 milliseconds.
+37  // |-- elapsed time        [doYYYYY]    56 milliseconds.
+38  // |--+ Profiler Y
+39  //    |-- elapsed time            [doZ]    21 milliseconds.
+40  //    |-- elapsed time            [doZ]    21 milliseconds.
+41  //    |-- Total elapsed time        [Y]    78 milliseconds.
+42  // |-- elapsed time            [doZ]    21 milliseconds.
+43  // |-- Total elapsed time      [BAS]    78 milliseconds.
+44  
+45  
+46  /**
+47   * A poor man's profiler to measure the time elapsed performing some lengthy
+48   * task.
+49   * 
+50   * @author Ceki G&uuml;lc&uuml;
+51   */
+52  public class Profiler implements TimeInstrument {
+53  
+54    final static String PROFILER_MARKER_NAME = "PROFILER";
+55  
+56    final static int MIN_SW_NAME_LENGTH = 24;
+57    final static int MIN_SW_ELAPSED_TIME_NUMBER_LENGTH = 9;
+58  
+59    final String name;
+60    final StopWatch globalStopWatch;
+61  
+62    List<TimeInstrument> childTimeInstrumentList = new ArrayList<TimeInstrument>();
+63  
+64    // optional field
+65    ProfilerRegistry profilerRegistry;
+66    // optional field
+67    Logger logger;
+68  
+69    public Profiler(String name) {
+70      this.name = name;
+71      this.globalStopWatch = new StopWatch(name);
+72    }
+73  
+74    public String getName() {
+75      return name;
+76    }
+77  
+78    public ProfilerRegistry getProfilerRegistry() {
+79      return profilerRegistry;
+80    }
+81  
+82    public void registerWith(ProfilerRegistry profilerRegistry) {
+83      if (profilerRegistry == null) {
+84        return;
+85      }
+86      this.profilerRegistry = profilerRegistry;
+87      profilerRegistry.put(this);
+88    }
+89  
+90    public Logger getLogger() {
+91      return logger;
+92    }
+93  
+94    public void setLogger(Logger logger) {
+95      this.logger = logger;
+96    }
+97  
+98    /**
+99     * Starts a child stop watch and stops any previously started time
+100    * instruments.
+101    */
+102   public void start(String name) {
+103     stopLastTimeInstrument();
+104     StopWatch childSW = new StopWatch(name);
+105     childTimeInstrumentList.add(childSW);
+106   }
+107 
+108   public Profiler startNested(String name) {
+109     stopLastTimeInstrument();
+110     Profiler nestedProfiler = new Profiler(name);
+111     nestedProfiler.registerWith(profilerRegistry);
+112     nestedProfiler.setLogger(logger);
+113     childTimeInstrumentList.add(nestedProfiler);
+114     return nestedProfiler;
+115   }
+116 
+117   TimeInstrument getLastTimeInstrument() {
+118     if (childTimeInstrumentList.size() > 0) {
+119       return childTimeInstrumentList.get(childTimeInstrumentList.size() - 1);
+120     } else {
+121       return null;
+122     }
+123   }
+124 
+125   void stopLastTimeInstrument() {
+126     TimeInstrument last = getLastTimeInstrument();
+127     if (last != null) {
+128       last.stop();
+129     }
+130   }
+131 
+132   // void stopNestedProfilers() {
+133   // for (Object child : childTimeInstrumentList) {
+134   // if (child instanceof Profiler)
+135   // ((Profiler) child).stop();
+136   // }
+137   // }
+138 
+139   public long elapsedTime() {
+140     return globalStopWatch.elapsedTime();
+141   }
+142 
+143   public TimeInstrument stop() {
+144     stopLastTimeInstrument();
+145     globalStopWatch.stop();
+146     return this;
+147   }
+148 
+149   public TimeInstrumentStatus getStatus() {
+150     return globalStopWatch.status;
+151   }
+152 
+153   /**
+154    * This method is used in tests.
+155    */
+156   void sanityCheck() throws IllegalStateException {
+157     if (getStatus() != TimeInstrumentStatus.STOPPED) {
+158       throw new IllegalStateException("time instrument [" + getName()
+159           + " is not stopped");
+160     }
+161 
+162     long totalElapsed = globalStopWatch.elapsedTime();
+163     long childTotal = 0;
+164 
+165     for (TimeInstrument ti : childTimeInstrumentList) {
+166       childTotal += ti.elapsedTime();
+167       if (ti.getStatus() != TimeInstrumentStatus.STOPPED) {
+168         throw new IllegalStateException("time instrument [" + ti.getName()
+169             + " is not stopped");
+170       }
+171       if (ti instanceof Profiler) {
+172         Profiler nestedProfiler = (Profiler) ti;
+173         nestedProfiler.sanityCheck();
+174       }
+175     }
+176     if (totalElapsed < childTotal) {
+177       throw new IllegalStateException(
+178           "children have a higher accumulated elapsed time");
+179     }
+180   }
+181 
+182   static String TOP_PROFILER_FIRST_PREFIX = "+";
+183   static String NESTED_PROFILER_FIRST_PREFIX = "|---+";
+184   static String TOTAL_ELAPSED = " Total        ";
+185   static String SUBTOTAL_ELAPSED = " Subtotal     ";
+186   static String ELAPSED_TIME = " elapsed time ";
+187 
+188   public void print() {
+189     System.out.println(toString());
+190   }
+191 
+192   @Override
+193   public String toString() {
+194     DurationUnit du = Util.selectDurationUnitForDisplay(globalStopWatch);
+195     return buildProfilerString(du, TOP_PROFILER_FIRST_PREFIX, TOTAL_ELAPSED, "");
+196   }
+197 
+198   public void log() {
+199     Marker profilerMarker = MarkerFactory.getMarker(PROFILER_MARKER_NAME);
+200     if (logger == null) {
+201       throw new NullPointerException(
+202           "If you invoke the log() method, then you must associate a logger with this profiler.");
+203     }
+204     if (logger.isDebugEnabled(profilerMarker)) {
+205       DurationUnit du = Util.selectDurationUnitForDisplay(globalStopWatch);
+206       String r = buildProfilerString(du, TOP_PROFILER_FIRST_PREFIX,
+207           TOTAL_ELAPSED, "");
+208       logger.debug(profilerMarker, SpacePadder.LINE_SEP + r);
+209     }
+210   }
+211 
+212 
+213   /**
+214    * Return a copy of the child instrument list for this Profiler instance.
+215    * 
+216    * @return a copy of this instance's child time instrument list
+217    * @since 1.5.9
+218    */
+219   public List<TimeInstrument> getCopyOfChildTimeInstruments() {
+220     List<TimeInstrument> copy = new ArrayList<TimeInstrument>(childTimeInstrumentList);
+221     return copy;
+222   }
+223 
+224   /**
+225    * Return a copy of the global stopwath of this Profiler instance.
+226    * 
+227    * @return a copy of this instance's global stop watch
+228    * @since 1.5.9
+229    */
+230   public StopWatch getCopyOfGlobalStopWatch() {
+231     StopWatch copy = new StopWatch(globalStopWatch);
+232     return copy;
+233   }
+234   
+235   private String buildProfilerString(DurationUnit du, String firstPrefix,
+236       String label, String indentation) {
+237     StringBuffer buf = new StringBuffer();
+238 
+239     buf.append(firstPrefix);
+240     buf.append(" Profiler [");
+241     buf.append(name);
+242     buf.append("]");
+243     buf.append(SpacePadder.LINE_SEP);
+244     for (TimeInstrument child : childTimeInstrumentList) {
+245       if (child instanceof StopWatch) {
+246         buildStopWatchString(buf, du, ELAPSED_TIME, indentation,
+247             (StopWatch) child);
+248       } else if (child instanceof Profiler) {
+249         Profiler profiler = (Profiler) child;
+250         String subString = profiler.buildProfilerString(du,
+251             NESTED_PROFILER_FIRST_PREFIX, SUBTOTAL_ELAPSED, indentation
+252                 + "    ");
+253         buf.append(subString);
+254         buildStopWatchString(buf, du, ELAPSED_TIME, indentation,
+255             profiler.globalStopWatch);
+256       }
+257     }
+258     buildStopWatchString(buf, du, label, indentation, globalStopWatch);
+259     return buf.toString();
+260   }
+261 
+262   private static void buildStopWatchString(StringBuffer buf, DurationUnit du,
+263       String prefix, String indentation, StopWatch sw) {
+264 
+265     buf.append(indentation);
+266     buf.append("|--");
+267     buf.append(prefix);
+268     SpacePadder.leftPad(buf, "[" + sw.getName() + "]", MIN_SW_NAME_LENGTH);
+269     buf.append(" ");
+270     String timeStr = Util.durationInDurationUnitsAsStr(sw.elapsedTime(), du);
+271     SpacePadder.leftPad(buf, timeStr, MIN_SW_ELAPSED_TIME_NUMBER_LENGTH);
+272     buf.append(" ");
+273     Util.appendDurationUnitAsStr(buf, du);
+274     buf.append(SpacePadder.LINE_SEP);
+275   }
+276 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/profiler/ProfilerRegistry.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/profiler/ProfilerRegistry.html new file mode 100644 index 0000000..c02f01f --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/profiler/ProfilerRegistry.html @@ -0,0 +1,81 @@ + + + + +ProfilerRegistry xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.profiler;
+26  
+27  import java.util.HashMap;
+28  import java.util.Map;
+29  
+30  /**
+31   * A minimalist registry of profilers.
+32   * 
+33   * @author Ceki G&uuml;lc&uuml;
+34   */
+35  public class ProfilerRegistry {
+36  
+37    private static final InheritableThreadLocal<ProfilerRegistry> inheritableThreadLocal = new InheritableThreadLocal<ProfilerRegistry>();
+38  
+39    
+40    Map<String, Profiler> profilerMap = new HashMap<String, Profiler>();
+41  
+42    public void put(Profiler profiler) {
+43      put(profiler.getName(), profiler);
+44    }
+45    
+46    public void put(String name, Profiler profiler) {
+47      profilerMap.put(name, profiler);
+48    }
+49    
+50    
+51    public static ProfilerRegistry getThreadContextInstance() {
+52      ProfilerRegistry pr = inheritableThreadLocal.get();
+53      if(pr == null) {
+54        pr = new ProfilerRegistry();
+55        inheritableThreadLocal.set(pr);
+56      }
+57      return pr;
+58    }
+59    
+60    public Profiler get(String name) {
+61      return profilerMap.get(name);
+62    }
+63    
+64    public void clear() {
+65      profilerMap.clear();
+66    }
+67  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/profiler/SpacePadder.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/profiler/SpacePadder.html new file mode 100644 index 0000000..dcf1d1a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/profiler/SpacePadder.html @@ -0,0 +1,93 @@ + + + + +SpacePadder xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.profiler;
+26  
+27  public class SpacePadder {
+28    public static final String LINE_SEP = System.getProperty("line.separator");
+29    
+30    final static String[] SPACES = { " ", "  ", "    ", "        ", // 1,2,4,8
+31        // spaces
+32        "                ", // 16 spaces
+33        "                                " }; // 32 spaces
+34  
+35    final static public void leftPad(StringBuffer buf, String s, int desiredLength) {
+36      int actualLen = 0;
+37      if (s != null) {
+38        actualLen = s.length();
+39      }
+40      if (actualLen < desiredLength) {
+41        spacePad(buf, desiredLength - actualLen);
+42      }
+43      if (s != null) {
+44        buf.append(s);
+45      }
+46    }
+47  
+48    final static public void rightPad(StringBuffer buf, String s, int desiredLength) {
+49      int actualLen = 0;
+50      if (s != null) {
+51        actualLen = s.length();
+52      }
+53      if (s != null) {
+54        buf.append(s);
+55      }
+56      if (actualLen < desiredLength) {
+57        spacePad(buf, desiredLength - actualLen);
+58      }
+59    }
+60    
+61    /**
+62     * Fast space padding method.
+63     * 
+64     * @param sbuf the buffer to pad
+65     * @param length the target size of the buffer after padding
+66     */
+67    final static public void spacePad(StringBuffer sbuf, int length) {
+68      while (length >= 32) {
+69        sbuf.append(SPACES[5]);
+70        length -= 32;
+71      }
+72  
+73      for (int i = 4; i >= 0; i--) {
+74        if ((length & (1 << i)) != 0) {
+75          sbuf.append(SPACES[i]);
+76        }
+77      }
+78    }
+79  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/profiler/StopWatch.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/profiler/StopWatch.html new file mode 100644 index 0000000..f5449e2 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/profiler/StopWatch.html @@ -0,0 +1,131 @@ + + + + +StopWatch xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.profiler;
+26  
+27  /**
+28   * A very basic @{link TimeInstrument} which can be started and stopped 
+29   * once and only once.
+30   * 
+31   * @author Ceki G&uuml;lc&uuml;
+32   *
+33   */
+34  public class StopWatch implements TimeInstrument {
+35  
+36    private String name;
+37    private long startTime;
+38    private long stopTime;
+39    TimeInstrumentStatus status;
+40  
+41    public StopWatch(String name) {
+42      start(name);
+43    }
+44  
+45    StopWatch(StopWatch original) {
+46      this.name = original.name;
+47      this.startTime = original.startTime;
+48      this.stopTime = original.stopTime;
+49      this.status = original.status;
+50    }
+51  
+52    
+53    public void start(String name) {
+54      this.name = name;
+55      startTime = System.nanoTime();
+56      status = TimeInstrumentStatus.STARTED;
+57    }
+58    
+59    public String getName() {
+60      return name;
+61    }
+62  
+63    public TimeInstrument stop() {
+64      if(status == TimeInstrumentStatus.STOPPED) {
+65        return this;
+66      } 
+67      return stop(System.nanoTime());
+68    }
+69  
+70    public StopWatch stop(long stopTime) {
+71      this.status = TimeInstrumentStatus.STOPPED;
+72      this.stopTime = stopTime;
+73      return this;
+74    }
+75    
+76    @Override
+77    public String toString() {
+78      StringBuffer buf = new StringBuffer();
+79      buf.append("StopWatch [");
+80      buf.append(name);
+81      buf.append("] ");
+82  
+83      switch (status) {
+84      case STARTED:
+85        buf.append("STARTED");
+86        break;
+87      case STOPPED:
+88        buf.append("elapsed time: ");
+89        buf.append(Util.durationInDurationUnitsAsStr(elapsedTime(), DurationUnit.MICROSECOND));
+90        break;
+91      default:
+92        throw new IllegalStateException("Status " + status + " is not expected");
+93      }
+94      return buf.toString();
+95    }
+96  
+97    public final long elapsedTime() {
+98      if (status == TimeInstrumentStatus.STARTED) {
+99        return 0;
+100     } else {
+101       return stopTime - startTime;
+102     }
+103   }
+104 
+105   public TimeInstrumentStatus getStatus() {
+106     return status;
+107   }
+108 
+109   public void print() {
+110    System.out.println(toString());
+111   }
+112   
+113   public void log() {
+114     throw new UnsupportedOperationException("A stopwatch instance does not know how to log");
+115   }
+116   
+117 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/profiler/TimeInstrument.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/profiler/TimeInstrument.html new file mode 100644 index 0000000..b848d64 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/profiler/TimeInstrument.html @@ -0,0 +1,93 @@ + + + + +TimeInstrument xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.profiler;
+26  
+27  
+28  /**
+29   * This interface sets the methods that must be implemented by 
+30   * {@link Profiler} and {@link  StopWatch} classes. It settles the 
+31   * general feel of the profiler package.
+32   * 
+33   * @author Ceki G&uuml;lc&uuml;
+34   *
+35   */
+36  public interface TimeInstrument {
+37  
+38    /**
+39     * All time instruments are named entities.
+40     * @return the name of this instrument
+41     */
+42    String getName();
+43    
+44    
+45    TimeInstrumentStatus getStatus();
+46    
+47    /**
+48     * Start tis time instrument.
+49     * 
+50     * @param name
+51     */
+52    void start(String name);
+53    
+54    /**
+55     * Stop this time instrument.
+56     * 
+57     * @return this
+58     */
+59    TimeInstrument stop();
+60  
+61    /**
+62     * Time elapsed between start and stop, in nanoseconds.
+63     * 
+64     * @return time elapsed in nanoseconds
+65     */
+66    long elapsedTime();
+67    
+68    /**
+69     * Print information about this time instrument on the console.
+70     */
+71    void print();
+72    
+73    /**
+74     * If the time instrument has an associated logger, then log information about 
+75     * this time instrument. Note that {@link StopWatch} instances cannot log while {@link Profiler}
+76     * instances can.
+77     */
+78    void log();
+79  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/profiler/TimeInstrumentStatus.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/profiler/TimeInstrumentStatus.html new file mode 100644 index 0000000..cf02be7 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/profiler/TimeInstrumentStatus.html @@ -0,0 +1,55 @@ + + + + +TimeInstrumentStatus xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  
+26  
+27  /**
+28   * A StopWatch can be in two states: STARTED or STOPPED.
+29   */
+30  
+31  package org.slf4j.profiler;
+32  
+33  /**
+34   * A time instrument can be in STARTED or STOPPED status.
+35   * 
+36   * @author Ceki G&uuml;lc&uuml;
+37   *
+38   */
+39  enum TimeInstrumentStatus {
+40    STARTED, STOPPED;
+41  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/profiler/Util.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/profiler/Util.html new file mode 100644 index 0000000..0e4efbd --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/profiler/Util.html @@ -0,0 +1,128 @@ + + + + +Util xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.profiler;
+26  
+27  import java.text.DecimalFormat;
+28  
+29  /**
+30   * 
+31   * A collection of utility methods.
+32   * 
+33   * @author Ceki G&uuml;lc&uuml;
+34   *  
+35   */
+36  class Util {
+37  
+38    static final long NANOS_IN_ONE_MICROSECOND = 1000;
+39    static final long NANOS_IN_ONE_MILLISECOND = NANOS_IN_ONE_MICROSECOND * 1000;
+40    static final long NANOS_IN_ONE_SECOND =NANOS_IN_ONE_MILLISECOND * 1000;
+41    private static final DecimalFormat DECIMAL_FORMAT = new DecimalFormat("0.000");
+42    
+43    static DurationUnit selectDurationUnitForDisplay(StopWatch sw) {
+44      return selectDurationUnitForDisplay(sw.elapsedTime());
+45    }
+46    
+47    static DurationUnit selectDurationUnitForDisplay(long durationInNanos) {
+48      if (durationInNanos < 10*NANOS_IN_ONE_MICROSECOND) {
+49        return DurationUnit.NANOSECOND;
+50      } else if (durationInNanos < 10*NANOS_IN_ONE_MILLISECOND) {
+51        return DurationUnit.MICROSECOND;
+52      } else if (durationInNanos < 10*NANOS_IN_ONE_SECOND) {
+53        return DurationUnit.MILLISSECOND;
+54      } else {
+55        return DurationUnit.SECOND;
+56      }
+57    }
+58    
+59    static public double convertToMicros(long nanos) {
+60      return (double) nanos / NANOS_IN_ONE_MICROSECOND;
+61    }
+62  
+63    static public double convertToMillis(long nanos) {
+64      return (double) nanos / NANOS_IN_ONE_MILLISECOND;
+65    }
+66  
+67    static public double convertToSeconds(long nanos) {
+68      return ((double) nanos / NANOS_IN_ONE_SECOND);
+69    }
+70    
+71    static String durationInDurationUnitsAsStr(StringBuffer buf, StopWatch sw) {
+72      DurationUnit du = selectDurationUnitForDisplay(sw);
+73      return durationInDurationUnitsAsStr(sw.elapsedTime(), du);
+74    }
+75    
+76    static String durationInDurationUnitsAsStr(long nanos, DurationUnit durationUnit) {
+77      StringBuffer buf = new StringBuffer();
+78      switch (durationUnit) {
+79      case NANOSECOND:
+80        buf.append(nanos);
+81        break;
+82      case MICROSECOND:
+83        double micros = convertToMicros(nanos);
+84        buf.append(DECIMAL_FORMAT.format(micros));
+85        break;
+86      case MILLISSECOND:
+87        double millis = convertToMillis(nanos);
+88        buf.append(DECIMAL_FORMAT.format(millis));
+89        break;
+90      case SECOND:
+91        double seconds = convertToSeconds(nanos);
+92        buf.append(DECIMAL_FORMAT.format(seconds));
+93        break;
+94      }
+95      return buf.toString();
+96    }
+97    
+98    static void appendDurationUnitAsStr(StringBuffer buf, DurationUnit durationUnit) {
+99      switch (durationUnit) {
+100     case NANOSECOND:
+101       buf.append("nanoseconds.");
+102       break;
+103     case MICROSECOND:
+104       buf.append("microseconds.");
+105       break;
+106     case MILLISSECOND:
+107       buf.append("milliseconds.");
+108       break;
+109     case SECOND:
+110       buf.append(" seconds.");
+111       break;
+112     }
+113   }
+114 }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/profiler/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/profiler/package-frame.html new file mode 100644 index 0000000..c662202 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/profiler/package-frame.html @@ -0,0 +1,45 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.profiler + + + + +

+ org.slf4j.profiler +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/profiler/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/profiler/package-summary.html new file mode 100644 index 0000000..1b1a94a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/profiler/package-summary.html @@ -0,0 +1,102 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.profiler + + + +
+ +
+
+ +
+ +

Package org.slf4j.profiler

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Class Summary
+ DurationUnit +
+ Profiler +
+ ProfilerRegistry +
+ SpacePadder +
+ StopWatch +
+ TimeInstrument +
+ TimeInstrumentStatus +
+ Util +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/spi/LocationAwareLogger.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/spi/LocationAwareLogger.html new file mode 100644 index 0000000..39cb898 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/spi/LocationAwareLogger.html @@ -0,0 +1,75 @@ + + + + +LocationAwareLogger xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.spi;
+26  
+27  import org.slf4j.Logger;
+28  import org.slf4j.Marker;
+29  
+30  /**
+31   * An <b>optional</b> interface helping integration with logging systems capable of 
+32   * extracting location information. This interface is mainly used by SLF4J bridges 
+33   * such as jcl-over-slf4j, jul-to-slf4j and log4j-over-slf4j or {@link Logger} wrappers
+34   * which need to provide hints so that the underlying logging system can extract
+35   * the correct location information (method name, line number).
+36   *
+37   * @author Ceki Gulcu
+38   * @since 1.3
+39   */
+40  public interface LocationAwareLogger extends Logger {
+41  
+42    final public int TRACE_INT = 00;
+43    final public int DEBUG_INT = 10;
+44    final public int INFO_INT = 20;
+45    final public int WARN_INT = 30;
+46    final public int ERROR_INT = 40;
+47    
+48    
+49    /**
+50     * Printing method with support for location information. 
+51     * 
+52     * @param marker The marker to be used for this event, may be null.
+53     * @param fqcn The fully qualified class name of the <b>logger instance</b>,
+54     * typically the logger class, logger bridge or a logger wrapper.
+55     * @param level One of the level integers defined in this interface
+56     * @param message The message for the log event
+57     * @param t Throwable associated with the log event, may be null.
+58     */  
+59    public void log(Marker marker, String fqcn, int level, String message, Object[] argArray, Throwable t);
+60    
+61  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/spi/LoggerFactoryBinder.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/spi/LoggerFactoryBinder.html new file mode 100644 index 0000000..1b88fa6 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/spi/LoggerFactoryBinder.html @@ -0,0 +1,71 @@ + + + + +LoggerFactoryBinder xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.spi;
+26  
+27  import org.slf4j.ILoggerFactory;
+28  
+29  /**
+30   * An internal interface which helps the static {@link org.slf4j.LoggerFactory} 
+31   * class bind with the appropriate {@link ILoggerFactory} instance. 
+32   * 
+33   * @author Ceki G&uuml;lc&uuml;
+34   */
+35  public interface LoggerFactoryBinder {
+36  
+37    /**
+38     * Return the instance of {@link ILoggerFactory} that 
+39     * {@link org.slf4j.LoggerFactory} class should bind to.
+40     * 
+41     * @return the instance of {@link ILoggerFactory} that 
+42     * {@link org.slf4j.LoggerFactory} class should bind to.
+43     */
+44    public ILoggerFactory getLoggerFactory();
+45  
+46    /**
+47     * The String form of the {@link ILoggerFactory} object that this 
+48     * <code>LoggerFactoryBinder</code> instance is <em>intended</em> to return. 
+49     * 
+50     * <p>This method allows the developer to intterogate this binder's intention 
+51     * which may be different from the {@link ILoggerFactory} instance it is able to 
+52     * yield in practice. The discrepency should only occur in case of errors.
+53     * 
+54     * @return the class name of the intended {@link ILoggerFactory} instance
+55     */
+56    public String getLoggerFactoryClassStr();
+57  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/spi/MDCAdapter.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/spi/MDCAdapter.html new file mode 100644 index 0000000..a6c13fd --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/spi/MDCAdapter.html @@ -0,0 +1,105 @@ + + + + +MDCAdapter xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.spi;
+26  
+27  import java.util.Map;
+28  
+29  /**
+30   * This interface abstracts the service offered by various MDC
+31   * implementations.
+32   * 
+33   * @author Ceki G&uuml;lc&uuml;
+34   * @since 1.4.1
+35   */
+36  public interface MDCAdapter {
+37  
+38    /**
+39     * Put a context value (the <code>val</code> parameter) as identified with
+40     * the <code>key</code> parameter into the current thread's context map. 
+41     * The <code>key</code> parameter cannot be null. The code>val</code> parameter 
+42     * can be null only if the underlying implementation supports it.
+43     * 
+44     * <p>If the current thread does not have a context map it is created as a side
+45     * effect of this call.
+46     */
+47    public void put(String key, String val);
+48  
+49    /**
+50     * Get the context identified by the <code>key</code> parameter.
+51     * The <code>key</code> parameter cannot be null.
+52     * 
+53     * @return the string value identified by the <code>key</code> parameter.
+54     */
+55    public String get(String key);
+56  
+57    /**
+58     * Remove the the context identified by the <code>key</code> parameter. 
+59     * The <code>key</code> parameter cannot be null. 
+60     * 
+61     * <p>
+62     * This method does nothing if there is no previous value 
+63     * associated with <code>key</code>.
+64     */
+65    public void remove(String key);
+66  
+67    /**
+68     * Clear all entries in the MDC.
+69     */
+70    public void clear();
+71  
+72    /**
+73     * Return a copy of the current thread's context map, with keys and 
+74     * values of type String. Returned value may be null.
+75     * 
+76     * @return A copy of the current thread's context map. May be null.
+77     * @since 1.5.1
+78     */
+79    public Map getCopyOfContextMap();
+80    
+81    /**
+82     * Set the current thread's context map by first clearing any existing 
+83     * map and then copying the map passed as parameter. The context map 
+84     * parameter must only contain keys and values of type String.
+85     * 
+86     * @param contextMap must contain only keys and values of type String
+87     * 
+88     * @since 1.5.1
+89     */
+90    public void setContextMap(Map contextMap);
+91  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/spi/MarkerFactoryBinder.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/spi/MarkerFactoryBinder.html new file mode 100644 index 0000000..6ba261f --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/spi/MarkerFactoryBinder.html @@ -0,0 +1,72 @@ + + + + +MarkerFactoryBinder xref + + + +
+
+1   /**
+2    * Copyright (c) 2004-2011 QOS.ch
+3    * All rights reserved.
+4    *
+5    * Permission is hereby granted, free  of charge, to any person obtaining
+6    * a  copy  of this  software  and  associated  documentation files  (the
+7    * "Software"), to  deal in  the Software without  restriction, including
+8    * without limitation  the rights to  use, copy, modify,  merge, publish,
+9    * distribute,  sublicense, and/or sell  copies of  the Software,  and to
+10   * permit persons to whom the Software  is furnished to do so, subject to
+11   * the following conditions:
+12   *
+13   * The  above  copyright  notice  and  this permission  notice  shall  be
+14   * included in all copies or substantial portions of the Software.
+15   *
+16   * THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
+17   * EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
+18   * MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
+19   * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+20   * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+21   * OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
+22   * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+23   *
+24   */
+25  package org.slf4j.spi;
+26  
+27  import org.slf4j.IMarkerFactory;
+28  
+29  
+30  /**
+31   * An internal interface which helps the static {@link org.slf4j.MarkerFactory} 
+32   * class bind with the appropriate {@link IMarkerFactory} instance. 
+33   * 
+34   * @author Ceki G&uuml;lc&uuml;
+35   */
+36  public interface MarkerFactoryBinder {
+37  
+38    /**
+39     * Return the instance of {@link IMarkerFactory} that 
+40     * {@link org.slf4j.MarkerFactory} class should bind to.
+41     * 
+42     * @return the instance of {@link IMarkerFactory} that 
+43     * {@link org.slf4j.MarkerFactory} class should bind to.
+44     */
+45    public IMarkerFactory getMarkerFactory();
+46  
+47    /**
+48     * The String form of the {@link IMarkerFactory} object that this 
+49     * <code>MarkerFactoryBinder</code> instance is <em>intended</em> to return. 
+50     * 
+51     * <p>This method allows the developer to intterogate this binder's intention 
+52     * which may be different from the {@link IMarkerFactory} instance it is able to 
+53     * return. Such a discrepency should only occur in case of errors.
+54     * 
+55     * @return the class name of the intended {@link IMarkerFactory} instance
+56     */
+57    public String getMarkerFactoryClassStr();
+58  }
+
+
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/spi/package-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/spi/package-frame.html new file mode 100644 index 0000000..bc44e00 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/spi/package-frame.html @@ -0,0 +1,33 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.spi + + + + +

+ org.slf4j.spi +

+ +

Classes

+ + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/spi/package-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/spi/package-summary.html new file mode 100644 index 0000000..7c53af4 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/org/slf4j/spi/package-summary.html @@ -0,0 +1,82 @@ + + + + + + SLF4J 1.7.5 Reference Package org.slf4j.spi + + + +
+ +
+
+ +
+ +

Package org.slf4j.spi

+ + + + + + + + + + + + + + + + + + + + + +
Class Summary
+ LocationAwareLogger +
+ LoggerFactoryBinder +
+ MDCAdapter +
+ MarkerFactoryBinder +
+ +
+ +
+
+ +
+
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/overview-frame.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/overview-frame.html new file mode 100644 index 0000000..22ab1bd --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/overview-frame.html @@ -0,0 +1,85 @@ + + + + + + SLF4J 1.7.5 Reference + + + + +

+ All Classes +

+ +

Packages

+ + + + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/overview-summary.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/overview-summary.html new file mode 100644 index 0000000..2476a5a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/overview-summary.html @@ -0,0 +1,164 @@ + + + + + + SLF4J 1.7.5 Reference + + + +
+
    +
  • Overview
  • +
  • Package
  • +
+
+
+ +
+ +

SLF4J 1.7.5 Reference

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Packages
+ org.apache.commons.logging +
+ org.apache.commons.logging.impl +
+ org.apache.log4j +
+ org.apache.log4j.helpers +
+ org.apache.log4j.spi +
+ org.apache.log4j.xml +
+ org.slf4j +
+ org.slf4j.agent +
+ org.slf4j.bridge +
+ org.slf4j.cal10n +
+ org.slf4j.ext +
+ org.slf4j.helpers +
+ org.slf4j.impl +
+ org.slf4j.instrumentation +
+ org.slf4j.migrator +
+ org.slf4j.migrator.helper +
+ org.slf4j.migrator.internal +
+ org.slf4j.migrator.line +
+ org.slf4j.osgi.logservice.impl +
+ org.slf4j.profiler +
+ org.slf4j.spi +
+ +
+
    +
  • Overview
  • +
  • Package
  • +
+
+
+ +
+ +
+ Copyright © 2005-2013 QOS.ch. All Rights Reserved. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/stylesheet.css b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/stylesheet.css new file mode 100644 index 0000000..00e6114 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/site/xref/stylesheet.css @@ -0,0 +1,116 @@ +/* Javadoc style sheet */ +/* Define colors, fonts and other style attributes here to override the defaults */ +body { + background-color: #fff; + font-family: Arial, Helvetica, sans-serif; +} + +a:link { + color: #00f; +} +a:visited { + color: #00a; +} + +a:active, a:hover { + color: #f30 !important; +} + +ul, li { + list-style-type:none; + margin:0; + padding:0; +} + +table td { + padding: 3px; + border: 1px solid #000; +} +table { + width:100%; + border: 1px solid #000; + border-collapse: collapse; +} + +div.overview { + background-color:#ddd; + padding: 4px 4px 4px 0; +} +div.overview li, div.framenoframe li { + display: inline; +} +div.framenoframe { + text-align: center; + font-size: x-small; +} +div.framenoframe li { + margin: 0 3px 0 3px; +} +div.overview li { + margin:3px 3px 0 3px; + padding: 4px; +} +li.selected { + background-color:#888; + color: #fff; + font-weight: bold; +} + +table.summary { + margin-bottom: 20px; +} +table.summary td, table.summary th { + font-weight: bold; + text-align: left; + padding: 3px; +} +table.summary th { + background-color:#036; + color: #fff; +} +table.summary td { + background-color:#eee; + border: 1px solid black; +} + +em { + color: #A00; +} +em.comment { + color: #390; +} +.string { + color: #009; +} +div#footer { + text-align:center; +} +#overview { + padding:2px; +} + +hr { + height: 1px; + color: #000; +} + +/* JXR style sheet */ +.jxr_comment +{ + color: #390; +} + +.jxr_javadoccomment +{ + color: #A00; +} + +.jxr_string +{ + color: #009; +} + +.jxr_keyword +{ + color: #000; +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api-1.7.5-sources.jar b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api-1.7.5-sources.jar new file mode 100644 index 0000000..51abe2b Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api-1.7.5-sources.jar differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api-1.7.5.jar b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api-1.7.5.jar new file mode 100644 index 0000000..8766455 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api-1.7.5.jar differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/pom.xml b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/pom.xml new file mode 100644 index 0000000..2d06a08 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/pom.xml @@ -0,0 +1,89 @@ + + + + org.slf4j + slf4j-parent + 1.7.5 + + + 4.0.0 + + org.slf4j + slf4j-api + jar + SLF4J API Module + The slf4j API + + http://www.slf4j.org + + + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + once + plain + false + + **/AllTest.java + **/PackageTest.java + + + + + + org.apache.maven.plugins + maven-jar-plugin + + + + ${parsedVersion.osgiVersion} + ${project.description} + ${project.version} + + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + + + + + bundle-test-jar + package + + jar + test-jar + + + + + + + org.apache.maven.plugins + maven-antrun-plugin + + + process-classes + + run + + + + + + Removing slf4j-api's dummy StaticLoggerBinder and StaticMarkerBinder + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/ILoggerFactory.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/ILoggerFactory.java new file mode 100644 index 0000000..4b5eb27 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/ILoggerFactory.java @@ -0,0 +1,58 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j; + + +/** + * ILoggerFactory instances manufacture {@link Logger} + * instances by name. + * + *

Most users retrieve {@link Logger} instances through the static + * {@link LoggerFactory#getLogger(String)} method. An instance of of this + * interface is bound internally with {@link LoggerFactory} class at + * compile time. + * + * @author Ceki Gülcü + */ +public interface ILoggerFactory { + + /** + * Return an appropriate {@link Logger} instance as specified by the + * name parameter. + * + *

If the name parameter is equal to {@link Logger#ROOT_LOGGER_NAME}, that is + * the string value "ROOT" (case insensitive), then the root logger of the + * underlying logging system is returned. + * + *

Null-valued name arguments are considered invalid. + * + *

Certain extremely simple logging systems, e.g. NOP, may always + * return the same logger instance regardless of the requested name. + * + * @param name the name of the Logger to return + * @return a Logger instance + */ + public Logger getLogger(String name); +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/IMarkerFactory.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/IMarkerFactory.java new file mode 100644 index 0000000..8ec5a75 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/IMarkerFactory.java @@ -0,0 +1,83 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j; + + +/** + * Implementaitons of this interface are used to manufacture {@link Marker} + * instances. + * + *

See the section Implementing + * the SLF4J API in the FAQ for details on how to make your logging + * system conform to SLF4J. + * + * @author Ceki Gülcü + */ +public interface IMarkerFactory { + + /** + * Manufacture a {@link Marker} instance by name. If the instance has been + * created earlier, return the previously created instance. + * + *

Null name values are not allowed. + * + * @param name the name of the marker to be created, null value is + * not allowed. + * + * @return a Marker instance + */ + Marker getMarker(String name); + + /** + * Checks if the marker with the name already exists. If name is null, then false + * is returned. + * + * @param name logger name to check for + * @return true id the marker exists, false otherwise. + */ + boolean exists(String name); + + /** + * Detach an existing marker. + *

+ * Note that after a marker is detached, there might still be "dangling" references + * to the detached marker. + * + * + * @param name The name of the marker to detach + * @return whether the marker could be detached or not + */ + boolean detachMarker(String name); + + + /** + * Create a marker which is detached (even at birth) from this IMarkerFactory. + * + * @param name marker name + * @return a dangling marker + * @since 1.5.1 + */ + Marker getDetachedMarker(String name); +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/Logger.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/Logger.java new file mode 100644 index 0000000..e39727c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/Logger.java @@ -0,0 +1,748 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +package org.slf4j; + +/** + * The org.slf4j.Logger interface is the main user entry point of SLF4J API. + * It is expected that logging takes place through concrete implementations + * of this interface. + *

+ *

Typical usage pattern:

+ *
+ * import org.slf4j.Logger;
+ * import org.slf4j.LoggerFactory;
+ *
+ * public class Wombat {
+ *
+ *   final static Logger logger = LoggerFactory.getLogger(Wombat.class);
+ *   Integer t;
+ *   Integer oldT;
+ *
+ *   public void setTemperature(Integer temperature) {
+ *     oldT = t;
+ *     t = temperature;
+ *     logger.debug("Temperature set to {}. Old temperature was {}.", t, oldT);
+ *     if(temperature.intValue() > 50) {
+ *       logger.info("Temperature has risen above 50 degrees.");
+ *     }
+ *   }
+ * }
+ * 
+ * + * Be sure to read the FAQ entry relating to parameterized + * logging. Note that logging statements can be parameterized in + * presence of an exception/throwable. + * + *

Once you are comfortable using loggers, i.e. instances of this interface, consider using + * MDC as well as Markers.

+ * + * @author Ceki Gülcü + */ +public interface Logger { + + + /** + * Case insensitive String constant used to retrieve the name of the root logger. + * + * @since 1.3 + */ + final public String ROOT_LOGGER_NAME = "ROOT"; + + /** + * Return the name of this Logger instance. + * @return name of this logger instance + */ + public String getName(); + + /** + * Is the logger instance enabled for the TRACE level? + * + * @return True if this Logger is enabled for the TRACE level, + * false otherwise. + * @since 1.4 + */ + public boolean isTraceEnabled(); + + + /** + * Log a message at the TRACE level. + * + * @param msg the message string to be logged + * @since 1.4 + */ + public void trace(String msg); + + + /** + * Log a message at the TRACE level according to the specified format + * and argument. + *

+ *

This form avoids superfluous object creation when the logger + * is disabled for the TRACE level.

+ * + * @param format the format string + * @param arg the argument + * @since 1.4 + */ + public void trace(String format, Object arg); + + + /** + * Log a message at the TRACE level according to the specified format + * and arguments. + *

+ *

This form avoids superfluous object creation when the logger + * is disabled for the TRACE level.

+ * + * @param format the format string + * @param arg1 the first argument + * @param arg2 the second argument + * @since 1.4 + */ + public void trace(String format, Object arg1, Object arg2); + + /** + * Log a message at the TRACE level according to the specified format + * and arguments. + *

+ *

This form avoids superfluous string concatenation when the logger + * is disabled for the TRACE level. However, this variant incurs the hidden + * (and relatively small) cost of creating an Object[] before invoking the method, + * even if this logger is disabled for TRACE. The variants taking {@link #trace(String, Object) one} and + * {@link #trace(String, Object, Object) two} arguments exist solely in order to avoid this hidden cost.

+ * + * @param format the format string + * @param arguments a list of 3 or more arguments + * @since 1.4 + */ + public void trace(String format, Object... arguments); + + /** + * Log an exception (throwable) at the TRACE level with an + * accompanying message. + * + * @param msg the message accompanying the exception + * @param t the exception (throwable) to log + * @since 1.4 + */ + public void trace(String msg, Throwable t); + + + /** + * Similar to {@link #isTraceEnabled()} method except that the + * marker data is also taken into account. + * + * @param marker The marker data to take into consideration + * @return True if this Logger is enabled for the TRACE level, + * false otherwise. + * + * @since 1.4 + */ + public boolean isTraceEnabled(Marker marker); + + /** + * Log a message with the specific Marker at the TRACE level. + * + * @param marker the marker data specific to this log statement + * @param msg the message string to be logged + * @since 1.4 + */ + public void trace(Marker marker, String msg); + + /** + * This method is similar to {@link #trace(String, Object)} method except that the + * marker data is also taken into consideration. + * + * @param marker the marker data specific to this log statement + * @param format the format string + * @param arg the argument + * @since 1.4 + */ + public void trace(Marker marker, String format, Object arg); + + + /** + * This method is similar to {@link #trace(String, Object, Object)} + * method except that the marker data is also taken into + * consideration. + * + * @param marker the marker data specific to this log statement + * @param format the format string + * @param arg1 the first argument + * @param arg2 the second argument + * @since 1.4 + */ + public void trace(Marker marker, String format, Object arg1, Object arg2); + + /** + * This method is similar to {@link #trace(String, Object...)} + * method except that the marker data is also taken into + * consideration. + * + * @param marker the marker data specific to this log statement + * @param format the format string + * @param argArray an array of arguments + * @since 1.4 + */ + public void trace(Marker marker, String format, Object... argArray); + + + /** + * This method is similar to {@link #trace(String, Throwable)} method except that the + * marker data is also taken into consideration. + * + * @param marker the marker data specific to this log statement + * @param msg the message accompanying the exception + * @param t the exception (throwable) to log + * @since 1.4 + */ + public void trace(Marker marker, String msg, Throwable t); + + + /** + * Is the logger instance enabled for the DEBUG level? + * + * @return True if this Logger is enabled for the DEBUG level, + * false otherwise. + */ + public boolean isDebugEnabled(); + + + /** + * Log a message at the DEBUG level. + * + * @param msg the message string to be logged + */ + public void debug(String msg); + + + /** + * Log a message at the DEBUG level according to the specified format + * and argument. + *

+ *

This form avoids superfluous object creation when the logger + * is disabled for the DEBUG level.

+ * + * @param format the format string + * @param arg the argument + */ + public void debug(String format, Object arg); + + + /** + * Log a message at the DEBUG level according to the specified format + * and arguments. + *

+ *

This form avoids superfluous object creation when the logger + * is disabled for the DEBUG level.

+ * + * @param format the format string + * @param arg1 the first argument + * @param arg2 the second argument + */ + public void debug(String format, Object arg1, Object arg2); + + /** + * Log a message at the DEBUG level according to the specified format + * and arguments. + *

+ *

This form avoids superfluous string concatenation when the logger + * is disabled for the DEBUG level. However, this variant incurs the hidden + * (and relatively small) cost of creating an Object[] before invoking the method, + * even if this logger is disabled for DEBUG. The variants taking + * {@link #debug(String, Object) one} and {@link #debug(String, Object, Object) two} + * arguments exist solely in order to avoid this hidden cost.

+ * + * @param format the format string + * @param arguments a list of 3 or more arguments + */ + public void debug(String format, Object... arguments); + + /** + * Log an exception (throwable) at the DEBUG level with an + * accompanying message. + * + * @param msg the message accompanying the exception + * @param t the exception (throwable) to log + */ + public void debug(String msg, Throwable t); + + + /** + * Similar to {@link #isDebugEnabled()} method except that the + * marker data is also taken into account. + * + * @param marker The marker data to take into consideration + * @return True if this Logger is enabled for the DEBUG level, + * false otherwise. + */ + public boolean isDebugEnabled(Marker marker); + + /** + * Log a message with the specific Marker at the DEBUG level. + * + * @param marker the marker data specific to this log statement + * @param msg the message string to be logged + */ + public void debug(Marker marker, String msg); + + /** + * This method is similar to {@link #debug(String, Object)} method except that the + * marker data is also taken into consideration. + * + * @param marker the marker data specific to this log statement + * @param format the format string + * @param arg the argument + */ + public void debug(Marker marker, String format, Object arg); + + + /** + * This method is similar to {@link #debug(String, Object, Object)} + * method except that the marker data is also taken into + * consideration. + * + * @param marker the marker data specific to this log statement + * @param format the format string + * @param arg1 the first argument + * @param arg2 the second argument + */ + public void debug(Marker marker, String format, Object arg1, Object arg2); + + /** + * This method is similar to {@link #debug(String, Object...)} + * method except that the marker data is also taken into + * consideration. + * + * @param marker the marker data specific to this log statement + * @param format the format string + * @param arguments a list of 3 or more arguments + */ + public void debug(Marker marker, String format, Object... arguments); + + + /** + * This method is similar to {@link #debug(String, Throwable)} method except that the + * marker data is also taken into consideration. + * + * @param marker the marker data specific to this log statement + * @param msg the message accompanying the exception + * @param t the exception (throwable) to log + */ + public void debug(Marker marker, String msg, Throwable t); + + + /** + * Is the logger instance enabled for the INFO level? + * + * @return True if this Logger is enabled for the INFO level, + * false otherwise. + */ + public boolean isInfoEnabled(); + + + /** + * Log a message at the INFO level. + * + * @param msg the message string to be logged + */ + public void info(String msg); + + + /** + * Log a message at the INFO level according to the specified format + * and argument. + *

+ *

This form avoids superfluous object creation when the logger + * is disabled for the INFO level.

+ * + * @param format the format string + * @param arg the argument + */ + public void info(String format, Object arg); + + + /** + * Log a message at the INFO level according to the specified format + * and arguments. + *

+ *

This form avoids superfluous object creation when the logger + * is disabled for the INFO level.

+ * + * @param format the format string + * @param arg1 the first argument + * @param arg2 the second argument + */ + public void info(String format, Object arg1, Object arg2); + + /** + * Log a message at the INFO level according to the specified format + * and arguments. + *

+ *

This form avoids superfluous string concatenation when the logger + * is disabled for the INFO level. However, this variant incurs the hidden + * (and relatively small) cost of creating an Object[] before invoking the method, + * even if this logger is disabled for INFO. The variants taking + * {@link #info(String, Object) one} and {@link #info(String, Object, Object) two} + * arguments exist solely in order to avoid this hidden cost.

+ * + * @param format the format string + * @param arguments a list of 3 or more arguments + */ + public void info(String format, Object... arguments); + + /** + * Log an exception (throwable) at the INFO level with an + * accompanying message. + * + * @param msg the message accompanying the exception + * @param t the exception (throwable) to log + */ + public void info(String msg, Throwable t); + + /** + * Similar to {@link #isInfoEnabled()} method except that the marker + * data is also taken into consideration. + * + * @param marker The marker data to take into consideration + * @return true if this logger is warn enabled, false otherwise + */ + public boolean isInfoEnabled(Marker marker); + + /** + * Log a message with the specific Marker at the INFO level. + * + * @param marker The marker specific to this log statement + * @param msg the message string to be logged + */ + public void info(Marker marker, String msg); + + /** + * This method is similar to {@link #info(String, Object)} method except that the + * marker data is also taken into consideration. + * + * @param marker the marker data specific to this log statement + * @param format the format string + * @param arg the argument + */ + public void info(Marker marker, String format, Object arg); + + /** + * This method is similar to {@link #info(String, Object, Object)} + * method except that the marker data is also taken into + * consideration. + * + * @param marker the marker data specific to this log statement + * @param format the format string + * @param arg1 the first argument + * @param arg2 the second argument + */ + public void info(Marker marker, String format, Object arg1, Object arg2); + + + /** + * This method is similar to {@link #info(String, Object...)} + * method except that the marker data is also taken into + * consideration. + * + * @param marker the marker data specific to this log statement + * @param format the format string + * @param arguments a list of 3 or more arguments + */ + public void info(Marker marker, String format, Object... arguments); + + + /** + * This method is similar to {@link #info(String, Throwable)} method + * except that the marker data is also taken into consideration. + * + * @param marker the marker data for this log statement + * @param msg the message accompanying the exception + * @param t the exception (throwable) to log + */ + public void info(Marker marker, String msg, Throwable t); + + + /** + * Is the logger instance enabled for the WARN level? + * + * @return True if this Logger is enabled for the WARN level, + * false otherwise. + */ + public boolean isWarnEnabled(); + + /** + * Log a message at the WARN level. + * + * @param msg the message string to be logged + */ + public void warn(String msg); + + /** + * Log a message at the WARN level according to the specified format + * and argument. + *

+ *

This form avoids superfluous object creation when the logger + * is disabled for the WARN level.

+ * + * @param format the format string + * @param arg the argument + */ + public void warn(String format, Object arg); + + + /** + * Log a message at the WARN level according to the specified format + * and arguments. + *

+ *

This form avoids superfluous string concatenation when the logger + * is disabled for the WARN level. However, this variant incurs the hidden + * (and relatively small) cost of creating an Object[] before invoking the method, + * even if this logger is disabled for WARN. The variants taking + * {@link #warn(String, Object) one} and {@link #warn(String, Object, Object) two} + * arguments exist solely in order to avoid this hidden cost.

+ * + * @param format the format string + * @param arguments a list of 3 or more arguments + */ + public void warn(String format, Object... arguments); + + /** + * Log a message at the WARN level according to the specified format + * and arguments. + *

+ *

This form avoids superfluous object creation when the logger + * is disabled for the WARN level.

+ * + * @param format the format string + * @param arg1 the first argument + * @param arg2 the second argument + */ + public void warn(String format, Object arg1, Object arg2); + + /** + * Log an exception (throwable) at the WARN level with an + * accompanying message. + * + * @param msg the message accompanying the exception + * @param t the exception (throwable) to log + */ + public void warn(String msg, Throwable t); + + + /** + * Similar to {@link #isWarnEnabled()} method except that the marker + * data is also taken into consideration. + * + * @param marker The marker data to take into consideration + * @return True if this Logger is enabled for the WARN level, + * false otherwise. + */ + public boolean isWarnEnabled(Marker marker); + + /** + * Log a message with the specific Marker at the WARN level. + * + * @param marker The marker specific to this log statement + * @param msg the message string to be logged + */ + public void warn(Marker marker, String msg); + + /** + * This method is similar to {@link #warn(String, Object)} method except that the + * marker data is also taken into consideration. + * + * @param marker the marker data specific to this log statement + * @param format the format string + * @param arg the argument + */ + public void warn(Marker marker, String format, Object arg); + + /** + * This method is similar to {@link #warn(String, Object, Object)} + * method except that the marker data is also taken into + * consideration. + * + * @param marker the marker data specific to this log statement + * @param format the format string + * @param arg1 the first argument + * @param arg2 the second argument + */ + public void warn(Marker marker, String format, Object arg1, Object arg2); + + /** + * This method is similar to {@link #warn(String, Object...)} + * method except that the marker data is also taken into + * consideration. + * + * @param marker the marker data specific to this log statement + * @param format the format string + * @param arguments a list of 3 or more arguments + */ + public void warn(Marker marker, String format, Object... arguments); + + + /** + * This method is similar to {@link #warn(String, Throwable)} method + * except that the marker data is also taken into consideration. + * + * @param marker the marker data for this log statement + * @param msg the message accompanying the exception + * @param t the exception (throwable) to log + */ + public void warn(Marker marker, String msg, Throwable t); + + + /** + * Is the logger instance enabled for the ERROR level? + * + * @return True if this Logger is enabled for the ERROR level, + * false otherwise. + */ + public boolean isErrorEnabled(); + + /** + * Log a message at the ERROR level. + * + * @param msg the message string to be logged + */ + public void error(String msg); + + /** + * Log a message at the ERROR level according to the specified format + * and argument. + *

+ *

This form avoids superfluous object creation when the logger + * is disabled for the ERROR level.

+ * + * @param format the format string + * @param arg the argument + */ + public void error(String format, Object arg); + + /** + * Log a message at the ERROR level according to the specified format + * and arguments. + *

+ *

This form avoids superfluous object creation when the logger + * is disabled for the ERROR level.

+ * + * @param format the format string + * @param arg1 the first argument + * @param arg2 the second argument + */ + public void error(String format, Object arg1, Object arg2); + + /** + * Log a message at the ERROR level according to the specified format + * and arguments. + *

+ *

This form avoids superfluous string concatenation when the logger + * is disabled for the ERROR level. However, this variant incurs the hidden + * (and relatively small) cost of creating an Object[] before invoking the method, + * even if this logger is disabled for ERROR. The variants taking + * {@link #error(String, Object) one} and {@link #error(String, Object, Object) two} + * arguments exist solely in order to avoid this hidden cost.

+ * + * @param format the format string + * @param arguments a list of 3 or more arguments + */ + public void error(String format, Object... arguments); + + /** + * Log an exception (throwable) at the ERROR level with an + * accompanying message. + * + * @param msg the message accompanying the exception + * @param t the exception (throwable) to log + */ + public void error(String msg, Throwable t); + + + /** + * Similar to {@link #isErrorEnabled()} method except that the + * marker data is also taken into consideration. + * + * @param marker The marker data to take into consideration + * @return True if this Logger is enabled for the ERROR level, + * false otherwise. + */ + public boolean isErrorEnabled(Marker marker); + + /** + * Log a message with the specific Marker at the ERROR level. + * + * @param marker The marker specific to this log statement + * @param msg the message string to be logged + */ + public void error(Marker marker, String msg); + + /** + * This method is similar to {@link #error(String, Object)} method except that the + * marker data is also taken into consideration. + * + * @param marker the marker data specific to this log statement + * @param format the format string + * @param arg the argument + */ + public void error(Marker marker, String format, Object arg); + + /** + * This method is similar to {@link #error(String, Object, Object)} + * method except that the marker data is also taken into + * consideration. + * + * @param marker the marker data specific to this log statement + * @param format the format string + * @param arg1 the first argument + * @param arg2 the second argument + */ + public void error(Marker marker, String format, Object arg1, Object arg2); + + /** + * This method is similar to {@link #error(String, Object...)} + * method except that the marker data is also taken into + * consideration. + * + * @param marker the marker data specific to this log statement + * @param format the format string + * @param arguments a list of 3 or more arguments + */ + public void error(Marker marker, String format, Object... arguments); + + + /** + * This method is similar to {@link #error(String, Throwable)} + * method except that the marker data is also taken into + * consideration. + * + * @param marker the marker data specific to this log statement + * @param msg the message accompanying the exception + * @param t the exception (throwable) to log + */ + public void error(Marker marker, String msg, Throwable t); + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/LoggerFactory.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/LoggerFactory.java new file mode 100644 index 0000000..3994188 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/LoggerFactory.java @@ -0,0 +1,311 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j; + +import java.io.IOException; +import java.net.URL; +import java.util.*; + +import org.slf4j.helpers.NOPLoggerFactory; +import org.slf4j.helpers.SubstituteLoggerFactory; +import org.slf4j.helpers.Util; +import org.slf4j.impl.StaticLoggerBinder; + +/** + * The LoggerFactory is a utility class producing Loggers for + * various logging APIs, most notably for log4j, logback and JDK 1.4 logging. + * Other implementations such as {@link org.slf4j.impl.NOPLogger NOPLogger} and + * {@link org.slf4j.impl.SimpleLogger SimpleLogger} are also supported. + *

+ *

+ * LoggerFactory is essentially a wrapper around an + * {@link ILoggerFactory} instance bound with LoggerFactory at + * compile time. + *

+ *

+ * Please note that all methods in LoggerFactory are static. + * + * @author Ceki Gülcü + * @author Robert Elliot + */ +public final class LoggerFactory { + + static final String CODES_PREFIX = "http://www.slf4j.org/codes.html"; + + static final String NO_STATICLOGGERBINDER_URL = CODES_PREFIX + "#StaticLoggerBinder"; + static final String MULTIPLE_BINDINGS_URL = CODES_PREFIX + "#multiple_bindings"; + static final String NULL_LF_URL = CODES_PREFIX + "#null_LF"; + static final String VERSION_MISMATCH = CODES_PREFIX + "#version_mismatch"; + static final String SUBSTITUTE_LOGGER_URL = CODES_PREFIX + "#substituteLogger"; + + static final String UNSUCCESSFUL_INIT_URL = CODES_PREFIX + "#unsuccessfulInit"; + static final String UNSUCCESSFUL_INIT_MSG = "org.slf4j.LoggerFactory could not be successfully initialized. See also " + + UNSUCCESSFUL_INIT_URL; + + static final int UNINITIALIZED = 0; + static final int ONGOING_INITIALIZATION = 1; + static final int FAILED_INITIALIZATION = 2; + static final int SUCCESSFUL_INITIALIZATION = 3; + static final int NOP_FALLBACK_INITIALIZATION = 4; + + static int INITIALIZATION_STATE = UNINITIALIZED; + static SubstituteLoggerFactory TEMP_FACTORY = new SubstituteLoggerFactory(); + static NOPLoggerFactory NOP_FALLBACK_FACTORY = new NOPLoggerFactory(); + + /** + * It is LoggerFactory's responsibility to track version changes and manage + * the compatibility list. + *

+ *

+ * It is assumed that all versions in the 1.6 are mutually compatible. + */ + static private final String[] API_COMPATIBILITY_LIST = new String[]{"1.6", "1.7"}; + + // private constructor prevents instantiation + private LoggerFactory() { + } + + /** + * Force LoggerFactory to consider itself uninitialized. + *

+ *

+ * This method is intended to be called by classes (in the same package) for + * testing purposes. This method is internal. It can be modified, renamed or + * removed at any time without notice. + *

+ *

+ * You are strongly discouraged from calling this method in production code. + */ + static void reset() { + INITIALIZATION_STATE = UNINITIALIZED; + TEMP_FACTORY = new SubstituteLoggerFactory(); + } + + private final static void performInitialization() { + bind(); + if (INITIALIZATION_STATE == SUCCESSFUL_INITIALIZATION) { + versionSanityCheck(); + } + } + + private static boolean messageContainsOrgSlf4jImplStaticLoggerBinder(String msg) { + if (msg == null) + return false; + if (msg.indexOf("org/slf4j/impl/StaticLoggerBinder") != -1) + return true; + if (msg.indexOf("org.slf4j.impl.StaticLoggerBinder") != -1) + return true; + return false; + } + + private final static void bind() { + try { + Set staticLoggerBinderPathSet = findPossibleStaticLoggerBinderPathSet(); + reportMultipleBindingAmbiguity(staticLoggerBinderPathSet); + // the next line does the binding + StaticLoggerBinder.getSingleton(); + INITIALIZATION_STATE = SUCCESSFUL_INITIALIZATION; + reportActualBinding(staticLoggerBinderPathSet); + emitSubstituteLoggerWarning(); + } catch (NoClassDefFoundError ncde) { + String msg = ncde.getMessage(); + if (messageContainsOrgSlf4jImplStaticLoggerBinder(msg)) { + INITIALIZATION_STATE = NOP_FALLBACK_INITIALIZATION; + Util.report("Failed to load class \"org.slf4j.impl.StaticLoggerBinder\"."); + Util.report("Defaulting to no-operation (NOP) logger implementation"); + Util.report("See " + NO_STATICLOGGERBINDER_URL + + " for further details."); + } else { + failedBinding(ncde); + throw ncde; + } + } catch (java.lang.NoSuchMethodError nsme) { + String msg = nsme.getMessage(); + if (msg != null && msg.indexOf("org.slf4j.impl.StaticLoggerBinder.getSingleton()") != -1) { + INITIALIZATION_STATE = FAILED_INITIALIZATION; + Util.report("slf4j-api 1.6.x (or later) is incompatible with this binding."); + Util.report("Your binding is version 1.5.5 or earlier."); + Util.report("Upgrade your binding to version 1.6.x."); + } + throw nsme; + } catch (Exception e) { + failedBinding(e); + throw new IllegalStateException("Unexpected initialization failure", e); + } + } + + static void failedBinding(Throwable t) { + INITIALIZATION_STATE = FAILED_INITIALIZATION; + Util.report("Failed to instantiate SLF4J LoggerFactory", t); + } + + private final static void emitSubstituteLoggerWarning() { + List loggerNameList = TEMP_FACTORY.getLoggerNameList(); + if (loggerNameList.size() == 0) { + return; + } + Util.report("The following loggers will not work because they were created"); + Util.report("during the default configuration phase of the underlying logging system."); + Util.report("See also " + SUBSTITUTE_LOGGER_URL); + for (int i = 0; i < loggerNameList.size(); i++) { + String loggerName = (String) loggerNameList.get(i); + Util.report(loggerName); + } + } + + private final static void versionSanityCheck() { + try { + String requested = StaticLoggerBinder.REQUESTED_API_VERSION; + + boolean match = false; + for (int i = 0; i < API_COMPATIBILITY_LIST.length; i++) { + if (requested.startsWith(API_COMPATIBILITY_LIST[i])) { + match = true; + } + } + if (!match) { + Util.report("The requested version " + requested + + " by your slf4j binding is not compatible with " + + Arrays.asList(API_COMPATIBILITY_LIST).toString()); + Util.report("See " + VERSION_MISMATCH + " for further details."); + } + } catch (java.lang.NoSuchFieldError nsfe) { + // given our large user base and SLF4J's commitment to backward + // compatibility, we cannot cry here. Only for implementations + // which willingly declare a REQUESTED_API_VERSION field do we + // emit compatibility warnings. + } catch (Throwable e) { + // we should never reach here + Util.report("Unexpected problem occured during version sanity check", e); + } + } + + // We need to use the name of the StaticLoggerBinder class, but we can't reference + // the class itself. + private static String STATIC_LOGGER_BINDER_PATH = "org/slf4j/impl/StaticLoggerBinder.class"; + + private static Set findPossibleStaticLoggerBinderPathSet() { + // use Set instead of list in order to deal with bug #138 + // LinkedHashSet appropriate here because it preserves insertion order during iteration + Set staticLoggerBinderPathSet = new LinkedHashSet(); + try { + ClassLoader loggerFactoryClassLoader = LoggerFactory.class + .getClassLoader(); + Enumeration paths; + if (loggerFactoryClassLoader == null) { + paths = ClassLoader.getSystemResources(STATIC_LOGGER_BINDER_PATH); + } else { + paths = loggerFactoryClassLoader + .getResources(STATIC_LOGGER_BINDER_PATH); + } + while (paths.hasMoreElements()) { + URL path = (URL) paths.nextElement(); + staticLoggerBinderPathSet.add(path); + } + } catch (IOException ioe) { + Util.report("Error getting resources from path", ioe); + } + return staticLoggerBinderPathSet; + } + + private static boolean isAmbiguousStaticLoggerBinderPathSet(Set staticLoggerBinderPathSet) { + return staticLoggerBinderPathSet.size() > 1; + } + + /** + * Prints a warning message on the console if multiple bindings were found on the class path. + * No reporting is done otherwise. + * + */ + private static void reportMultipleBindingAmbiguity(Set staticLoggerBinderPathSet) { + if (isAmbiguousStaticLoggerBinderPathSet(staticLoggerBinderPathSet)) { + Util.report("Class path contains multiple SLF4J bindings."); + Iterator iterator = staticLoggerBinderPathSet.iterator(); + while (iterator.hasNext()) { + URL path = (URL) iterator.next(); + Util.report("Found binding in [" + path + "]"); + } + Util.report("See " + MULTIPLE_BINDINGS_URL + " for an explanation."); + } + } + + private static void reportActualBinding(Set staticLoggerBinderPathSet) { + if (isAmbiguousStaticLoggerBinderPathSet(staticLoggerBinderPathSet)) { + Util.report("Actual binding is of type ["+StaticLoggerBinder.getSingleton().getLoggerFactoryClassStr()+"]"); + } + } + + + /** + * Return a logger named according to the name parameter using the statically + * bound {@link ILoggerFactory} instance. + * + * @param name The name of the logger. + * @return logger + */ + public static Logger getLogger(String name) { + ILoggerFactory iLoggerFactory = getILoggerFactory(); + return iLoggerFactory.getLogger(name); + } + + /** + * Return a logger named corresponding to the class passed as parameter, using + * the statically bound {@link ILoggerFactory} instance. + * + * @param clazz the returned logger will be named after clazz + * @return logger + */ + public static Logger getLogger(Class clazz) { + return getLogger(clazz.getName()); + } + + /** + * Return the {@link ILoggerFactory} instance in use. + *

+ *

+ * ILoggerFactory instance is bound with this class at compile time. + * + * @return the ILoggerFactory instance in use + */ + public static ILoggerFactory getILoggerFactory() { + if (INITIALIZATION_STATE == UNINITIALIZED) { + INITIALIZATION_STATE = ONGOING_INITIALIZATION; + performInitialization(); + } + switch (INITIALIZATION_STATE) { + case SUCCESSFUL_INITIALIZATION: + return StaticLoggerBinder.getSingleton().getLoggerFactory(); + case NOP_FALLBACK_INITIALIZATION: + return NOP_FALLBACK_FACTORY; + case FAILED_INITIALIZATION: + throw new IllegalStateException(UNSUCCESSFUL_INIT_MSG); + case ONGOING_INITIALIZATION: + // support re-entrant behavior. + // See also http://bugzilla.slf4j.org/show_bug.cgi?id=106 + return TEMP_FACTORY; + } + throw new IllegalStateException("Unreachable code"); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/MDC.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/MDC.java new file mode 100644 index 0000000..bdb30e8 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/MDC.java @@ -0,0 +1,218 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j; + +import java.util.Map; + +import org.slf4j.helpers.NOPMDCAdapter; +import org.slf4j.helpers.BasicMDCAdapter; +import org.slf4j.helpers.Util; +import org.slf4j.impl.StaticMDCBinder; +import org.slf4j.spi.MDCAdapter; + +/** + * This class hides and serves as a substitute for the underlying logging + * system's MDC implementation. + * + *

+ * If the underlying logging system offers MDC functionality, then SLF4J's MDC, + * i.e. this class, will delegate to the underlying system's MDC. Note that at + * this time, only two logging systems, namely log4j and logback, offer MDC + * functionality. For java.util.logging which does not support MDC, + * {@link BasicMDCAdapter} will be used. For other systems, i.e slf4j-simple + * and slf4j-nop, {@link NOPMDCAdapter} will be used. + * + *

+ * Thus, as a SLF4J user, you can take advantage of MDC in the presence of log4j, + * logback, or java.util.logging, but without forcing these systems as + * dependencies upon your users. + * + *

+ * For more information on MDC please see the chapter on MDC in the + * logback manual. + * + *

+ * Please note that all methods in this class are static. + * + * @author Ceki Gülcü + * @since 1.4.1 + */ +public class MDC { + + static final String NULL_MDCA_URL = "http://www.slf4j.org/codes.html#null_MDCA"; + static final String NO_STATIC_MDC_BINDER_URL = "http://www.slf4j.org/codes.html#no_static_mdc_binder"; + static MDCAdapter mdcAdapter; + + private MDC() { + } + + static { + try { + mdcAdapter = StaticMDCBinder.SINGLETON.getMDCA(); + } catch (NoClassDefFoundError ncde) { + mdcAdapter = new NOPMDCAdapter(); + String msg = ncde.getMessage(); + if (msg != null && msg.indexOf("StaticMDCBinder") != -1) { + Util.report("Failed to load class \"org.slf4j.impl.StaticMDCBinder\"."); + Util.report("Defaulting to no-operation MDCAdapter implementation."); + Util + .report("See " + NO_STATIC_MDC_BINDER_URL + " for further details."); + } else { + throw ncde; + } + } catch (Exception e) { + // we should never get here + Util.report("MDC binding unsuccessful.", e); + } + } + + /** + * Put a diagnostic context value (the val parameter) as identified with the + * key parameter into the current thread's diagnostic context map. The + * key parameter cannot be null. The val parameter + * can be null only if the underlying implementation supports it. + * + *

+ * This method delegates all work to the MDC of the underlying logging system. + * + * @param key non-null key + * @param val value to put in the map + * + * @throws IllegalArgumentException + * in case the "key" parameter is null + */ + public static void put(String key, String val) + throws IllegalArgumentException { + if (key == null) { + throw new IllegalArgumentException("key parameter cannot be null"); + } + if (mdcAdapter == null) { + throw new IllegalStateException("MDCAdapter cannot be null. See also " + + NULL_MDCA_URL); + } + mdcAdapter.put(key, val); + } + + /** + * Get the diagnostic context identified by the key parameter. The + * key parameter cannot be null. + * + *

+ * This method delegates all work to the MDC of the underlying logging system. + * + * @param key + * @return the string value identified by the key parameter. + * @throws IllegalArgumentException + * in case the "key" parameter is null + */ + public static String get(String key) throws IllegalArgumentException { + if (key == null) { + throw new IllegalArgumentException("key parameter cannot be null"); + } + + if (mdcAdapter == null) { + throw new IllegalStateException("MDCAdapter cannot be null. See also " + + NULL_MDCA_URL); + } + return mdcAdapter.get(key); + } + + /** + * Remove the diagnostic context identified by the key parameter using + * the underlying system's MDC implementation. The key parameter + * cannot be null. This method does nothing if there is no previous value + * associated with key. + * + * @param key + * @throws IllegalArgumentException + * in case the "key" parameter is null + */ + public static void remove(String key) throws IllegalArgumentException { + if (key == null) { + throw new IllegalArgumentException("key parameter cannot be null"); + } + + if (mdcAdapter == null) { + throw new IllegalStateException("MDCAdapter cannot be null. See also " + + NULL_MDCA_URL); + } + mdcAdapter.remove(key); + } + + /** + * Clear all entries in the MDC of the underlying implementation. + */ + public static void clear() { + if (mdcAdapter == null) { + throw new IllegalStateException("MDCAdapter cannot be null. See also " + + NULL_MDCA_URL); + } + mdcAdapter.clear(); + } + + /** + * Return a copy of the current thread's context map, with keys and values of + * type String. Returned value may be null. + * + * @return A copy of the current thread's context map. May be null. + * @since 1.5.1 + */ + public static Map getCopyOfContextMap() { + if (mdcAdapter == null) { + throw new IllegalStateException("MDCAdapter cannot be null. See also " + + NULL_MDCA_URL); + } + return mdcAdapter.getCopyOfContextMap(); + } + + /** + * Set the current thread's context map by first clearing any existing map and + * then copying the map passed as parameter. The context map passed as + * parameter must only contain keys and values of type String. + * + * @param contextMap + * must contain only keys and values of type String + * @since 1.5.1 + */ + public static void setContextMap(Map contextMap) { + if (mdcAdapter == null) { + throw new IllegalStateException("MDCAdapter cannot be null. See also " + + NULL_MDCA_URL); + } + mdcAdapter.setContextMap(contextMap); + } + + /** + * Returns the MDCAdapter instance currently in use. + * + * @return the MDcAdapter instance currently in use. + * @since 1.4.2 + */ + public static MDCAdapter getMDCAdapter() { + return mdcAdapter; + } + +} \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/Marker.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/Marker.java new file mode 100644 index 0000000..3d59b52 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/Marker.java @@ -0,0 +1,142 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j; + +import java.io.Serializable; +import java.util.Iterator; + +/** + * Markers are named objects used to enrich log statements. Conforming logging + * system Implementations of SLF4J determine how information conveyed by markers + * are used, if at all. In particular, many conforming logging systems ignore + * marker data. + * + *

+ * Markers can contain references to other markers, which in turn may contain + * references of their own. + * + * @author Ceki Gülcü + */ +public interface Marker extends Serializable { + + /** + * This constant represents any marker, including a null marker. + */ + public final String ANY_MARKER = "*"; + + /** + * This constant represents any non-null marker. + */ + public final String ANY_NON_NULL_MARKER = "+"; + + /** + * Get the name of this Marker. + * + * @return name of marker + */ + public String getName(); + + /** + * Add a reference to another Marker. + * + * @param reference + * a reference to another marker + * @throws IllegalArgumentException + * if 'reference' is null + */ + public void add(Marker reference); + + /** + * Remove a marker reference. + * + * @param reference + * the marker reference to remove + * @return true if reference could be found and removed, false otherwise. + */ + public boolean remove(Marker reference); + + /** + * @deprecated Replaced by {@link #hasReferences()}. + */ + public boolean hasChildren(); + + /** + * Does this marker have any references? + * + * @return true if this marker has one or more references, false otherwise. + */ + public boolean hasReferences(); + + /** + * Returns an Iterator which can be used to iterate over the references of this + * marker. An empty iterator is returned when this marker has no references. + * + * @return Iterator over the references of this marker + */ + public Iterator iterator(); + + /** + * Does this marker contain a reference to the 'other' marker? Marker A is defined + * to contain marker B, if A == B or if B is referenced by A, or if B is referenced + * by any one of A's references (recursively). + * + * @param other + * The marker to test for inclusion. + * @throws IllegalArgumentException + * if 'other' is null + * @return Whether this marker contains the other marker. + */ + public boolean contains(Marker other); + + /** + * Does this marker contain the marker named 'name'? + * + * If 'name' is null the returned value is always false. + * + * @param name The marker name to test for inclusion. + * @return Whether this marker contains the other marker. + */ + public boolean contains(String name); + + /** + * Markers are considered equal if they have the same name. + * + * @param o + * @return true, if this.name equals o.name + * + * @since 1.5.1 + */ + public boolean equals(Object o); + + /** + * Compute the hash code based on the name of this marker. + * Note that markers are considered equal if they have the same name. + * + * @return the computed hashCode + * @since 1.5.1 + */ + public int hashCode(); + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/MarkerFactory.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/MarkerFactory.java new file mode 100644 index 0000000..84cfcb6 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/MarkerFactory.java @@ -0,0 +1,96 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j; + +import org.slf4j.helpers.BasicMarkerFactory; +import org.slf4j.helpers.Util; +import org.slf4j.impl.StaticMarkerBinder; + +/** + * MarkerFactory is a utility class producing {@link Marker} instances as + * appropriate for the logging system currently in use. + * + *

+ * This class is essentially implemented as a wrapper around an + * {@link IMarkerFactory} instance bound at compile time. + * + *

+ * Please note that all methods in this class are static. + * + * @author Ceki Gülcü + */ +public class MarkerFactory { + static IMarkerFactory markerFactory; + + private MarkerFactory() { + } + + static { + try { + markerFactory = StaticMarkerBinder.SINGLETON.getMarkerFactory(); + } catch (NoClassDefFoundError e) { + markerFactory = new BasicMarkerFactory(); + + } catch (Exception e) { + // we should never get here + Util.report("Unexpected failure while binding MarkerFactory", e); + } + } + + /** + * Return a Marker instance as specified by the name parameter using the + * previously bound {@link IMarkerFactory}instance. + * + * @param name + * The name of the {@link Marker} object to return. + * @return marker + */ + public static Marker getMarker(String name) { + return markerFactory.getMarker(name); + } + + /** + * Create a marker which is detached (even at birth) from the MarkerFactory. + * + * @param name the name of the marker + * @return a dangling marker + * @since 1.5.1 + */ + public static Marker getDetachedMarker(String name) { + return markerFactory.getDetachedMarker(name); + } + + /** + * Return the {@link IMarkerFactory}instance in use. + * + *

The IMarkerFactory instance is usually bound with this class at + * compile time. + * + * @return the IMarkerFactory instance in use + */ + public static IMarkerFactory getIMarkerFactory() { + return markerFactory; + } +} \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/BasicMDCAdapter.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/BasicMDCAdapter.java new file mode 100644 index 0000000..56818f1 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/BasicMDCAdapter.java @@ -0,0 +1,161 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.helpers; + +import org.slf4j.spi.MDCAdapter; + +import java.util.*; +import java.util.Map; + +/** + * Basic MDC implementation, which can be used with logging systems that lack + * out-of-the-box MDC support. + * + * This code was initially inspired by logback's LogbackMDCAdapter. However, + * LogbackMDCAdapter has evolved and is now considerably more sophisticated. + * + * @author Ceki Gulcu + * @author Maarten Bosteels + * + * @since 1.5.0 + */ +public class BasicMDCAdapter implements MDCAdapter { + + private InheritableThreadLocal inheritableThreadLocal = new InheritableThreadLocal(); + + static boolean isJDK14() { + try { + String javaVersion = System.getProperty("java.version"); + return javaVersion.startsWith("1.4"); + } catch(SecurityException se) { + // punt and assume JDK 1.5 or later + return false; + } + } + + static boolean IS_JDK14 = isJDK14(); + + + /** + * Put a context value (the val parameter) as identified with + * the key parameter into the current thread's context map. + * Note that contrary to log4j, the val parameter can be null. + * + *

+ * If the current thread does not have a context map it is created as a side + * effect of this call. + * + * @throws IllegalArgumentException + * in case the "key" parameter is null + */ + public void put(String key, String val) { + if (key == null) { + throw new IllegalArgumentException("key cannot be null"); + } + Map map = (Map) inheritableThreadLocal.get(); + if (map == null) { + map = Collections.synchronizedMap(new HashMap()); + inheritableThreadLocal.set(map); + } + map.put(key, val); + } + + /** + * Get the context identified by the key parameter. + */ + public String get(String key) { + Map Map = (Map) inheritableThreadLocal.get(); + if ((Map != null) && (key != null)) { + return (String) Map.get(key); + } else { + return null; + } + } + + /** + * Remove the the context identified by the key parameter. + */ + public void remove(String key) { + Map map = (Map) inheritableThreadLocal.get(); + if (map != null) { + map.remove(key); + } + } + + /** + * Clear all entries in the MDC. + */ + public void clear() { + Map map = (Map) inheritableThreadLocal.get(); + if (map != null) { + map.clear(); + // the InheritableThreadLocal.remove method was introduced in JDK 1.5 + // Thus, invoking clear() on previous JDK 1.4 will fail + if(isJDK14()) { + inheritableThreadLocal.set(null); + } else { + inheritableThreadLocal.remove(); + } + } + } + + /** + * Returns the keys in the MDC as a {@link Set} of {@link String}s The + * returned value can be null. + * + * @return the keys in the MDC + */ + public Set getKeys() { + Map map = (Map) inheritableThreadLocal.get(); + if (map != null) { + return map.keySet(); + } else { + return null; + } + } + /** + * Return a copy of the current thread's context map. + * Returned value may be null. + * + */ + public Map getCopyOfContextMap() { + Map oldMap = (Map) inheritableThreadLocal.get(); + if (oldMap != null) { + Map newMap = Collections.synchronizedMap(new HashMap()); + synchronized (oldMap) { + newMap.putAll(oldMap); + } + return newMap; + } else { + return null; + } + } + + public void setContextMap(Map contextMap) { + Map map = Collections.synchronizedMap(new HashMap(contextMap)); + inheritableThreadLocal.set(map); + } + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/BasicMarker.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/BasicMarker.java new file mode 100644 index 0000000..6474d48 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/BasicMarker.java @@ -0,0 +1,196 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.helpers; + +import java.util.Collections; +import java.util.Iterator; +import java.util.List; +import java.util.Vector; + +import org.slf4j.Marker; + +/** + * A simple implementation of the {@link Marker} interface. + * + * @author Ceki Gülcü + * @author Joern Huxhorn + */ +public class BasicMarker implements Marker { + + private static final long serialVersionUID = 1803952589649545191L; + + private final String name; + private List refereceList; + + BasicMarker(String name) { + if (name == null) { + throw new IllegalArgumentException("A marker name cannot be null"); + } + this.name = name; + } + + public String getName() { + return name; + } + + public synchronized void add(Marker reference) { + if (reference == null) { + throw new IllegalArgumentException( + "A null value cannot be added to a Marker as reference."); + } + + // no point in adding the reference multiple times + if (this.contains(reference)) { + return; + + } else if (reference.contains(this)) { // avoid recursion + // a potential reference should not its future "parent" as a reference + return; + } else { + // let's add the reference + if (refereceList == null) { + refereceList = new Vector(); + } + refereceList.add(reference); + } + + } + + public synchronized boolean hasReferences() { + return ((refereceList != null) && (refereceList.size() > 0)); + } + + public boolean hasChildren() { + return hasReferences(); + } + + public synchronized Iterator iterator() { + if (refereceList != null) { + return refereceList.iterator(); + } else { + return Collections.EMPTY_LIST.iterator(); + } + } + + public synchronized boolean remove(Marker referenceToRemove) { + if (refereceList == null) { + return false; + } + + int size = refereceList.size(); + for (int i = 0; i < size; i++) { + Marker m = (Marker) refereceList.get(i); + if (referenceToRemove.equals(m)) { + refereceList.remove(i); + return true; + } + } + return false; + } + + public boolean contains(Marker other) { + if (other == null) { + throw new IllegalArgumentException("Other cannot be null"); + } + + if (this.equals(other)) { + return true; + } + + if (hasReferences()) { + for (int i = 0; i < refereceList.size(); i++) { + Marker ref = (Marker) refereceList.get(i); + if (ref.contains(other)) { + return true; + } + } + } + return false; + } + + /** + * This method is mainly used with Expression Evaluators. + */ + public boolean contains(String name) { + if (name == null) { + throw new IllegalArgumentException("Other cannot be null"); + } + + if (this.name.equals(name)) { + return true; + } + + if (hasReferences()) { + for (int i = 0; i < refereceList.size(); i++) { + Marker ref = (Marker) refereceList.get(i); + if (ref.contains(name)) { + return true; + } + } + } + return false; + } + + private static String OPEN = "[ "; + private static String CLOSE = " ]"; + private static String SEP = ", "; + + + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (!(obj instanceof Marker)) + return false; + + final Marker other = (Marker) obj; + return name.equals(other.getName()); + } + + public int hashCode() { + return name.hashCode(); + } + + public String toString() { + if (!this.hasReferences()) { + return this.getName(); + } + Iterator it = this.iterator(); + Marker reference; + StringBuffer sb = new StringBuffer(this.getName()); + sb.append(' ').append(OPEN); + while (it.hasNext()) { + reference = (Marker) it.next(); + sb.append(reference.getName()); + if (it.hasNext()) { + sb.append(SEP); + } + } + sb.append(CLOSE); + + return sb.toString(); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/BasicMarkerFactory.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/BasicMarkerFactory.java new file mode 100644 index 0000000..37b8a1d --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/BasicMarkerFactory.java @@ -0,0 +1,99 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.helpers; + +import java.util.HashMap; +import java.util.Map; + +import org.slf4j.IMarkerFactory; +import org.slf4j.Marker; + +/** + * An almost trivial implementation of the {@link IMarkerFactory} + * interface which creates {@link BasicMarker} instances. + * + *

Simple logging systems can conform to the SLF4J API by binding + * {@link org.slf4j.MarkerFactory} with an instance of this class. + * + * @author Ceki Gülcü + */ +public class BasicMarkerFactory implements IMarkerFactory { + + Map markerMap = new HashMap(); + + /** + * Regular users should not create + * BasicMarkerFactory instances. Marker + * instances can be obtained using the static {@link + * org.slf4j.MarkerFactory#getMarker} method. + */ + public BasicMarkerFactory() { + } + + /** + * Manufacture a {@link BasicMarker} instance by name. If the instance has been + * created earlier, return the previously created instance. + * + * @param name the name of the marker to be created + * @return a Marker instance + */ + public synchronized Marker getMarker(String name) { + if (name == null) { + throw new IllegalArgumentException("Marker name cannot be null"); + } + + Marker marker = (Marker) markerMap.get(name); + if (marker == null) { + marker = new BasicMarker(name); + markerMap.put(name, marker); + } + return marker; + } + + /** + * Does the name marked already exist? + */ + public synchronized boolean exists(String name) { + if (name == null) { + return false; + } + return markerMap.containsKey(name); + } + + public boolean detachMarker(String name) { + if(name == null) { + return false; + } + return (markerMap.remove(name) != null); + } + + + public Marker getDetachedMarker(String name) { + return new BasicMarker(name); + } + + + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/FormattingTuple.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/FormattingTuple.java new file mode 100644 index 0000000..2afe295 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/FormattingTuple.java @@ -0,0 +1,77 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.helpers; + +/** + * Holds the results of formatting done by {@link MessageFormatter}. + * + * @author Joern Huxhorn + */ +public class FormattingTuple { + + + static public FormattingTuple NULL = new FormattingTuple(null); + + private String message; + private Throwable throwable; + private Object[] argArray; + + public FormattingTuple(String message) { + this(message, null, null); + } + + public FormattingTuple(String message, Object[] argArray, Throwable throwable) { + this.message = message; + this.throwable = throwable; + if(throwable == null) { + this.argArray = argArray; + } else { + this.argArray = trimmedCopy(argArray); + } + } + + static Object[] trimmedCopy(Object[] argArray) { + if(argArray == null || argArray.length == 0) { + throw new IllegalStateException("non-sensical empty or null argument array"); + } + final int trimemdLen = argArray.length -1; + Object[] trimmed = new Object[trimemdLen]; + System.arraycopy(argArray, 0, trimmed, 0, trimemdLen); + return trimmed; + } + + public String getMessage() { + return message; + } + + public Object[] getArgArray() { + return argArray; + } + + public Throwable getThrowable() { + return throwable; + } + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/MarkerIgnoringBase.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/MarkerIgnoringBase.java new file mode 100644 index 0000000..c128df5 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/MarkerIgnoringBase.java @@ -0,0 +1,168 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.helpers; + +import org.slf4j.Logger; +import org.slf4j.Marker; + + +/** + * This class serves as base for adapters or native implementations of logging systems + * lacking Marker support. In this implementation, methods taking marker data + * simply invoke the corresponding method without the Marker argument, discarding + * any marker data passed as argument. + * + * @author Ceki Gulcu + */ +public abstract class MarkerIgnoringBase extends NamedLoggerBase implements Logger { + + private static final long serialVersionUID = 9044267456635152283L; + + public boolean isTraceEnabled(Marker marker) { + return isTraceEnabled(); + } + + public void trace(Marker marker, String msg) { + trace(msg); + } + + public void trace(Marker marker, String format, Object arg) { + trace(format, arg); + } + + public void trace(Marker marker, String format, Object arg1, Object arg2) { + trace(format, arg1, arg2); + } + + public void trace(Marker marker, String format, Object... arguments) { + trace(format, arguments); + } + + public void trace(Marker marker, String msg, Throwable t) { + trace(msg, t); + } + + public boolean isDebugEnabled(Marker marker) { + return isDebugEnabled(); + } + + public void debug(Marker marker, String msg) { + debug(msg); + } + + public void debug(Marker marker, String format, Object arg) { + debug(format, arg); + } + + public void debug(Marker marker, String format, Object arg1, Object arg2) { + debug(format, arg1, arg2); + } + + public void debug(Marker marker, String format, Object... arguments) { + debug(format, arguments); + } + + public void debug(Marker marker, String msg, Throwable t) { + debug(msg, t); + } + + public boolean isInfoEnabled(Marker marker) { + return isInfoEnabled(); + } + + public void info(Marker marker, String msg) { + info(msg); + } + + public void info(Marker marker, String format, Object arg) { + info(format, arg); + } + + public void info(Marker marker, String format, Object arg1, Object arg2) { + info(format, arg1, arg2); + } + + public void info(Marker marker, String format, Object... arguments) { + info(format, arguments); + } + + public void info(Marker marker, String msg, Throwable t) { + info(msg, t); + } + + public boolean isWarnEnabled(Marker marker) { + return isWarnEnabled(); + } + + public void warn(Marker marker, String msg) { + warn(msg); + } + + public void warn(Marker marker, String format, Object arg) { + warn(format, arg); + } + + public void warn(Marker marker, String format, Object arg1, Object arg2) { + warn(format, arg1, arg2); + } + + public void warn(Marker marker, String format, Object... arguments) { + warn(format, arguments); + } + + public void warn(Marker marker, String msg, Throwable t) { + warn(msg, t); + } + + + public boolean isErrorEnabled(Marker marker) { + return isErrorEnabled(); + } + + public void error(Marker marker, String msg) { + error(msg); + } + + public void error(Marker marker, String format, Object arg) { + error(format, arg); + } + + public void error(Marker marker, String format, Object arg1, Object arg2) { + error(format, arg1, arg2); + } + + public void error(Marker marker, String format, Object... arguments) { + error(format, arguments); + } + + public void error(Marker marker, String msg, Throwable t) { + error(msg, t); + } + + public String toString() { + return this.getClass().getName()+"("+getName()+")"; + } + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/MessageFormatter.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/MessageFormatter.java new file mode 100644 index 0000000..fc794e2 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/MessageFormatter.java @@ -0,0 +1,422 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.helpers; + +import java.text.MessageFormat; +import java.util.HashMap; +import java.util.Map; + +// contributors: lizongbo: proposed special treatment of array parameter values +// Joern Huxhorn: pointed out double[] omission, suggested deep array copy +/** + * Formats messages according to very simple substitution rules. Substitutions + * can be made 1, 2 or more arguments. + * + *

+ * For example, + * + *

+ * MessageFormatter.format("Hi {}.", "there")
+ * 
+ * + * will return the string "Hi there.". + *

+ * The {} pair is called the formatting anchor. It serves to designate + * the location where arguments need to be substituted within the message + * pattern. + *

+ * In case your message contains the '{' or the '}' character, you do not have + * to do anything special unless the '}' character immediately follows '{'. For + * example, + * + *

+ * MessageFormatter.format("Set {1,2,3} is not equal to {}.", "1,2");
+ * 
+ * + * will return the string "Set {1,2,3} is not equal to 1,2.". + * + *

+ * If for whatever reason you need to place the string "{}" in the message + * without its formatting anchor meaning, then you need to escape the + * '{' character with '\', that is the backslash character. Only the '{' + * character should be escaped. There is no need to escape the '}' character. + * For example, + * + *

+ * MessageFormatter.format("Set \\{} is not equal to {}.", "1,2");
+ * 
+ * + * will return the string "Set {} is not equal to 1,2.". + * + *

+ * The escaping behavior just described can be overridden by escaping the escape + * character '\'. Calling + * + *

+ * MessageFormatter.format("File name is C:\\\\{}.", "file.zip");
+ * 
+ * + * will return the string "File name is C:\file.zip". + * + *

+ * The formatting conventions are different than those of {@link MessageFormat} + * which ships with the Java platform. This is justified by the fact that + * SLF4J's implementation is 10 times faster than that of {@link MessageFormat}. + * This local performance difference is both measurable and significant in the + * larger context of the complete logging processing chain. + * + *

+ * See also {@link #format(String, Object)}, + * {@link #format(String, Object, Object)} and + * {@link #arrayFormat(String, Object[])} methods for more details. + * + * @author Ceki Gülcü + * @author Joern Huxhorn + */ +final public class MessageFormatter { + static final char DELIM_START = '{'; + static final char DELIM_STOP = '}'; + static final String DELIM_STR = "{}"; + private static final char ESCAPE_CHAR = '\\'; + + /** + * Performs single argument substitution for the 'messagePattern' passed as + * parameter. + *

+ * For example, + * + *

+   * MessageFormatter.format("Hi {}.", "there");
+   * 
+ * + * will return the string "Hi there.". + *

+ * + * @param messagePattern + * The message pattern which will be parsed and formatted + * @param argument + * The argument to be substituted in place of the formatting anchor + * @return The formatted message + */ + final public static FormattingTuple format(String messagePattern, Object arg) { + return arrayFormat(messagePattern, new Object[] { arg }); + } + + /** + * + * Performs a two argument substitution for the 'messagePattern' passed as + * parameter. + *

+ * For example, + * + *

+   * MessageFormatter.format("Hi {}. My name is {}.", "Alice", "Bob");
+   * 
+ * + * will return the string "Hi Alice. My name is Bob.". + * + * @param messagePattern + * The message pattern which will be parsed and formatted + * @param arg1 + * The argument to be substituted in place of the first formatting + * anchor + * @param arg2 + * The argument to be substituted in place of the second formatting + * anchor + * @return The formatted message + */ + final public static FormattingTuple format(final String messagePattern, + Object arg1, Object arg2) { + return arrayFormat(messagePattern, new Object[] { arg1, arg2 }); + } + + static final Throwable getThrowableCandidate(Object[] argArray) { + if (argArray == null || argArray.length == 0) { + return null; + } + + final Object lastEntry = argArray[argArray.length - 1]; + if (lastEntry instanceof Throwable) { + return (Throwable) lastEntry; + } + return null; + } + + /** + * Same principle as the {@link #format(String, Object)} and + * {@link #format(String, Object, Object)} methods except that any number of + * arguments can be passed in an array. + * + * @param messagePattern + * The message pattern which will be parsed and formatted + * @param argArray + * An array of arguments to be substituted in place of formatting + * anchors + * @return The formatted message + */ + final public static FormattingTuple arrayFormat(final String messagePattern, + final Object[] argArray) { + + Throwable throwableCandidate = getThrowableCandidate(argArray); + + if (messagePattern == null) { + return new FormattingTuple(null, argArray, throwableCandidate); + } + + if (argArray == null) { + return new FormattingTuple(messagePattern); + } + + int i = 0; + int j; + StringBuffer sbuf = new StringBuffer(messagePattern.length() + 50); + + int L; + for (L = 0; L < argArray.length; L++) { + + j = messagePattern.indexOf(DELIM_STR, i); + + if (j == -1) { + // no more variables + if (i == 0) { // this is a simple string + return new FormattingTuple(messagePattern, argArray, + throwableCandidate); + } else { // add the tail string which contains no variables and return + // the result. + sbuf.append(messagePattern.substring(i, messagePattern.length())); + return new FormattingTuple(sbuf.toString(), argArray, + throwableCandidate); + } + } else { + if (isEscapedDelimeter(messagePattern, j)) { + if (!isDoubleEscaped(messagePattern, j)) { + L--; // DELIM_START was escaped, thus should not be incremented + sbuf.append(messagePattern.substring(i, j - 1)); + sbuf.append(DELIM_START); + i = j + 1; + } else { + // The escape character preceding the delimiter start is + // itself escaped: "abc x:\\{}" + // we have to consume one backward slash + sbuf.append(messagePattern.substring(i, j - 1)); + deeplyAppendParameter(sbuf, argArray[L], new HashMap()); + i = j + 2; + } + } else { + // normal case + sbuf.append(messagePattern.substring(i, j)); + deeplyAppendParameter(sbuf, argArray[L], new HashMap()); + i = j + 2; + } + } + } + // append the characters following the last {} pair. + sbuf.append(messagePattern.substring(i, messagePattern.length())); + if (L < argArray.length - 1) { + return new FormattingTuple(sbuf.toString(), argArray, throwableCandidate); + } else { + return new FormattingTuple(sbuf.toString(), argArray, null); + } + } + + final static boolean isEscapedDelimeter(String messagePattern, + int delimeterStartIndex) { + + if (delimeterStartIndex == 0) { + return false; + } + char potentialEscape = messagePattern.charAt(delimeterStartIndex - 1); + if (potentialEscape == ESCAPE_CHAR) { + return true; + } else { + return false; + } + } + + final static boolean isDoubleEscaped(String messagePattern, + int delimeterStartIndex) { + if (delimeterStartIndex >= 2 + && messagePattern.charAt(delimeterStartIndex - 2) == ESCAPE_CHAR) { + return true; + } else { + return false; + } + } + + // special treatment of array values was suggested by 'lizongbo' + private static void deeplyAppendParameter(StringBuffer sbuf, Object o, + Map seenMap) { + if (o == null) { + sbuf.append("null"); + return; + } + if (!o.getClass().isArray()) { + safeObjectAppend(sbuf, o); + } else { + // check for primitive array types because they + // unfortunately cannot be cast to Object[] + if (o instanceof boolean[]) { + booleanArrayAppend(sbuf, (boolean[]) o); + } else if (o instanceof byte[]) { + byteArrayAppend(sbuf, (byte[]) o); + } else if (o instanceof char[]) { + charArrayAppend(sbuf, (char[]) o); + } else if (o instanceof short[]) { + shortArrayAppend(sbuf, (short[]) o); + } else if (o instanceof int[]) { + intArrayAppend(sbuf, (int[]) o); + } else if (o instanceof long[]) { + longArrayAppend(sbuf, (long[]) o); + } else if (o instanceof float[]) { + floatArrayAppend(sbuf, (float[]) o); + } else if (o instanceof double[]) { + doubleArrayAppend(sbuf, (double[]) o); + } else { + objectArrayAppend(sbuf, (Object[]) o, seenMap); + } + } + } + + private static void safeObjectAppend(StringBuffer sbuf, Object o) { + try { + String oAsString = o.toString(); + sbuf.append(oAsString); + } catch (Throwable t) { + System.err + .println("SLF4J: Failed toString() invocation on an object of type [" + + o.getClass().getName() + "]"); + t.printStackTrace(); + sbuf.append("[FAILED toString()]"); + } + + } + + private static void objectArrayAppend(StringBuffer sbuf, Object[] a, + Map seenMap) { + sbuf.append('['); + if (!seenMap.containsKey(a)) { + seenMap.put(a, null); + final int len = a.length; + for (int i = 0; i < len; i++) { + deeplyAppendParameter(sbuf, a[i], seenMap); + if (i != len - 1) + sbuf.append(", "); + } + // allow repeats in siblings + seenMap.remove(a); + } else { + sbuf.append("..."); + } + sbuf.append(']'); + } + + private static void booleanArrayAppend(StringBuffer sbuf, boolean[] a) { + sbuf.append('['); + final int len = a.length; + for (int i = 0; i < len; i++) { + sbuf.append(a[i]); + if (i != len - 1) + sbuf.append(", "); + } + sbuf.append(']'); + } + + private static void byteArrayAppend(StringBuffer sbuf, byte[] a) { + sbuf.append('['); + final int len = a.length; + for (int i = 0; i < len; i++) { + sbuf.append(a[i]); + if (i != len - 1) + sbuf.append(", "); + } + sbuf.append(']'); + } + + private static void charArrayAppend(StringBuffer sbuf, char[] a) { + sbuf.append('['); + final int len = a.length; + for (int i = 0; i < len; i++) { + sbuf.append(a[i]); + if (i != len - 1) + sbuf.append(", "); + } + sbuf.append(']'); + } + + private static void shortArrayAppend(StringBuffer sbuf, short[] a) { + sbuf.append('['); + final int len = a.length; + for (int i = 0; i < len; i++) { + sbuf.append(a[i]); + if (i != len - 1) + sbuf.append(", "); + } + sbuf.append(']'); + } + + private static void intArrayAppend(StringBuffer sbuf, int[] a) { + sbuf.append('['); + final int len = a.length; + for (int i = 0; i < len; i++) { + sbuf.append(a[i]); + if (i != len - 1) + sbuf.append(", "); + } + sbuf.append(']'); + } + + private static void longArrayAppend(StringBuffer sbuf, long[] a) { + sbuf.append('['); + final int len = a.length; + for (int i = 0; i < len; i++) { + sbuf.append(a[i]); + if (i != len - 1) + sbuf.append(", "); + } + sbuf.append(']'); + } + + private static void floatArrayAppend(StringBuffer sbuf, float[] a) { + sbuf.append('['); + final int len = a.length; + for (int i = 0; i < len; i++) { + sbuf.append(a[i]); + if (i != len - 1) + sbuf.append(", "); + } + sbuf.append(']'); + } + + private static void doubleArrayAppend(StringBuffer sbuf, double[] a) { + sbuf.append('['); + final int len = a.length; + for (int i = 0; i < len; i++) { + sbuf.append(a[i]); + if (i != len - 1) + sbuf.append(", "); + } + sbuf.append(']'); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/NOPLogger.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/NOPLogger.java new file mode 100644 index 0000000..a1709dd --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/NOPLogger.java @@ -0,0 +1,229 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.helpers; + +import org.slf4j.Logger; +import org.slf4j.helpers.MarkerIgnoringBase; + + +/** + * A direct NOP (no operation) implementation of {@link Logger}. + * + * @author Ceki Gülcü + */ +public class NOPLogger extends MarkerIgnoringBase { + + private static final long serialVersionUID = -517220405410904473L; + + /** + * The unique instance of NOPLogger. + */ + public static final NOPLogger NOP_LOGGER = new NOPLogger(); + + /** + * There is no point in creating multiple instances of NOPLOgger, + * except by derived classes, hence the protected access for the constructor. + */ + protected NOPLogger() { + } + + /** + * Always returns the string value "NOP". + */ + public String getName() { + return "NOP"; + } + + /** + * Always returns false. + * @return always false + */ + final public boolean isTraceEnabled() { + return false; + } + + /** A NOP implementation. */ + final public void trace(String msg) { + // NOP + } + + /** A NOP implementation. */ + final public void trace(String format, Object arg) { + // NOP + } + + /** A NOP implementation. */ + public final void trace(String format, Object arg1, Object arg2) { + // NOP + } + + /** A NOP implementation. */ + public final void trace(String format, Object... argArray) { + // NOP + } + + /** A NOP implementation. */ + final public void trace(String msg, Throwable t) { + // NOP + } + + /** + * Always returns false. + * @return always false + */ + final public boolean isDebugEnabled() { + return false; + } + + /** A NOP implementation. */ + final public void debug(String msg) { + // NOP + } + + /** A NOP implementation. */ + final public void debug(String format, Object arg) { + // NOP + } + + /** A NOP implementation. */ + public final void debug(String format, Object arg1, Object arg2) { + // NOP + } + + /** A NOP implementation. */ + public final void debug(String format, Object... argArray) { + // NOP + } + + + + /** A NOP implementation. */ + final public void debug(String msg, Throwable t) { + // NOP + } + + /** + * Always returns false. + * @return always false + */ + final public boolean isInfoEnabled() { + // NOP + return false; + } + + + /** A NOP implementation. */ + final public void info(String msg) { + // NOP + } + + /** A NOP implementation. */ + final public void info(String format, Object arg1) { + // NOP + } + + /** A NOP implementation. */ + final public void info(String format, Object arg1, Object arg2) { + // NOP + } + + /** A NOP implementation. */ + public final void info(String format, Object... argArray) { + // NOP + } + + + /** A NOP implementation. */ + final public void info(String msg, Throwable t) { + // NOP + } + + + /** + * Always returns false. + * @return always false + */ + final public boolean isWarnEnabled() { + return false; + } + + /** A NOP implementation. */ + final public void warn(String msg) { + // NOP + } + + /** A NOP implementation. */ + final public void warn(String format, Object arg1) { + // NOP + } + + /** A NOP implementation. */ + final public void warn(String format, Object arg1, Object arg2) { + // NOP + } + + /** A NOP implementation. */ + public final void warn(String format, Object... argArray) { + // NOP + } + + + /** A NOP implementation. */ + final public void warn(String msg, Throwable t) { + // NOP + } + + + /** A NOP implementation. */ + final public boolean isErrorEnabled() { + return false; + } + + /** A NOP implementation. */ + final public void error(String msg) { + // NOP + } + + /** A NOP implementation. */ + final public void error(String format, Object arg1) { + // NOP + } + + /** A NOP implementation. */ + final public void error(String format, Object arg1, Object arg2) { + // NOP + } + + /** A NOP implementation. */ + public final void error(String format, Object... argArray) { + // NOP + } + + + /** A NOP implementation. */ + final public void error(String msg, Throwable t) { + // NOP + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/NOPLoggerFactory.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/NOPLoggerFactory.java new file mode 100644 index 0000000..9d4a297 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/NOPLoggerFactory.java @@ -0,0 +1,49 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.helpers; + +import org.slf4j.ILoggerFactory; +import org.slf4j.Logger; +import org.slf4j.helpers.NOPLogger; + + +/** + * NOPLoggerFactory is an trivial implementation of {@link + * ILoggerFactory} which always returns the unique instance of + * NOPLogger. + * + * @author Ceki Gülcü + */ +public class NOPLoggerFactory implements ILoggerFactory { + + public NOPLoggerFactory() { + // nothing to do + } + + public Logger getLogger(String name) { + return NOPLogger.NOP_LOGGER; + } + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/NOPMDCAdapter.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/NOPMDCAdapter.java new file mode 100644 index 0000000..ef9e967 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/NOPMDCAdapter.java @@ -0,0 +1,63 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.helpers; + +import java.util.Map; + +import org.slf4j.spi.MDCAdapter; + +/** + * This adapter is an empty implementation of the {@link MDCAdapter} interface. + * It is used for all logging systems which do not support mapped + * diagnostic contexts such as JDK14, simple and NOP. + * + * @author Ceki Gülcü + * + * @since 1.4.1 + */ +public class NOPMDCAdapter implements MDCAdapter { + + public void clear() { + } + + public String get(String key) { + return null; + } + + public void put(String key, String val) { + } + + public void remove(String key) { + } + + public Map getCopyOfContextMap() { + return null; + } + + public void setContextMap(Map contextMap) { + // NOP + } + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/NamedLoggerBase.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/NamedLoggerBase.java new file mode 100644 index 0000000..35df402 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/NamedLoggerBase.java @@ -0,0 +1,70 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.helpers; + +import java.io.ObjectStreamException; +import java.io.Serializable; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Serves as base class for named logger implementation. More significantly, this + * class establishes deserialization behavior. See @see #readResolve. + * + * @author Ceki Gulcu + * @since 1.5.3 + */ +abstract class NamedLoggerBase implements Logger, Serializable { + + private static final long serialVersionUID = 7535258609338176893L; + + protected String name; + + public String getName() { + return name; + } + + /** + * Replace this instance with a homonymous (same name) logger returned + * by LoggerFactory. Note that this method is only called during + * deserialization. + * + *

+ * This approach will work well if the desired ILoggerFactory is the one + * references by LoggerFactory. However, if the user manages its logger hierarchy + * through a different (non-static) mechanism, e.g. dependency injection, then + * this approach would be mostly counterproductive. + * + * @return logger with same name as returned by LoggerFactory + * @throws ObjectStreamException + */ + protected Object readResolve() throws ObjectStreamException { + // using getName() instead of this.name works even for + // NOPLogger + return LoggerFactory.getLogger(getName()); + } + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/SubstituteLoggerFactory.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/SubstituteLoggerFactory.java new file mode 100644 index 0000000..7382ed7 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/SubstituteLoggerFactory.java @@ -0,0 +1,64 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.helpers; + +import java.util.ArrayList; +import java.util.List; + +import org.slf4j.ILoggerFactory; +import org.slf4j.Logger; + +/** + * SubstituteLoggerFactory is an trivial implementation of + * {@link ILoggerFactory} which always returns the unique instance of NOPLogger. + * + *

+ * It used as a temporary substitute for the real ILoggerFactory during its + * auto-configuration which may re-enter LoggerFactory to obtain logger + * instances. See also http://bugzilla.slf4j.org/show_bug.cgi?id=106 + * + * @author Ceki Gülcü + */ +public class SubstituteLoggerFactory implements ILoggerFactory { + + // keep a record of requested logger names + final List loggerNameList = new ArrayList(); + + public Logger getLogger(String name) { + synchronized (loggerNameList) { + loggerNameList.add(name); + } + return NOPLogger.NOP_LOGGER; + } + + public List getLoggerNameList() { + List copy = new ArrayList(); + synchronized (loggerNameList) { + copy.addAll(loggerNameList); + } + return copy; + } + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/Util.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/Util.java new file mode 100644 index 0000000..d0f2f9d --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/Util.java @@ -0,0 +1,45 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.helpers; + + +/** + * + * An internal utility class. + * + * @author Ceki Gülcü + */ +public class Util { + + static final public void report(String msg, Throwable t) { + System.err.println(msg); + System.err.println("Reported exception:"); + t.printStackTrace(); + } + + static final public void report(String msg) { + System.err.println("SLF4J: " +msg); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/package.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/package.html new file mode 100644 index 0000000..f223543 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/helpers/package.html @@ -0,0 +1,16 @@ + + + + + + + + + + + +

Helper classes.

+ +
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/impl/StaticLoggerBinder.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/impl/StaticLoggerBinder.java new file mode 100644 index 0000000..7148e80 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/impl/StaticLoggerBinder.java @@ -0,0 +1,73 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.impl; + +import org.slf4j.ILoggerFactory; + +/** + * The binding of {@link LoggerFactory} class with an actual instance of + * {@link ILoggerFactory} is performed using information returned by this class. + * + * This class is meant to provide a dummy StaticLoggerBinder to the slf4j-api module. + * Real implementations are found in each SLF4J binding project, e.g. slf4j-nop, + * slf4j-log4j12 etc. + * + * @author Ceki Gülcü + */ +public class StaticLoggerBinder { + + /** + * The unique instance of this class. + */ + private static final StaticLoggerBinder SINGLETON = new StaticLoggerBinder(); + + /** + * Return the singleton of this class. + * + * @return the StaticLoggerBinder singleton + */ + public static final StaticLoggerBinder getSingleton() { + return SINGLETON; + } + + /** + * Declare the version of the SLF4J API this implementation is compiled against. + * The value of this field is usually modified with each release. + */ + // to avoid constant folding by the compiler, this field must *not* be final + public static String REQUESTED_API_VERSION = "1.6.99"; // !final + + private StaticLoggerBinder() { + throw new UnsupportedOperationException("This code should have never made it into slf4j-api.jar"); + } + + public ILoggerFactory getLoggerFactory() { + throw new UnsupportedOperationException("This code should never make it into slf4j-api.jar"); + } + + public String getLoggerFactoryClassStr() { + throw new UnsupportedOperationException("This code should never make it into slf4j-api.jar"); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/impl/StaticMDCBinder.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/impl/StaticMDCBinder.java new file mode 100644 index 0000000..e8d6fa8 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/impl/StaticMDCBinder.java @@ -0,0 +1,59 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.impl; + +import org.slf4j.spi.MDCAdapter; + + +/** + * This class is only a stub. Real implementations are found in + * each SLF4J binding project, e.g. slf4j-nop, slf4j-log4j12 etc. + * + * @author Ceki Gülcü + */ +public class StaticMDCBinder { + + + /** + * The unique instance of this class. + */ + public static final StaticMDCBinder SINGLETON = new StaticMDCBinder(); + + private StaticMDCBinder() { + throw new UnsupportedOperationException("This code should never make it into the jar"); + } + + /** + * Currently this method always returns an instance of + * {@link StaticMDCBinder}. + */ + public MDCAdapter getMDCA() { + throw new UnsupportedOperationException("This code should never make it into the jar"); + } + + public String getMDCAdapterClassStr() { + throw new UnsupportedOperationException("This code should never make it into the jar"); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/impl/StaticMarkerBinder.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/impl/StaticMarkerBinder.java new file mode 100644 index 0000000..90df3da --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/impl/StaticMarkerBinder.java @@ -0,0 +1,71 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.impl; + +import org.slf4j.IMarkerFactory; +import org.slf4j.MarkerFactory; +import org.slf4j.helpers.BasicMarkerFactory; +import org.slf4j.spi.MarkerFactoryBinder; + +/** + * + * The binding of {@link MarkerFactory} class with an actual instance of + * {@link IMarkerFactory} is performed using information returned by this class. + * + * This class is meant to provide a *dummy* StaticMarkerBinder to the slf4j-api module. + * Real implementations are found in each SLF4J binding project, e.g. slf4j-nop, + * slf4j-simple, slf4j-log4j12 etc. + * + * @author Ceki Gülcü + */ +public class StaticMarkerBinder implements MarkerFactoryBinder { + + /** + * The unique instance of this class. + */ + public static final StaticMarkerBinder SINGLETON = new StaticMarkerBinder(); + + private StaticMarkerBinder() { + throw new UnsupportedOperationException("This code should never make it into the jar"); + } + + /** + * Currently this method always returns an instance of + * {@link BasicMarkerFactory}. + */ + public IMarkerFactory getMarkerFactory() { + throw new UnsupportedOperationException("This code should never make it into the jar"); + } + + /** + * Currently, this method returns the class name of + * {@link BasicMarkerFactory}. + */ + public String getMarkerFactoryClassStr() { + throw new UnsupportedOperationException("This code should never make it into the jar"); + } + + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/impl/package.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/impl/package.html new file mode 100644 index 0000000..6b84bad --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/impl/package.html @@ -0,0 +1,17 @@ + + + + + + + + + + + +

Implementations of core logging interfaces defined in the {@link + org.slf4j} package.

+ +
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/package.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/package.html new file mode 100644 index 0000000..e50b3ee --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/package.html @@ -0,0 +1,16 @@ + + + + + + + + + + + +

Core logging interfaces.

+ +
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/spi/LocationAwareLogger.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/spi/LocationAwareLogger.java new file mode 100644 index 0000000..5177f24 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/spi/LocationAwareLogger.java @@ -0,0 +1,61 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.spi; + +import org.slf4j.Logger; +import org.slf4j.Marker; + +/** + * An optional interface helping integration with logging systems capable of + * extracting location information. This interface is mainly used by SLF4J bridges + * such as jcl-over-slf4j, jul-to-slf4j and log4j-over-slf4j or {@link Logger} wrappers + * which need to provide hints so that the underlying logging system can extract + * the correct location information (method name, line number). + * + * @author Ceki Gulcu + * @since 1.3 + */ +public interface LocationAwareLogger extends Logger { + + final public int TRACE_INT = 00; + final public int DEBUG_INT = 10; + final public int INFO_INT = 20; + final public int WARN_INT = 30; + final public int ERROR_INT = 40; + + + /** + * Printing method with support for location information. + * + * @param marker The marker to be used for this event, may be null. + * @param fqcn The fully qualified class name of the logger instance, + * typically the logger class, logger bridge or a logger wrapper. + * @param level One of the level integers defined in this interface + * @param message The message for the log event + * @param t Throwable associated with the log event, may be null. + */ + public void log(Marker marker, String fqcn, int level, String message, Object[] argArray, Throwable t); + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/spi/LoggerFactoryBinder.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/spi/LoggerFactoryBinder.java new file mode 100644 index 0000000..438cc08 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/spi/LoggerFactoryBinder.java @@ -0,0 +1,57 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.spi; + +import org.slf4j.ILoggerFactory; + +/** + * An internal interface which helps the static {@link org.slf4j.LoggerFactory} + * class bind with the appropriate {@link ILoggerFactory} instance. + * + * @author Ceki Gülcü + */ +public interface LoggerFactoryBinder { + + /** + * Return the instance of {@link ILoggerFactory} that + * {@link org.slf4j.LoggerFactory} class should bind to. + * + * @return the instance of {@link ILoggerFactory} that + * {@link org.slf4j.LoggerFactory} class should bind to. + */ + public ILoggerFactory getLoggerFactory(); + + /** + * The String form of the {@link ILoggerFactory} object that this + * LoggerFactoryBinder instance is intended to return. + * + *

This method allows the developer to intterogate this binder's intention + * which may be different from the {@link ILoggerFactory} instance it is able to + * yield in practice. The discrepency should only occur in case of errors. + * + * @return the class name of the intended {@link ILoggerFactory} instance + */ + public String getLoggerFactoryClassStr(); +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/spi/MDCAdapter.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/spi/MDCAdapter.java new file mode 100644 index 0000000..ac49211 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/spi/MDCAdapter.java @@ -0,0 +1,91 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.spi; + +import java.util.Map; + +/** + * This interface abstracts the service offered by various MDC + * implementations. + * + * @author Ceki Gülcü + * @since 1.4.1 + */ +public interface MDCAdapter { + + /** + * Put a context value (the val parameter) as identified with + * the key parameter into the current thread's context map. + * The key parameter cannot be null. The code>val parameter + * can be null only if the underlying implementation supports it. + * + *

If the current thread does not have a context map it is created as a side + * effect of this call. + */ + public void put(String key, String val); + + /** + * Get the context identified by the key parameter. + * The key parameter cannot be null. + * + * @return the string value identified by the key parameter. + */ + public String get(String key); + + /** + * Remove the the context identified by the key parameter. + * The key parameter cannot be null. + * + *

+ * This method does nothing if there is no previous value + * associated with key. + */ + public void remove(String key); + + /** + * Clear all entries in the MDC. + */ + public void clear(); + + /** + * Return a copy of the current thread's context map, with keys and + * values of type String. Returned value may be null. + * + * @return A copy of the current thread's context map. May be null. + * @since 1.5.1 + */ + public Map getCopyOfContextMap(); + + /** + * Set the current thread's context map by first clearing any existing + * map and then copying the map passed as parameter. The context map + * parameter must only contain keys and values of type String. + * + * @param contextMap must contain only keys and values of type String + * + * @since 1.5.1 + */ + public void setContextMap(Map contextMap); +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/spi/MarkerFactoryBinder.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/spi/MarkerFactoryBinder.java new file mode 100644 index 0000000..78b557c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/spi/MarkerFactoryBinder.java @@ -0,0 +1,58 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.spi; + +import org.slf4j.IMarkerFactory; + + +/** + * An internal interface which helps the static {@link org.slf4j.MarkerFactory} + * class bind with the appropriate {@link IMarkerFactory} instance. + * + * @author Ceki Gülcü + */ +public interface MarkerFactoryBinder { + + /** + * Return the instance of {@link IMarkerFactory} that + * {@link org.slf4j.MarkerFactory} class should bind to. + * + * @return the instance of {@link IMarkerFactory} that + * {@link org.slf4j.MarkerFactory} class should bind to. + */ + public IMarkerFactory getMarkerFactory(); + + /** + * The String form of the {@link IMarkerFactory} object that this + * MarkerFactoryBinder instance is intended to return. + * + *

This method allows the developer to intterogate this binder's intention + * which may be different from the {@link IMarkerFactory} instance it is able to + * return. Such a discrepency should only occur in case of errors. + * + * @return the class name of the intended {@link IMarkerFactory} instance + */ + public String getMarkerFactoryClassStr(); +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/spi/package.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/spi/package.html new file mode 100644 index 0000000..13ea892 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/java/org/slf4j/spi/package.html @@ -0,0 +1,8 @@ + + + + +Classes and interfaces which are internal to SLF4J. Under most +circumstances SLF4J users should be oblivious even to the existence of +this package. + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/resources/META-INF/MANIFEST.MF b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/resources/META-INF/MANIFEST.MF new file mode 100644 index 0000000..9dfbf9f --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/main/resources/META-INF/MANIFEST.MF @@ -0,0 +1,8 @@ +Implementation-Title: slf4j-api +Bundle-ManifestVersion: 2 +Bundle-SymbolicName: slf4j.api +Bundle-Name: slf4j-api +Bundle-Vendor: SLF4J.ORG +Bundle-RequiredExecutionEnvironment: J2SE-1.3 +Export-Package: org.slf4j;version=${parsedVersion.osgiVersion}, org.slf4j.spi;version=${parsedVersion.osgiVersion}, org.slf4j.helpers;version=${parsedVersion.osgiVersion} +Import-Package: org.slf4j.impl;version=${slf4j.api.minimum.compatible.version} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/test/java/org/slf4j/BasicMarkerTest.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/test/java/org/slf4j/BasicMarkerTest.java new file mode 100644 index 0000000..e1aff84 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/test/java/org/slf4j/BasicMarkerTest.java @@ -0,0 +1,196 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j; + +import java.util.Iterator; + +import junit.framework.TestCase; + +import org.slf4j.helpers.BasicMarkerFactory; + +/** + * Unit test BasicMarker + * + * @author Ceki Gülcü + * @author Joern Huxhorn + */ +public class BasicMarkerTest extends TestCase { + static final String BLUE_STR = "BLUE"; + static final String RED_STR = "RED"; + static final String GREEN_STR = "GREEN"; + static final String COMP_STR = "COMP"; + static final String MULTI_COMP_STR = "MULTI_COMP"; + static final String PARENT_MARKER_STR = "PARENT_MARKER"; + static final String CHILD_MARKER_STR = "CHILD_MARKER"; + static final String NOT_CONTAINED_MARKER_STR = "NOT_CONTAINED"; + + final IMarkerFactory factory; + final Marker blue; + final Marker red; + final Marker green; + final Marker comp; + final Marker multiComp; + + short diff = Differentiator.getDiffentiator(); + + public BasicMarkerTest() { + factory = new BasicMarkerFactory(); + + blue = factory.getMarker(BLUE_STR); + red = factory.getMarker(RED_STR); + green = factory.getMarker(GREEN_STR); + comp = factory.getMarker(COMP_STR); + comp.add(blue); + + multiComp = factory.getMarker(MULTI_COMP_STR); + multiComp.add(green); + multiComp.add(comp); + } + + public void testPrimitive() { + assertEquals(BLUE_STR, blue.getName()); + assertTrue(blue.contains(blue)); + + Marker blue2 = factory.getMarker(BLUE_STR); + assertEquals(BLUE_STR, blue2.getName()); + assertEquals(blue, blue2); + assertTrue(blue.contains(blue2)); + assertTrue(blue2.contains(blue)); + } + + public void testPrimitiveByName() { + assertTrue(blue.contains(BLUE_STR)); + } + + public void testComposite() { + assertTrue(comp.contains(comp)); + assertTrue(comp.contains(blue)); + } + + public void testCompositeByName() { + assertTrue(comp.contains(COMP_STR)); + assertTrue(comp.contains(BLUE_STR)); + } + + public void testMultiComposite() { + assertTrue(multiComp.contains(comp)); + assertTrue(multiComp.contains(blue)); + assertTrue(multiComp.contains(green)); + assertFalse(multiComp.contains(red)); + } + + public void testMultiCompositeByName() { + assertTrue(multiComp.contains(COMP_STR)); + assertTrue(multiComp.contains(BLUE_STR)); + assertTrue(multiComp.contains(GREEN_STR)); + assertFalse(multiComp.contains(RED_STR)); + } + + public void testMultiAdd() { + Marker parent = factory.getMarker(PARENT_MARKER_STR); + Marker child = factory.getMarker(CHILD_MARKER_STR); + for (int i = 0; i < 10; i++) { + parent.add(child); + } + + // check that the child was added once and only once + Iterator iterator = parent.iterator(); + assertTrue(iterator.hasNext()); + assertEquals(CHILD_MARKER_STR, iterator.next().toString()); + assertFalse(iterator.hasNext()); + } + + public void testAddRemove() { + final String NEW_PREFIX = "NEW_"; + Marker parent = factory.getMarker(NEW_PREFIX + PARENT_MARKER_STR); + Marker child = factory.getMarker(NEW_PREFIX + CHILD_MARKER_STR); + assertFalse(parent.contains(child)); + assertFalse(parent.contains(NEW_PREFIX + CHILD_MARKER_STR)); + assertFalse(parent.remove(child)); + + parent.add(child); + + assertTrue(parent.contains(child)); + assertTrue(parent.contains(NEW_PREFIX + CHILD_MARKER_STR)); + + assertTrue(parent.remove(child)); + + assertFalse(parent.contains(child)); + assertFalse(parent.contains(NEW_PREFIX + CHILD_MARKER_STR)); + assertFalse(parent.remove(child)); + } + + public void testSelfRecursion() { + final String diffPrefix = "NEW_"+diff; + final String PARENT_NAME = diffPrefix + PARENT_MARKER_STR; + final String NOT_CONTAINED_NAME = diffPrefix + NOT_CONTAINED_MARKER_STR; + Marker parent = factory.getMarker(PARENT_NAME); + Marker notContained = factory.getMarker(NOT_CONTAINED_NAME); + parent.add(parent); + assertTrue(parent.contains(parent)); + assertTrue(parent.contains(PARENT_NAME)); + assertFalse(parent.contains(notContained)); + assertFalse(parent.contains(NOT_CONTAINED_MARKER_STR)); + } + + public void testIndirectRecursion() { + final String diffPrefix = "NEW_"+diff; + final String PARENT_NAME=diffPrefix+PARENT_MARKER_STR; + final String CHILD_NAME=diffPrefix+CHILD_MARKER_STR; + final String NOT_CONTAINED_NAME=diffPrefix+NOT_CONTAINED_MARKER_STR; + + Marker parent = factory.getMarker(PARENT_NAME); + Marker child = factory.getMarker(CHILD_NAME); + Marker notContained = factory.getMarker(NOT_CONTAINED_NAME); + + parent.add(child); + child.add(parent); + assertTrue(parent.contains(parent)); + assertTrue(parent.contains(child)); + assertTrue(parent.contains(PARENT_NAME)); + assertTrue(parent.contains(CHILD_NAME)); + assertFalse(parent.contains(notContained)); + assertFalse(parent.contains(NOT_CONTAINED_MARKER_STR)); + } + + public void testHomonyms() { + final String diffPrefix = "homonym"+diff; + final String PARENT_NAME=diffPrefix+PARENT_MARKER_STR; + final String CHILD_NAME=diffPrefix+CHILD_MARKER_STR; + Marker parent = factory.getMarker(PARENT_NAME); + Marker child = factory.getMarker(CHILD_NAME); + parent.add(child); + + IMarkerFactory otherFactory = new BasicMarkerFactory(); + Marker otherParent = otherFactory.getMarker(PARENT_NAME); + Marker otherChild = otherFactory.getMarker(CHILD_NAME); + + assertTrue(parent.contains(otherParent)); + assertTrue(parent.contains(otherChild)); + + assertTrue(parent.remove(otherChild)); + } + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/test/java/org/slf4j/Differentiator.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/test/java/org/slf4j/Differentiator.java new file mode 100644 index 0000000..3efaddd --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/test/java/org/slf4j/Differentiator.java @@ -0,0 +1,37 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +package org.slf4j; + +import java.util.Random; + +public class Differentiator { + + static Random random = new Random(System.currentTimeMillis()); + + static public short getDiffentiator() { + return (short) random.nextInt(Short.MAX_VALUE); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/test/java/org/slf4j/NoBindingTest.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/test/java/org/slf4j/NoBindingTest.java new file mode 100644 index 0000000..bdfbe75 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/test/java/org/slf4j/NoBindingTest.java @@ -0,0 +1,53 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j; + +import java.util.Random; + +import org.slf4j.helpers.BasicMarker; +import org.slf4j.helpers.NOPLogger; + +import junit.framework.TestCase; + +public class NoBindingTest extends TestCase { + + int diff = new Random().nextInt(10000); + + public void testLogger() { + Logger logger = LoggerFactory.getLogger(NoBindingTest.class); + logger.debug("hello"+diff); + assertTrue(logger instanceof NOPLogger); + } + + public void testMDC() { + MDC.put("k"+diff, "v"); + assertNull(MDC.get("k")); + } + + public void testMarker() { + Marker m = MarkerFactory.getMarker("a"+diff); + assertTrue(m instanceof BasicMarker); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/test/java/org/slf4j/helpers/BogoPerf.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/test/java/org/slf4j/helpers/BogoPerf.java new file mode 100644 index 0000000..0921b98 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/test/java/org/slf4j/helpers/BogoPerf.java @@ -0,0 +1,159 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.helpers; + +import junit.framework.AssertionFailedError; + +/** + * BogoPerf is used to check that the time required to perform a certain + * operation does not deteriorate over time. BogoPerf adjusts to the CPU speed + * and capabilities of the host. + * + * @author Ceki Gülcü + * + */ +public class BogoPerf { + + private static long NANOS_IN_ONE_SECOND = 1000 * 1000 * 1000; + private static int INITIAL_N = 1000; + private static int LAST_N = 100; + private static int SLACK_FACTOR = 3; + + static { + // let the JIT warm up + computeBogoIPS(INITIAL_N); + double bogo_ips = computeBogoIPS(INITIAL_N); + System.out.println("Host runs at " + bogo_ips + " BIPS"); + } + + /** + * Compute bogoInstructions per second + *

+ * on a 3.2 Ghz Pentium D CPU (around 2007), we obtain about 9'000 bogoIPS. + * + * @param N + * number of bogoInstructions to average over in order to + * compute the result + * @return bogo Instructions Per Second + */ + private static double computeBogoIPS(int N) { + long begin = System.nanoTime(); + + for (int i = 0; i < N; i++) { + bogoInstruction(); + } + long end = System.nanoTime(); + + // duration + double D = end - begin; + // average duration per instruction + double avgDPIS = D / N; + // System.out.println(D + " nanos for " + N + " instructions"); + // System.out.println(avgD + " nanos per instruction"); + + double bogoIPS = NANOS_IN_ONE_SECOND / avgDPIS; + // System.out.println(bogoIPS + " bogoIPS"); + + return bogoIPS; + } + + private static void bogoInstruction() { + // use our own random number generator, independent of the host JDK + MyRandom myRandom = new MyRandom(100); + int len = 150; + int[] intArray = new int[len]; + for (int i = 0; i < len; i++) { + intArray[i] = myRandom.nextInt(); + } + // use our own sort algorithm, independent of the host JDK + BubbleSort.sort(intArray); + } + + /** + * Computed the BogoIPS for this host CPU. + * + * @return + */ + public static double currentBIPS() { + return computeBogoIPS(LAST_N); + } + + static double min(double a, double b) { + return (a <= b) ? a : b; + } + + /** + * Assertion used for values that decrease with faster CPUs, typically + * the time (duration) needed to perform a task. + * + * @param currentDuration + * @param referenceDuration + * @param referenceBIPS + * @throws AssertionFailedError + */ + public static void assertDuration(double currentDuration, + long referenceDuration, double referenceBIPS) throws AssertionFailedError { + double ajustedDuration = adjustExpectedDuration(referenceDuration, + referenceBIPS); + if (currentDuration > ajustedDuration * SLACK_FACTOR) { + throw new AssertionFailedError("current duration " + currentDuration + + " exceeded expected " + ajustedDuration + " (adjusted reference), " + + referenceDuration + " (raw reference)"); + } + } + + /** + * Assertion used for values that increase with faster CPUs, typically + * the number of operations accomplished per unit of time. + * + * @param currentPerformance + * @param referencePerformance + * @param referenceBIPS + * @throws AssertionFailedError + */ + public static void assertPerformance(double currentPerformance, + long referencePerformance, double referenceBIPS) + throws AssertionFailedError { + double ajustedPerf = adjustExpectedPerformance(referencePerformance, + referenceBIPS); + if (currentPerformance * SLACK_FACTOR < ajustedPerf) { + throw new AssertionFailedError(currentPerformance + " below expected " + + ajustedPerf + " (adjusted), " + referencePerformance + " (raw)"); + } + } + + private static double adjustExpectedPerformance(long referenceDuration, + double referenceBIPS) { + double currentBIPS = currentBIPS(); + return referenceDuration * (currentBIPS / referenceBIPS); + } + + private static double adjustExpectedDuration(long referenceDuration, + double referenceBIPS) { + double currentBIPS = currentBIPS(); + System.out.println("currentBIPS=" + currentBIPS + " BIPS"); + return referenceDuration * (referenceBIPS / currentBIPS); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/test/java/org/slf4j/helpers/BubbleSort.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/test/java/org/slf4j/helpers/BubbleSort.java new file mode 100644 index 0000000..6c09e24 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/test/java/org/slf4j/helpers/BubbleSort.java @@ -0,0 +1,50 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.helpers; + +/** + * This class is used internally by BogoPerf, hence the package private + * (default) access. + * + * @author Ceki + */ +class BubbleSort { + + static void sort(int[] a) { + int len = a.length; + for (int i = 0; i < len - 1; i++) { + for (int j = 0; j < len - 1 - i; j++) { + if (a[j] > a[j + 1]) { + swap(a, j, j + 1); + } + } + } + } + static void swap(int[] a, int i, int j) { + int t = a[i]; + a[i] = a[j]; + a[j] = t; + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/test/java/org/slf4j/helpers/BubbleSortTest.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/test/java/org/slf4j/helpers/BubbleSortTest.java new file mode 100644 index 0000000..24f2f30 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/test/java/org/slf4j/helpers/BubbleSortTest.java @@ -0,0 +1,101 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.helpers; + +import java.util.Arrays; +import java.util.Random; + +import junit.framework.TestCase; + +/** + * Test that our BubbleSort algorithm is correctly implemented. + * + * @author Ceki + * + */ +public class BubbleSortTest extends TestCase { + + public void testSmoke() { + int[] a = new int[] {5,3,2,7}; + BubbleSort.sort(a); + int i = 0; + assertEquals(2, a[i++]); + assertEquals(3, a[i++]); + assertEquals(5, a[i++]); + assertEquals(7, a[i++]); + } + + public void testEmpty() { + int[] a = new int[] {}; + BubbleSort.sort(a); + } + + public void testSorted() { + int[] a = new int[] {3,30,300,3000}; + BubbleSort.sort(a); + int i = 0; + assertEquals(3, a[i++]); + assertEquals(30, a[i++]); + assertEquals(300, a[i++]); + assertEquals(3000, a[i++]); + } + + public void testInverted() { + int[] a = new int[] {3000,300,30,3}; + BubbleSort.sort(a); + int i = 0; + assertEquals(3, a[i++]); + assertEquals(30, a[i++]); + assertEquals(300, a[i++]); + assertEquals(3000, a[i++]); + } + + public void testWithSameEntry() { + int[] a = new int[] {10,20,10,20}; + BubbleSort.sort(a); + int i = 0; + assertEquals(10, a[i++]); + assertEquals(10, a[i++]); + assertEquals(20, a[i++]); + assertEquals(20, a[i++]); + } + + + public void testRandom() { + int len = 100; + Random random = new Random(156); + int[] a = new int[len]; + int[] witness = new int[len]; + for(int i = 0; i < len; i++) { + int r = random.nextInt(); + a[i] = r; + witness[i] = r; + } + BubbleSort.sort(a); + Arrays.sort(witness); + assertTrue(Arrays.equals(witness, a)); + } + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/test/java/org/slf4j/helpers/MessageFormatterPerfTest.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/test/java/org/slf4j/helpers/MessageFormatterPerfTest.java new file mode 100644 index 0000000..8c4634a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/test/java/org/slf4j/helpers/MessageFormatterPerfTest.java @@ -0,0 +1,112 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.helpers; + +import java.text.MessageFormat; + +import junit.framework.TestCase; + +public class MessageFormatterPerfTest extends TestCase { + + Integer i1 = new Integer(1); + Integer i2 = new Integer(2); + static long RUN_LENGTH = 100 * 1000; + // + static long REFERENCE_BIPS = 48416; + + public MessageFormatterPerfTest(String name) { + super(name); + } + + protected void setUp() throws Exception { + } + + protected void tearDown() throws Exception { + } + + public void XtestJDKFormatterPerf() { + jdkMessageFormatter(RUN_LENGTH); + double duration = jdkMessageFormatter(RUN_LENGTH); + System.out.println("jdk duration = " + duration + " nanos"); + } + + public void testSLF4JPerf_OneArg() { + slf4jMessageFormatter_OneArg(RUN_LENGTH); + double duration = slf4jMessageFormatter_OneArg(RUN_LENGTH); + System.out.println("duration=" + duration); + long referencePerf = 36; + BogoPerf.assertDuration(duration, referencePerf, REFERENCE_BIPS); + } + + public void testSLF4JPerf_TwoArg() { + slf4jMessageFormatter_TwoArg(RUN_LENGTH); + double duration = slf4jMessageFormatter_TwoArg(RUN_LENGTH); + long referencePerf = 60; + BogoPerf.assertDuration(duration, referencePerf, REFERENCE_BIPS); + } + + + public double slf4jMessageFormatter_OneArg(long len) { + long start = System.nanoTime(); + for (int i = 0; i < len; i++) { + final FormattingTuple tp = MessageFormatter.format("This is some rather short message {} ", i1); + tp.getMessage(); + tp.getArgArray(); + tp.getThrowable(); + + MessageFormatter.format("This is some rather short message {} ", i1); + } + long end = System.nanoTime(); + return (end - start)/(1000*1000.0); + } + + public double slf4jMessageFormatter_TwoArg(long len) { + long start = System.nanoTime(); + for (int i = 0; i < len; i++) { + final FormattingTuple tp = MessageFormatter.format( + "This is some {} short message {} ", i1, i2); + tp.getMessage(); + tp.getArgArray(); + tp.getThrowable(); + } + long end = System.nanoTime(); + return (end - start)/(1000*1000.0); + } + + + + public double jdkMessageFormatter(long len) { + String s = ""; + s += ""; // keep compiler happy + long start = System.currentTimeMillis(); + Object[] oa = new Object[] { i1 }; + for (int i = 0; i < len; i++) { + s = MessageFormat.format("This is some rather short message {0}", oa); + } + long end = System.currentTimeMillis(); + return (1.0 * end - start); + } + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/test/java/org/slf4j/helpers/MessageFormatterTest.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/test/java/org/slf4j/helpers/MessageFormatterTest.java new file mode 100644 index 0000000..25b79c3 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/test/java/org/slf4j/helpers/MessageFormatterTest.java @@ -0,0 +1,349 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.helpers; + +import java.util.Arrays; + +import junit.framework.TestCase; + +/** + * @author Ceki Gulcu + * + */ +public class MessageFormatterTest extends TestCase { + + Integer i1 = new Integer(1); + Integer i2 = new Integer(2); + Integer i3 = new Integer(3); + Integer[] ia0 = new Integer[] { i1, i2, i3 }; + Integer[] ia1 = new Integer[] { new Integer(10), new Integer(20), + new Integer(30) }; + + String result; + + public void testNull() { + result = MessageFormatter.format(null, i1).getMessage(); + assertEquals(null, result); + } + + public void testNullParam() { + result = MessageFormatter.format("Value is {}.", null).getMessage(); + assertEquals("Value is null.", result); + + result = MessageFormatter.format("Val1 is {}, val2 is {}.", null, null) + .getMessage(); + assertEquals("Val1 is null, val2 is null.", result); + + result = MessageFormatter.format("Val1 is {}, val2 is {}.", i1, null) + .getMessage(); + assertEquals("Val1 is 1, val2 is null.", result); + + result = MessageFormatter.format("Val1 is {}, val2 is {}.", null, i2) + .getMessage(); + assertEquals("Val1 is null, val2 is 2.", result); + + result = MessageFormatter.arrayFormat("Val1 is {}, val2 is {}, val3 is {}", + new Integer[] { null, null, null }).getMessage(); + assertEquals("Val1 is null, val2 is null, val3 is null", result); + + result = MessageFormatter.arrayFormat("Val1 is {}, val2 is {}, val3 is {}", + new Integer[] { null, i2, i3 }).getMessage(); + assertEquals("Val1 is null, val2 is 2, val3 is 3", result); + + result = MessageFormatter.arrayFormat("Val1 is {}, val2 is {}, val3 is {}", + new Integer[] { null, null, i3 }).getMessage(); + assertEquals("Val1 is null, val2 is null, val3 is 3", result); + } + + public void testOneParameter() { + result = MessageFormatter.format("Value is {}.", i3).getMessage(); + assertEquals("Value is 3.", result); + + result = MessageFormatter.format("Value is {", i3).getMessage(); + assertEquals("Value is {", result); + + result = MessageFormatter.format("{} is larger than 2.", i3).getMessage(); + assertEquals("3 is larger than 2.", result); + + result = MessageFormatter.format("No subst", i3).getMessage(); + assertEquals("No subst", result); + + result = MessageFormatter.format("Incorrect {subst", i3).getMessage(); + assertEquals("Incorrect {subst", result); + + result = MessageFormatter.format("Value is {bla} {}", i3).getMessage(); + assertEquals("Value is {bla} 3", result); + + result = MessageFormatter.format("Escaped \\{} subst", i3).getMessage(); + assertEquals("Escaped {} subst", result); + + result = MessageFormatter.format("{Escaped", i3).getMessage(); + assertEquals("{Escaped", result); + + result = MessageFormatter.format("\\{}Escaped", i3).getMessage(); + assertEquals("{}Escaped", result); + + result = MessageFormatter.format("File name is {{}}.", "App folder.zip") + .getMessage(); + assertEquals("File name is {App folder.zip}.", result); + + // escaping the escape character + result = MessageFormatter + .format("File name is C:\\\\{}.", "App folder.zip").getMessage(); + assertEquals("File name is C:\\App folder.zip.", result); + } + + public void testTwoParameters() { + result = MessageFormatter.format("Value {} is smaller than {}.", i1, i2) + .getMessage(); + assertEquals("Value 1 is smaller than 2.", result); + + result = MessageFormatter.format("Value {} is smaller than {}", i1, i2) + .getMessage(); + assertEquals("Value 1 is smaller than 2", result); + + result = MessageFormatter.format("{}{}", i1, i2).getMessage(); + assertEquals("12", result); + + result = MessageFormatter.format("Val1={}, Val2={", i1, i2).getMessage(); + assertEquals("Val1=1, Val2={", result); + + result = MessageFormatter.format("Value {} is smaller than \\{}", i1, i2) + .getMessage(); + assertEquals("Value 1 is smaller than {}", result); + + result = MessageFormatter.format("Value {} is smaller than \\{} tail", i1, + i2).getMessage(); + assertEquals("Value 1 is smaller than {} tail", result); + + result = MessageFormatter.format("Value {} is smaller than \\{", i1, i2) + .getMessage(); + assertEquals("Value 1 is smaller than \\{", result); + + result = MessageFormatter.format("Value {} is smaller than {tail", i1, i2) + .getMessage(); + assertEquals("Value 1 is smaller than {tail", result); + + result = MessageFormatter.format("Value \\{} is smaller than {}", i1, i2) + .getMessage(); + assertEquals("Value {} is smaller than 1", result); + } + + public void testExceptionIn_toString() { + Object o = new Object() { + public String toString() { + throw new IllegalStateException("a"); + } + }; + result = MessageFormatter.format("Troublesome object {}", o).getMessage(); + assertEquals("Troublesome object [FAILED toString()]", result); + + } + + public void testNullArray() { + String msg0 = "msg0"; + String msg1 = "msg1 {}"; + String msg2 = "msg2 {} {}"; + String msg3 = "msg3 {} {} {}"; + + Object[] args = null; + + result = MessageFormatter.arrayFormat(msg0, args).getMessage(); + assertEquals(msg0, result); + + result = MessageFormatter.arrayFormat(msg1, args).getMessage(); + assertEquals(msg1, result); + + result = MessageFormatter.arrayFormat(msg2, args).getMessage(); + assertEquals(msg2, result); + + result = MessageFormatter.arrayFormat(msg3, args).getMessage(); + assertEquals(msg3, result); + } + + // tests the case when the parameters are supplied in a single array + public void testArrayFormat() { + result = MessageFormatter.arrayFormat( + "Value {} is smaller than {} and {}.", ia0).getMessage(); + assertEquals("Value 1 is smaller than 2 and 3.", result); + + result = MessageFormatter.arrayFormat("{}{}{}", ia0).getMessage(); + assertEquals("123", result); + + result = MessageFormatter.arrayFormat("Value {} is smaller than {}.", ia0) + .getMessage(); + assertEquals("Value 1 is smaller than 2.", result); + + result = MessageFormatter.arrayFormat("Value {} is smaller than {}", ia0) + .getMessage(); + assertEquals("Value 1 is smaller than 2", result); + + result = MessageFormatter.arrayFormat("Val={}, {, Val={}", ia0) + .getMessage(); + assertEquals("Val=1, {, Val=2", result); + + result = MessageFormatter.arrayFormat("Val={}, {, Val={}", ia0) + .getMessage(); + assertEquals("Val=1, {, Val=2", result); + + result = MessageFormatter.arrayFormat("Val1={}, Val2={", ia0).getMessage(); + assertEquals("Val1=1, Val2={", result); + } + + public void testArrayValues() { + Integer p0 = i1; + Integer[] p1 = new Integer[] { i2, i3 }; + + result = MessageFormatter.format("{}{}", p0, p1).getMessage(); + assertEquals("1[2, 3]", result); + + // Integer[] + result = MessageFormatter.arrayFormat("{}{}", new Object[] { "a", p1 }) + .getMessage(); + assertEquals("a[2, 3]", result); + + // byte[] + result = MessageFormatter.arrayFormat("{}{}", + new Object[] { "a", new byte[] { 1, 2 } }).getMessage(); + assertEquals("a[1, 2]", result); + + // int[] + result = MessageFormatter.arrayFormat("{}{}", + new Object[] { "a", new int[] { 1, 2 } }).getMessage(); + assertEquals("a[1, 2]", result); + + // float[] + result = MessageFormatter.arrayFormat("{}{}", + new Object[] { "a", new float[] { 1, 2 } }).getMessage(); + assertEquals("a[1.0, 2.0]", result); + + // double[] + result = MessageFormatter.arrayFormat("{}{}", + new Object[] { "a", new double[] { 1, 2 } }).getMessage(); + assertEquals("a[1.0, 2.0]", result); + + } + + public void testMultiDimensionalArrayValues() { + Integer[][] multiIntegerA = new Integer[][] { ia0, ia1 }; + result = MessageFormatter.arrayFormat("{}{}", + new Object[] { "a", multiIntegerA }).getMessage(); + assertEquals("a[[1, 2, 3], [10, 20, 30]]", result); + + int[][] multiIntA = new int[][] { { 1, 2 }, { 10, 20 } }; + result = MessageFormatter.arrayFormat("{}{}", + new Object[] { "a", multiIntA }).getMessage(); + assertEquals("a[[1, 2], [10, 20]]", result); + + float[][] multiFloatA = new float[][] { { 1, 2 }, { 10, 20 } }; + result = MessageFormatter.arrayFormat("{}{}", + new Object[] { "a", multiFloatA }).getMessage(); + assertEquals("a[[1.0, 2.0], [10.0, 20.0]]", result); + + Object[][] multiOA = new Object[][] { ia0, ia1 }; + result = MessageFormatter + .arrayFormat("{}{}", new Object[] { "a", multiOA }).getMessage(); + assertEquals("a[[1, 2, 3], [10, 20, 30]]", result); + + Object[][][] _3DOA = new Object[][][] { multiOA, multiOA }; + result = MessageFormatter.arrayFormat("{}{}", new Object[] { "a", _3DOA }) + .getMessage(); + assertEquals("a[[[1, 2, 3], [10, 20, 30]], [[1, 2, 3], [10, 20, 30]]]", + result); + } + + public void testCyclicArrays() { + { + Object[] cyclicA = new Object[1]; + cyclicA[0] = cyclicA; + assertEquals("[[...]]", MessageFormatter.arrayFormat("{}", cyclicA) + .getMessage()); + } + { + Object[] a = new Object[2]; + a[0] = i1; + Object[] c = new Object[] { i3, a }; + Object[] b = new Object[] { i2, c }; + a[1] = b; + assertEquals("1[2, [3, [1, [...]]]]", MessageFormatter.arrayFormat( + "{}{}", a).getMessage()); + } + } + + public void testArrayThrowable() { + FormattingTuple ft; + Throwable t = new Throwable(); + Object[] ia = new Object[] { i1, i2, i3, t }; + Object[] iaWitness = new Object[] { i1, i2, i3 }; + + ft = MessageFormatter + .arrayFormat("Value {} is smaller than {} and {}.", ia); + assertEquals("Value 1 is smaller than 2 and 3.", ft.getMessage()); + assertTrue(Arrays.equals(iaWitness, ft.getArgArray())); + assertEquals(t, ft.getThrowable()); + + ft = MessageFormatter.arrayFormat("{}{}{}", ia); + assertEquals("123", ft.getMessage()); + assertTrue(Arrays.equals(iaWitness, ft.getArgArray())); + assertEquals(t, ft.getThrowable()); + + ft = MessageFormatter.arrayFormat("Value {} is smaller than {}.", ia); + assertEquals("Value 1 is smaller than 2.", ft.getMessage()); + assertTrue(Arrays.equals(iaWitness, ft.getArgArray())); + assertEquals(t, ft.getThrowable()); + + ft = MessageFormatter.arrayFormat("Value {} is smaller than {}", ia); + assertEquals("Value 1 is smaller than 2", ft.getMessage()); + assertTrue(Arrays.equals(iaWitness, ft.getArgArray())); + assertEquals(t, ft.getThrowable()); + + ft = MessageFormatter.arrayFormat("Val={}, {, Val={}", ia); + assertEquals("Val=1, {, Val=2", ft.getMessage()); + assertTrue(Arrays.equals(iaWitness, ft.getArgArray())); + assertEquals(t, ft.getThrowable()); + + ft = MessageFormatter.arrayFormat("Val={}, \\{, Val={}", ia); + assertEquals("Val=1, \\{, Val=2", ft.getMessage()); + assertTrue(Arrays.equals(iaWitness, ft.getArgArray())); + assertEquals(t, ft.getThrowable()); + + ft = MessageFormatter.arrayFormat("Val1={}, Val2={", ia); + assertEquals("Val1=1, Val2={", ft.getMessage()); + assertTrue(Arrays.equals(iaWitness, ft.getArgArray())); + assertEquals(t, ft.getThrowable()); + + ft = MessageFormatter.arrayFormat( + "Value {} is smaller than {} and {} -- {} .", ia); + assertEquals("Value 1 is smaller than 2 and 3 -- " + t.toString() + " .", + ft.getMessage()); + assertTrue(Arrays.equals(ia, ft.getArgArray())); + assertNull(ft.getThrowable()); + + ft = MessageFormatter.arrayFormat("{}{}{}{}", ia); + assertEquals("123" + t.toString(), ft.getMessage()); + assertTrue(Arrays.equals(ia, ft.getArgArray())); + assertNull(ft.getThrowable()); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/test/java/org/slf4j/helpers/MyRandom.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/test/java/org/slf4j/helpers/MyRandom.java new file mode 100644 index 0000000..926e64f --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-api/src/test/java/org/slf4j/helpers/MyRandom.java @@ -0,0 +1,56 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.helpers; + + +class MyRandom { + + private static final long serialVersionUID = -907426287094698288L; + + private final static long m = 200000000041L; // a prime number + private final static long a = 2000000011L; // a prime number + + long y; + long unused; + int bits = 32; + + public MyRandom() { + this(System.nanoTime()); + } + + + public MyRandom(long seed) { + this.y = seed; + } + + + int nextInt() { + // we don't really care about the randomness of this + // generator + y = (a*y + 1) % m; + unused = y >>> (48-bits); // just exercise the >>> operator + return (int)(y); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext-1.7.5-sources.jar b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext-1.7.5-sources.jar new file mode 100644 index 0000000..3db2629 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext-1.7.5-sources.jar differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext-1.7.5.jar b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext-1.7.5.jar new file mode 100644 index 0000000..1595815 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext-1.7.5.jar differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/pom.xml b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/pom.xml new file mode 100644 index 0000000..61f89a0 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/pom.xml @@ -0,0 +1,105 @@ + + + + org.slf4j + slf4j-parent + 1.7.5 + + + 4.0.0 + + org.slf4j + slf4j-ext + jar + SLF4J Extensions Module + Extensions to the SLF4J API + + http://www.slf4j.org + + + + org.slf4j + slf4j-api + + + org.slf4j + slf4j-log4j12 + ${project.version} + test + + + ch.qos.cal10n + cal10n-api + + + javassist + javassist + 3.4.GA + true + + + commons-lang + commons-lang + 2.4 + true + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + 1.5 + 1.5 + + + + + org.apache.maven.plugins + maven-surefire-plugin + + + false + once + plain + false + + **/AllTest.java + **/PackageTest.java + + + + + + + org.apache.maven.plugins + maven-jar-plugin + + + + ${parsedVersion.osgiVersion} + ${project.description} + ${project.version} + org.slf4j.agent.AgentPremain + + ../../../../javassist/javassist/3.4.GA/javassist-3.4.GA.jar javassist-3.4.GA.jar javassist.jar + + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/NDC.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/NDC.java new file mode 100644 index 0000000..0e5ac53 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/NDC.java @@ -0,0 +1,62 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j; + +import org.slf4j.MDC; + +public class NDC { + public final static String PREFIX = "NDC"; + + private static int size() { + int i = 0; + while (true) { + String val = MDC.get(PREFIX + i); + if (val != null) { + i++; + } else { + break; + } + } + return i; + } + + public static void push(String val) { + int next = size(); + MDC.put(PREFIX + next, val); + } + + public static String pop() { + int next = size(); + if(next == 0) { + return ""; + } + int last = next-1; + String key = PREFIX+last; + String val = MDC.get(key); + MDC.remove(key); + return val; + } + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/agent/AgentOptions.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/agent/AgentOptions.java new file mode 100644 index 0000000..fa57743 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/agent/AgentOptions.java @@ -0,0 +1,63 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.agent; + +/** + *

+ * All recognized options in the string passed to the java agent. For + * "java -javaagent:foo.jar=OPTIONS HelloWorld" this would be "OPTIONS". + *

+ *

+ * It is considered to be a list of options separated by (currently) ";", on the + * form "option=value". The interpretation of "value" is specific to each + * option. + *

+ */ +public class AgentOptions { + + /** + * List of class prefixes to ignore when instrumenting. Note: Classes loaded + * before the agent cannot be instrumented. + */ + public static final String IGNORE = "ignore"; + /** + * Indicate the SLF4J level that should be used by the logging statements + * added by the agent. Default is "info". + */ + public static final String LEVEL = "level"; + /** + * Indicate that the agent should print out "new java.util.Date()" at the time + * the option was processed and at shutdown time (using the shutdown hook). + * + */ + public static final String TIME = "time"; + /** + * Indicate that the agent should log actions to System.err, like adding + * logging to methods, etc. + * + */ + public static final String VERBOSE = "verbose"; + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/agent/AgentPremain.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/agent/AgentPremain.java new file mode 100644 index 0000000..851c97b --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/agent/AgentPremain.java @@ -0,0 +1,131 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.agent; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.lang.instrument.Instrumentation; +import java.util.Date; +import java.util.Properties; + +import org.slf4j.instrumentation.LogTransformer; + +/** + * Entry point for slf4j-ext when used as a Java agent. + * + */ +public class AgentPremain { + + /** + * JavaAgent premain entry point as specified in the MANIFEST.MF file. See + * {@link http + * ://java.sun.com/javase/6/docs/api/java/lang/instrument/package- + * summary.html} for details. + * + * @param agentArgument + * string provided after "=" up to first space + * @param instrumentation + * instrumentation environment provided by the JVM + */ + public static void premain(String agentArgument, + Instrumentation instrumentation) { + + // We cannot do sanity checks for slf4j here as the jars loaded + // by the application are not visible here. + + LogTransformer.Builder builder = new LogTransformer.Builder(); + builder = builder.addEntryExit(true); + + if (agentArgument != null) { + Properties args = parseArguments(agentArgument, ","); + + if (args.containsKey(AgentOptions.VERBOSE)) { + builder = builder.verbose(true); + } + + if (args.containsKey(AgentOptions.TIME)) { + printStartStopTimes(); + } + + if (args.containsKey(AgentOptions.IGNORE)) { + String ignore = args.getProperty(AgentOptions.IGNORE); + builder = builder.ignore(ignore.split(":")); + } + + if (args.containsKey(AgentOptions.LEVEL)) { + builder = builder.level(args.getProperty(AgentOptions.LEVEL)); + } + } + + instrumentation.addTransformer(builder.build()); + } + + /** + * Consider the argument string to be a property file (by converting the + * splitter character to line feeds), and then reading it like any other + * property file. + * + * + * @param agentArgument + * string given by instrumentation framework + * @param separator + * String to convert to line feeds + * @return argument converted to properties + */ + private static Properties parseArguments(String agentArgument, + String separator) { + Properties p = new Properties(); + try { + String argumentAsLines = agentArgument.replaceAll(separator, "\n"); + p.load(new ByteArrayInputStream(argumentAsLines.getBytes())); + } catch (IOException e) { + String s = "Could not load arguments as properties"; + throw new RuntimeException(s, e); + } + return p; + } + + /** + * Print the start message to System.err with the time NOW, and register a + * shutdown hook which will print the stop message to System.err with the + * time then and the number of milliseconds passed since. + * + */ + private static void printStartStopTimes() { + final long start = System.currentTimeMillis(); + + System.err.println("Start at " + new Date()); + + Thread hook = new Thread() { + @Override + public void run() { + long timePassed = System.currentTimeMillis() - start; + System.err.println("Stop at " + new Date() + + ", execution time = " + timePassed + " ms"); + } + }; + Runtime.getRuntime().addShutdownHook(hook); + } +} \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/agent/package.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/agent/package.html new file mode 100644 index 0000000..6172646 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/agent/package.html @@ -0,0 +1,33 @@ + + + + + + + + + +

"-javaagent" routines for SLF4J.

+

The "-javaagent" flag provided in Java 5+ allows for writing +agents in Java, which previously was possible in native code only. The +full details are available at http://java.sun.com/javase/6/docs/api/java/lang/instrument/package-summary.html. + + +Please notice that code made available to the java agent is also +available to the actual program executed.

+

The slf4j-ext-X.Y.Z.jar file provides such a java agent, which is +implemented in AgentPremain.java. It is used by adding a -javaagent flag to the Java command line: + +E.g. +

java HelloWorld
+is changed to +
java -javaagent:/path/to/slf4j-ext-X.Y.Z.jar=OPTIONS HelloWorld
+ +What is actually done, depends on the OPTIONS passed to the agent. These are listed in AgentOptions.java. +

+ + + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/cal10n/LocLogger.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/cal10n/LocLogger.java new file mode 100644 index 0000000..88efdb0 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/cal10n/LocLogger.java @@ -0,0 +1,178 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.cal10n; + +import org.slf4j.Logger; +import org.slf4j.Marker; +import org.slf4j.MarkerFactory; +import org.slf4j.ext.LoggerWrapper; +import org.slf4j.spi.LocationAwareLogger; + +import ch.qos.cal10n.IMessageConveyor; +import ch.qos.cal10n.MessageParameterObj; + +/** + * A logger specialized in localized logging. Localization is based in the CAL10N project

. + * + * @author Ceki Gülcü + */ +public class LocLogger extends LoggerWrapper implements Logger { + + private static final String FQCN = LocLogger.class.getName(); + + /** + * Every localized message logged by a LocLogger will bear this marker. It + * allows marker-aware implementations to perform additional processing on + * localized messages. + */ + static Marker LOCALIZED = MarkerFactory.getMarker("LOCALIZED"); + + final IMessageConveyor imc; + + public LocLogger(Logger logger, IMessageConveyor imc) { + super(logger, LoggerWrapper.class.getName()); + if (imc == null) { + throw new IllegalArgumentException("IMessageConveyor cannot be null"); + } + this.imc = imc; + } + + /** + * Log a localized message at the TRACE level. + * + * @param key + * the key used for localization + * @param args + * optional arguments + */ + public void trace(Enum key, Object... args) { + if (!logger.isTraceEnabled()) { + return; + } + String translatedMsg = imc.getMessage(key, args); + MessageParameterObj mpo = new MessageParameterObj(key, args); + + if (instanceofLAL) { + ((LocationAwareLogger) logger).log(LOCALIZED, FQCN, + LocationAwareLogger.TRACE_INT, translatedMsg, args, null); + } else { + logger.trace(LOCALIZED, translatedMsg, mpo); + } + } + + /** + * Log a localized message at the DEBUG level. + * + * @param key + * the key used for localization + * @param args + * optional arguments + */ + public void debug(Enum key, Object... args) { + if (!logger.isDebugEnabled()) { + return; + } + String translatedMsg = imc.getMessage(key, args); + MessageParameterObj mpo = new MessageParameterObj(key, args); + + if (instanceofLAL) { + ((LocationAwareLogger) logger).log(LOCALIZED, FQCN, + LocationAwareLogger.DEBUG_INT, translatedMsg, args, null); + } else { + logger.debug(LOCALIZED, translatedMsg, mpo); + } + } + + /** + * Log a localized message at the INFO level. + * + * @param key + * the key used for localization + * @param args + * optional arguments + */ + public void info(Enum key, Object... args) { + if (!logger.isInfoEnabled()) { + return; + } + String translatedMsg = imc.getMessage(key, args); + MessageParameterObj mpo = new MessageParameterObj(key, args); + + if (instanceofLAL) { + ((LocationAwareLogger) logger).log(LOCALIZED, FQCN, + LocationAwareLogger.INFO_INT, translatedMsg, args, null); + } else { + logger.info(LOCALIZED, translatedMsg, mpo); + } + } + + /** + * Log a localized message at the WARN level. + * + * @param key + * the key used for localization + * @param args + * optional arguments + */ + public void warn(Enum key, Object... args) { + if (!logger.isWarnEnabled()) { + return; + } + String translatedMsg = imc.getMessage(key, args); + MessageParameterObj mpo = new MessageParameterObj(key, args); + + if (instanceofLAL) { + ((LocationAwareLogger) logger).log(LOCALIZED, FQCN, + LocationAwareLogger.WARN_INT, translatedMsg, args, null); + } else { + logger.warn(LOCALIZED, translatedMsg, mpo); + } + } + + /** + * Log a localized message at the ERROR level. + * + * @param key + * the key used for localization + * @param args + * optional arguments + */ + public void error(Enum key, Object... args) { + if (!logger.isErrorEnabled()) { + return; + } + String translatedMsg = imc.getMessage(key, args); + MessageParameterObj mpo = new MessageParameterObj(key, args); + + if (instanceofLAL) { + ((LocationAwareLogger) logger).log(LOCALIZED, FQCN, + LocationAwareLogger.ERROR_INT, translatedMsg, args, null); + } else { + logger.error(LOCALIZED, translatedMsg, mpo); + } + } + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/cal10n/LocLoggerFactory.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/cal10n/LocLoggerFactory.java new file mode 100644 index 0000000..4e21dac --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/cal10n/LocLoggerFactory.java @@ -0,0 +1,75 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.cal10n; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import ch.qos.cal10n.IMessageConveyor; + +/** + * + * This class is essentially a wrapper around an {@link LoggerFactory} producing + * {@link LocLogger} instances. + * + *

+ * Contrary to {@link LoggerFactory#getLogger(String)} method of + * {@link LoggerFactory}, each call to {@link getLocLogger} produces a new + * instance of {@link LocLogger}. This should not matter because a LocLogger + * instance does have any state beyond that of the {@link Logger} in stance it + * wraps and its message conveyor. + * + * @author Ceki Gücü + * + */ +public class LocLoggerFactory { + + final IMessageConveyor imc; + + public LocLoggerFactory(IMessageConveyor imc) { + this.imc = imc; + } + + /** + * Get an LocLogger instance by name. + * + * @param name + * @return LocLogger instance by name. + */ + public LocLogger getLocLogger(String name) { + return new LocLogger(LoggerFactory.getLogger(name), imc); + } + + /** + * Get a new LocLogger instance by class. The returned LocLogger will be named + * after the class. + * + * @param clazz + * @return LocLogger instance by class + */ + public LocLogger getLocLogger(Class clazz) { + return getLocLogger(clazz.getName()); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/cal10n/package.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/cal10n/package.html new file mode 100644 index 0000000..39cfc8d --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/cal10n/package.html @@ -0,0 +1,12 @@ + + + + + + + + + +

SLF4J API extensions

+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/ext/EventData.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/ext/EventData.java new file mode 100644 index 0000000..7430548 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/ext/EventData.java @@ -0,0 +1,306 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.ext; + +import java.io.Serializable; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.util.Date; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; +import java.beans.XMLDecoder; +import java.beans.XMLEncoder; +import java.beans.ExceptionListener; + +/** + * Base class for Event Data. Event Data contains data to be logged about an + * event. Users may extend this class for each EventType they want to log. + * + * @author Ralph Goers + */ +public class EventData implements Serializable { + + private static final long serialVersionUID = 153270778642103985L; + + private Map eventData = new HashMap(); + public static final String EVENT_MESSAGE = "EventMessage"; + public static final String EVENT_TYPE = "EventType"; + public static final String EVENT_DATETIME = "EventDateTime"; + public static final String EVENT_ID = "EventId"; + + /** + * Default Constructor + */ + public EventData() { + } + + /** + * Constructor to create event data from a Map. + * + * @param map + * The event data. + */ + public EventData(Map map) { + eventData.putAll(map); + } + + /** + * Construct from a serialized form of the Map containing the RequestInfo + * elements + * + * @param xml + * The serialized form of the RequestInfo Map. + */ + @SuppressWarnings("unchecked") + public EventData(String xml) { + ByteArrayInputStream bais = new ByteArrayInputStream(xml.getBytes()); + try { + XMLDecoder decoder = new XMLDecoder(bais); + this.eventData = (Map) decoder.readObject(); + } catch (Exception e) { + throw new EventException("Error decoding " + xml, e); + } + } + + /** + * Serialize all the EventData items into an XML representation. + * + * @return an XML String containing all the EventDAta items. + */ + public String toXML() { + return toXML(eventData); + } + + /** + * Serialize all the EventData items into an XML representation. + * + * @param map the Map to transform + * @return an XML String containing all the EventDAta items. + */ + public static String toXML(Map map) { + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + try { + XMLEncoder encoder = new XMLEncoder(baos); + encoder.setExceptionListener(new ExceptionListener() { + public void exceptionThrown(Exception exception) { + exception.printStackTrace(); + } + }); + encoder.writeObject(map); + encoder.close(); + return baos.toString(); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + } + + /** + * Retrieve the event identifier. + * + * @return The event identifier + */ + public String getEventId() { + return (String) this.eventData.get(EVENT_ID); + } + + /** + * Set the event identifier. + * + * @param eventId + * The event identifier. + */ + public void setEventId(String eventId) { + if (eventId == null) { + throw new IllegalArgumentException("eventId cannot be null"); + } + this.eventData.put(EVENT_ID, eventId); + } + + /** + * Retrieve the message text associated with this event, if any. + * + * @return The message text associated with this event or null if there is + * none. + */ + public String getMessage() { + return (String) this.eventData.get(EVENT_MESSAGE); + } + + /** + * Set the message text associated with this event. + * + * @param message + * The message text. + */ + public void setMessage(String message) { + this.eventData.put(EVENT_MESSAGE, message); + } + + /** + * Retrieve the date and time the event occurred. + * + * @return The Date associated with the event. + */ + public Date getEventDateTime() { + return (Date) this.eventData.get(EVENT_DATETIME); + } + + /** + * Set the date and time the event occurred in case it is not the same as when + * the event was logged. + * + * @param eventDateTime + * The event Date. + */ + public void setEventDateTime(Date eventDateTime) { + this.eventData.put(EVENT_DATETIME, eventDateTime); + } + + /** + * Set the type of event that occurred. + * + * @param eventType + * The type of the event. + */ + public void setEventType(String eventType) { + this.eventData.put(EVENT_TYPE, eventType); + } + + /** + * Retrieve the type of the event. + * + * @return The event type. + */ + public String getEventType() { + return (String) this.eventData.get(EVENT_TYPE); + } + + /** + * Add arbitrary attributes about the event. + * + * @param name + * The attribute's key. + * @param obj + * The data associated with the key. + */ + public void put(String name, Serializable obj) { + this.eventData.put(name, obj); + } + + /** + * Retrieve an event attribute. + * + * @param name + * The attribute's key. + * @return The value associated with the key or null if the key is not + * present. + */ + public Serializable get(String name) { + return (Serializable) this.eventData.get(name); + } + + /** + * Populate the event data from a Map. + * + * @param data + * The Map to copy. + */ + public void putAll(Map data) { + this.eventData.putAll(data); + } + + /** + * Returns the number of attributes in the EventData. + * + * @return the number of attributes in the EventData. + */ + public int getSize() { + return this.eventData.size(); + } + + /** + * Returns an Iterator over all the entries in the EventDAta. + * + * @return an Iterator that can be used to access all the event attributes. + */ + public Iterator> getEntrySetIterator() { + return this.eventData.entrySet().iterator(); + } + + /** + * Retrieve all the attributes in the EventData as a Map. Changes to this map + * will be reflected in the EventData. + * + * @return The Map of attributes in this EventData instance. + */ + public Map getEventMap() { + return this.eventData; + } + + /** + * Convert the EventData to a String. + * + * @return The EventData as a String. + */ + @Override + public String toString() { + return toXML(); + } + + /** + * Compare two EventData objects for equality. + * + * @param o + * The Object to compare. + * @return true if the objects are the same instance or contain all the same + * keys and their values. + */ + @SuppressWarnings("unchecked") + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (!(o instanceof EventData || o instanceof Map)) { + return false; + } + Map map = (o instanceof EventData) ? ((EventData) o) + .getEventMap() : (Map) o; + + return this.eventData.equals(map); + } + + /** + * Compute the hashCode for this EventData instance. + * + * @return The hashcode for this EventData instance. + */ + @Override + public int hashCode() { + return this.eventData.hashCode(); + } +} \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/ext/EventException.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/ext/EventException.java new file mode 100644 index 0000000..71b52b9 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/ext/EventException.java @@ -0,0 +1,66 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.ext; + +/** + * Exception used to identify issues related to an event that is being logged. + */ +public class EventException extends RuntimeException { + + private static final long serialVersionUID = -22873966112391992L; + + /** + * Default constructor. + */ + public EventException() { + super(); + } + + /** + * Constructor that allows an exception message. + * @param exceptionMessage The exception message. + */ + public EventException(String exceptionMessage) { + super(exceptionMessage); + } + + /** + * Constructor that chains another Exception or Error. + * @param originalException The original exception. + */ + public EventException(Throwable originalException) { + super(originalException); + } + + /** + * Constructor that chains another Exception or Error and also allows a message + * to be specified. + * @param exceptionMessage The exception message. + * @param originalException The original excepton. + */ + public EventException(String exceptionMessage, Throwable originalException) { + super(exceptionMessage, originalException); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/ext/EventLogger.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/ext/EventLogger.java new file mode 100644 index 0000000..d296312 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/ext/EventLogger.java @@ -0,0 +1,66 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.ext; + +import org.slf4j.LoggerFactory; +import org.slf4j.Marker; +import org.slf4j.MarkerFactory; +import org.slf4j.spi.LocationAwareLogger; + +/** + * Simple Logger used to log events. All events are directed to a logger named "EventLogger" + * with a level of INFO and with an Event marker. + * + * @author Ralph Goers + */ +public class EventLogger { + + private static final String FQCN = EventLogger.class.getName(); + + static Marker EVENT_MARKER = MarkerFactory.getMarker("EVENT"); + + private static LoggerWrapper eventLogger = + new LoggerWrapper(LoggerFactory.getLogger("EventLogger"), FQCN); + + /** + * There can only be a single EventLogger. + */ + private EventLogger() { + } + + /** + * Logs the event. + * + * @param data The EventData. + */ + public static void logEvent(EventData data) { + if (eventLogger.instanceofLAL) { + ((LocationAwareLogger) eventLogger.logger).log(EVENT_MARKER, FQCN, + LocationAwareLogger.INFO_INT, data.toXML(), new Object[] {data}, null); + } else { + eventLogger.logger.info(EVENT_MARKER, data.toXML(), data); + } + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/ext/LoggerWrapper.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/ext/LoggerWrapper.java new file mode 100644 index 0000000..29a881d --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/ext/LoggerWrapper.java @@ -0,0 +1,943 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.ext; + +import org.slf4j.Logger; +import org.slf4j.Marker; +import org.slf4j.helpers.FormattingTuple; +import org.slf4j.helpers.MessageFormatter; +import org.slf4j.spi.LocationAwareLogger; + +/** + * A helper class wrapping an {@link org.slf4j.Logger} instance preserving + * location information if the wrapped instance supports it. + * + * @author Ralph Goers + * @author Ceki Gülcü + */ +public class LoggerWrapper implements Logger { + + // To ensure consistency between two instances sharing the same name + // (homonyms) + // a LoggerWrapper should not contain any state beyond + // the Logger instance it wraps. + // Note that 'instanceofLAL' directly depends on Logger. + // fqcn depend on the caller, but its value would not be different + // between successive invocations of a factory class + + protected final Logger logger; + final String fqcn; + // is this logger instance a LocationAwareLogger + protected final boolean instanceofLAL; + + public LoggerWrapper(Logger logger, String fqcn) { + this.logger = logger; + this.fqcn = fqcn; + if (logger instanceof LocationAwareLogger) { + instanceofLAL = true; + } else { + instanceofLAL = false; + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public boolean isTraceEnabled() { + return logger.isTraceEnabled(); + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public boolean isTraceEnabled(Marker marker) { + return logger.isTraceEnabled(marker); + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void trace(String msg) { + if (!logger.isTraceEnabled()) + return; + + if (instanceofLAL) { + ((LocationAwareLogger) logger).log(null, fqcn, + LocationAwareLogger.TRACE_INT, msg, null, null); + } else { + logger.trace(msg); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void trace(String format, Object arg) { + if (!logger.isTraceEnabled()) + return; + + if (instanceofLAL) { + String formattedMessage = MessageFormatter.format(format, arg) + .getMessage(); + ((LocationAwareLogger) logger).log(null, fqcn, + LocationAwareLogger.TRACE_INT, formattedMessage, + new Object[] { arg }, null); + } else { + logger.trace(format, arg); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void trace(String format, Object arg1, Object arg2) { + if (!logger.isTraceEnabled()) + return; + + if (instanceofLAL) { + String formattedMessage = MessageFormatter.format(format, arg1, arg2) + .getMessage(); + ((LocationAwareLogger) logger).log(null, fqcn, + LocationAwareLogger.TRACE_INT, formattedMessage, new Object[] { arg1, + arg2 }, null); + } else { + logger.trace(format, arg1, arg2); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void trace(String format, Object... args) { + if (!logger.isTraceEnabled()) + return; + + if (instanceofLAL) { + String formattedMessage = MessageFormatter.arrayFormat(format, args) + .getMessage(); + ((LocationAwareLogger) logger).log(null, fqcn, + LocationAwareLogger.TRACE_INT, formattedMessage, args, null); + } else { + logger.trace(format, args); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void trace(String msg, Throwable t) { + if (!logger.isTraceEnabled()) + return; + + if (instanceofLAL) { + ((LocationAwareLogger) logger).log(null, fqcn, + LocationAwareLogger.TRACE_INT, msg, null, t); + } else { + logger.trace(msg, t); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void trace(Marker marker, String msg) { + if (!logger.isTraceEnabled(marker)) + return; + if (instanceofLAL) { + ((LocationAwareLogger) logger).log(marker, fqcn, + LocationAwareLogger.TRACE_INT, msg, null, null); + } else { + logger.trace(marker, msg); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void trace(Marker marker, String format, Object arg) { + if (!logger.isTraceEnabled(marker)) + return; + if (instanceofLAL) { + String formattedMessage = MessageFormatter.format(format, arg) + .getMessage(); + ((LocationAwareLogger) logger).log(marker, fqcn, + LocationAwareLogger.TRACE_INT, formattedMessage, + new Object[] { arg }, null); + } else { + logger.trace(marker, format, arg); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void trace(Marker marker, String format, Object arg1, Object arg2) { + if (!logger.isTraceEnabled(marker)) + return; + if (instanceofLAL) { + String formattedMessage = MessageFormatter.format(format, arg1, arg2) + .getMessage(); + ((LocationAwareLogger) logger).log(marker, fqcn, + LocationAwareLogger.TRACE_INT, formattedMessage, new Object[] { arg1, + arg2 }, null); + } else { + logger.trace(marker, format, arg1, arg2); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void trace(Marker marker, String format, Object... args) { + if (!logger.isTraceEnabled(marker)) + return; + if (instanceofLAL) { + String formattedMessage = MessageFormatter.arrayFormat(format, args) + .getMessage(); + ((LocationAwareLogger) logger).log(marker, fqcn, + LocationAwareLogger.TRACE_INT, formattedMessage, args, null); + } else { + logger.trace(marker, format, args); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void trace(Marker marker, String msg, Throwable t) { + if (!logger.isTraceEnabled(marker)) + return; + if (instanceofLAL) { + ((LocationAwareLogger) logger).log(marker, fqcn, + LocationAwareLogger.TRACE_INT, msg, null, t); + } else { + logger.trace(marker, msg, t); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public boolean isDebugEnabled() { + return logger.isDebugEnabled(); + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public boolean isDebugEnabled(Marker marker) { + return logger.isDebugEnabled(marker); + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void debug(String msg) { + if (!logger.isDebugEnabled()) + return; + + if (instanceofLAL) { + ((LocationAwareLogger) logger).log(null, fqcn, + LocationAwareLogger.DEBUG_INT, msg, null, null); + } else { + logger.debug(msg); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void debug(String format, Object arg) { + if (!logger.isDebugEnabled()) + return; + + if (instanceofLAL) { + String formattedMessage = MessageFormatter.format(format, arg) + .getMessage(); + ((LocationAwareLogger) logger).log(null, fqcn, + LocationAwareLogger.DEBUG_INT, formattedMessage, + new Object[] { arg }, null); + } else { + logger.debug(format, arg); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void debug(String format, Object arg1, Object arg2) { + if (!logger.isDebugEnabled()) + return; + + if (instanceofLAL) { + String formattedMessage = MessageFormatter.format(format, arg1, arg2) + .getMessage(); + ((LocationAwareLogger) logger).log(null, fqcn, + LocationAwareLogger.DEBUG_INT, formattedMessage, new Object[] { arg1, + arg2 }, null); + } else { + logger.debug(format, arg1, arg2); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void debug(String format, Object... argArray) { + if (!logger.isDebugEnabled()) + return; + + if (instanceofLAL) { + FormattingTuple ft = MessageFormatter.arrayFormat(format, argArray); + ((LocationAwareLogger) logger).log(null, fqcn, + LocationAwareLogger.DEBUG_INT, ft.getMessage(), ft.getArgArray(), ft + .getThrowable()); + } else { + logger.debug(format, argArray); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void debug(String msg, Throwable t) { + if (!logger.isDebugEnabled()) + return; + + if (instanceofLAL) { + ((LocationAwareLogger) logger).log(null, fqcn, + LocationAwareLogger.DEBUG_INT, msg, null, t); + } else { + logger.debug(msg, t); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void debug(Marker marker, String msg) { + if (!logger.isDebugEnabled(marker)) + return; + if (instanceofLAL) { + ((LocationAwareLogger) logger).log(marker, fqcn, + LocationAwareLogger.DEBUG_INT, msg, null, null); + } else { + logger.debug(marker, msg); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void debug(Marker marker, String format, Object arg) { + if (!logger.isDebugEnabled(marker)) + return; + if (instanceofLAL) { + FormattingTuple ft = MessageFormatter.format(format, arg); + ((LocationAwareLogger) logger).log(marker, fqcn, + LocationAwareLogger.DEBUG_INT, ft.getMessage(), ft.getArgArray(), ft + .getThrowable()); + } else { + logger.debug(marker, format, arg); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void debug(Marker marker, String format, Object arg1, Object arg2) { + if (!logger.isDebugEnabled(marker)) + return; + if (instanceofLAL) { + String formattedMessage = MessageFormatter.format(format, arg1, arg2) + .getMessage(); + ((LocationAwareLogger) logger).log(marker, fqcn, + LocationAwareLogger.DEBUG_INT, formattedMessage, new Object[] { arg1, + arg2 }, null); + } else { + logger.debug(marker, format, arg1, arg2); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void debug(Marker marker, String format, Object... argArray) { + if (!logger.isDebugEnabled(marker)) + return; + if (instanceofLAL) { + + FormattingTuple ft = MessageFormatter.arrayFormat(format, argArray); + ((LocationAwareLogger) logger).log(marker, fqcn, + LocationAwareLogger.DEBUG_INT, ft.getMessage(), argArray, ft + .getThrowable()); + } else { + logger.debug(marker, format, argArray); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void debug(Marker marker, String msg, Throwable t) { + if (!logger.isDebugEnabled(marker)) + return; + if (instanceofLAL) { + ((LocationAwareLogger) logger).log(marker, fqcn, + LocationAwareLogger.DEBUG_INT, msg, null, t); + } else { + logger.debug(marker, msg, t); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public boolean isInfoEnabled() { + return logger.isInfoEnabled(); + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public boolean isInfoEnabled(Marker marker) { + return logger.isInfoEnabled(marker); + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void info(String msg) { + if (!logger.isInfoEnabled()) + return; + + if (instanceofLAL) { + ((LocationAwareLogger) logger).log(null, fqcn, + LocationAwareLogger.INFO_INT, msg, null, null); + } else { + logger.info(msg); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void info(String format, Object arg) { + if (!logger.isInfoEnabled()) + return; + + if (instanceofLAL) { + String formattedMessage = MessageFormatter.format(format, arg) + .getMessage(); + ((LocationAwareLogger) logger).log(null, fqcn, + LocationAwareLogger.INFO_INT, formattedMessage, new Object[] { arg }, + null); + } else { + logger.info(format, arg); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void info(String format, Object arg1, Object arg2) { + if (!logger.isInfoEnabled()) + return; + + if (instanceofLAL) { + String formattedMessage = MessageFormatter.format(format, arg1, arg2) + .getMessage(); + ((LocationAwareLogger) logger).log(null, fqcn, + LocationAwareLogger.INFO_INT, formattedMessage, new Object[] { arg1, + arg2 }, null); + } else { + logger.info(format, arg1, arg2); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void info(String format, Object... args) { + if (!logger.isInfoEnabled()) + return; + + if (instanceofLAL) { + String formattedMessage = MessageFormatter.arrayFormat(format, args) + .getMessage(); + ((LocationAwareLogger) logger).log(null, fqcn, + LocationAwareLogger.INFO_INT, formattedMessage, args, null); + } else { + logger.info(format, args); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void info(String msg, Throwable t) { + if (!logger.isInfoEnabled()) + return; + + if (instanceofLAL) { + ((LocationAwareLogger) logger).log(null, fqcn, + LocationAwareLogger.INFO_INT, msg, null, t); + } else { + logger.info(msg, t); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void info(Marker marker, String msg) { + if (!logger.isInfoEnabled(marker)) + return; + if (instanceofLAL) { + ((LocationAwareLogger) logger).log(marker, fqcn, + LocationAwareLogger.INFO_INT, msg, null, null); + } else { + logger.info(marker, msg); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void info(Marker marker, String format, Object arg) { + if (!logger.isInfoEnabled(marker)) + return; + if (instanceofLAL) { + String formattedMessage = MessageFormatter.format(format, arg) + .getMessage(); + ((LocationAwareLogger) logger).log(marker, fqcn, + LocationAwareLogger.INFO_INT, formattedMessage, new Object[] { arg }, + null); + } else { + logger.info(marker, format, arg); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void info(Marker marker, String format, Object arg1, Object arg2) { + if (!logger.isInfoEnabled(marker)) + return; + if (instanceofLAL) { + String formattedMessage = MessageFormatter.format(format, arg1, arg2) + .getMessage(); + ((LocationAwareLogger) logger).log(marker, fqcn, + LocationAwareLogger.INFO_INT, formattedMessage, new Object[] { arg1, + arg2 }, null); + } else { + logger.info(marker, format, arg1, arg2); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void info(Marker marker, String format, Object... args) { + if (!logger.isInfoEnabled(marker)) + return; + if (instanceofLAL) { + String formattedMessage = MessageFormatter.arrayFormat(format, args) + .getMessage(); + ((LocationAwareLogger) logger).log(marker, fqcn, + LocationAwareLogger.INFO_INT, formattedMessage, args, null); + } else { + logger.info(marker, format, args); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void info(Marker marker, String msg, Throwable t) { + if (!logger.isInfoEnabled(marker)) + return; + if (instanceofLAL) { + ((LocationAwareLogger) logger).log(marker, fqcn, + LocationAwareLogger.INFO_INT, msg, null, t); + } else { + logger.info(marker, msg, t); + } + } + + public boolean isWarnEnabled() { + return logger.isWarnEnabled(); + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public boolean isWarnEnabled(Marker marker) { + return logger.isWarnEnabled(marker); + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void warn(String msg) { + if (!logger.isWarnEnabled()) + return; + + if (instanceofLAL) { + ((LocationAwareLogger) logger).log(null, fqcn, + LocationAwareLogger.WARN_INT, msg, null, null); + } else { + logger.warn(msg); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void warn(String format, Object arg) { + if (!logger.isWarnEnabled()) + return; + + if (instanceofLAL) { + String formattedMessage = MessageFormatter.format(format, arg) + .getMessage(); + ((LocationAwareLogger) logger).log(null, fqcn, + LocationAwareLogger.WARN_INT, formattedMessage, new Object[] { arg }, + null); + } else { + logger.warn(format, arg); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void warn(String format, Object arg1, Object arg2) { + if (!logger.isWarnEnabled()) + return; + + if (instanceofLAL) { + String formattedMessage = MessageFormatter.format(format, arg1, arg2) + .getMessage(); + ((LocationAwareLogger) logger).log(null, fqcn, + LocationAwareLogger.WARN_INT, formattedMessage, new Object[] { arg1, + arg2 }, null); + } else { + logger.warn(format, arg1, arg2); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void warn(String format, Object... args) { + if (!logger.isWarnEnabled()) + return; + + if (instanceofLAL) { + String formattedMessage = MessageFormatter.arrayFormat(format, args) + .getMessage(); + ((LocationAwareLogger) logger).log(null, fqcn, + LocationAwareLogger.WARN_INT, formattedMessage, args, null); + } else { + logger.warn(format, args); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void warn(String msg, Throwable t) { + if (!logger.isWarnEnabled()) + return; + + if (instanceofLAL) { + ((LocationAwareLogger) logger).log(null, fqcn, + LocationAwareLogger.WARN_INT, msg, null, t); + } else { + logger.warn(msg, t); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void warn(Marker marker, String msg) { + if (!logger.isWarnEnabled(marker)) + return; + if (instanceofLAL) { + ((LocationAwareLogger) logger).log(marker, fqcn, + LocationAwareLogger.WARN_INT, msg, null, null); + } else { + logger.warn(marker, msg); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void warn(Marker marker, String format, Object arg) { + if (!logger.isWarnEnabled(marker)) + return; + if (instanceofLAL) { + String formattedMessage = MessageFormatter.format(format, arg) + .getMessage(); + ((LocationAwareLogger) logger).log(marker, fqcn, + LocationAwareLogger.WARN_INT, formattedMessage, new Object[] { arg }, + null); + } else { + logger.warn(marker, format, arg); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void warn(Marker marker, String format, Object arg1, Object arg2) { + if (!logger.isWarnEnabled(marker)) + return; + if (instanceofLAL) { + String formattedMessage = MessageFormatter.format(format, arg1, arg2) + .getMessage(); + ((LocationAwareLogger) logger).log(marker, fqcn, + LocationAwareLogger.WARN_INT, formattedMessage, new Object[] { arg1, + arg2 }, null); + } else { + logger.warn(marker, format, arg1, arg2); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void warn(Marker marker, String format, Object... args) { + if (!logger.isWarnEnabled(marker)) + return; + if (instanceofLAL) { + String formattedMessage = MessageFormatter.arrayFormat(format, args) + .getMessage(); + ((LocationAwareLogger) logger).log(marker, fqcn, + LocationAwareLogger.WARN_INT, formattedMessage, args, null); + } else { + logger.warn(marker, format, args); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void warn(Marker marker, String msg, Throwable t) { + if (!logger.isWarnEnabled(marker)) + return; + if (instanceofLAL) { + ((LocationAwareLogger) logger).log(marker, fqcn, + LocationAwareLogger.WARN_INT, msg, null, t); + } else { + logger.warn(marker, msg, t); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public boolean isErrorEnabled() { + return logger.isErrorEnabled(); + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public boolean isErrorEnabled(Marker marker) { + return logger.isErrorEnabled(marker); + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void error(String msg) { + if (!logger.isErrorEnabled()) + return; + + if (instanceofLAL) { + ((LocationAwareLogger) logger).log(null, fqcn, + LocationAwareLogger.ERROR_INT, msg, null, null); + } else { + logger.error(msg); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void error(String format, Object arg) { + if (!logger.isErrorEnabled()) + return; + + if (instanceofLAL) { + String formattedMessage = MessageFormatter.format(format, arg) + .getMessage(); + ((LocationAwareLogger) logger).log(null, fqcn, + LocationAwareLogger.ERROR_INT, formattedMessage, + new Object[] { arg }, null); + } else { + logger.error(format, arg); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void error(String format, Object arg1, Object arg2) { + if (!logger.isErrorEnabled()) + return; + + if (instanceofLAL) { + String formattedMessage = MessageFormatter.format(format, arg1, arg2) + .getMessage(); + ((LocationAwareLogger) logger).log(null, fqcn, + LocationAwareLogger.ERROR_INT, formattedMessage, new Object[] { arg1, + arg2 }, null); + } else { + logger.error(format, arg1, arg2); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void error(String format, Object... args) { + if (!logger.isErrorEnabled()) + return; + + if (instanceofLAL) { + String formattedMessage = MessageFormatter.arrayFormat(format, args) + .getMessage(); + ((LocationAwareLogger) logger).log(null, fqcn, + LocationAwareLogger.ERROR_INT, formattedMessage, args, null); + } else { + logger.error(format, args); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void error(String msg, Throwable t) { + if (!logger.isErrorEnabled()) + return; + + if (instanceofLAL) { + ((LocationAwareLogger) logger).log(null, fqcn, + LocationAwareLogger.ERROR_INT, msg, null, t); + } else { + logger.error(msg, t); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void error(Marker marker, String msg) { + if (!logger.isErrorEnabled(marker)) + return; + if (instanceofLAL) { + ((LocationAwareLogger) logger).log(marker, fqcn, + LocationAwareLogger.ERROR_INT, msg, null, null); + } else { + logger.error(marker, msg); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void error(Marker marker, String format, Object arg) { + if (!logger.isErrorEnabled(marker)) + return; + if (instanceofLAL) { + String formattedMessage = MessageFormatter.format(format, arg) + .getMessage(); + ((LocationAwareLogger) logger).log(marker, fqcn, + LocationAwareLogger.ERROR_INT, formattedMessage, + new Object[] { arg }, null); + } else { + logger.error(marker, format, arg); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void error(Marker marker, String format, Object arg1, Object arg2) { + if (!logger.isErrorEnabled(marker)) + return; + if (instanceofLAL) { + String formattedMessage = MessageFormatter.format(format, arg1, arg2) + .getMessage(); + ((LocationAwareLogger) logger).log(marker, fqcn, + LocationAwareLogger.ERROR_INT, formattedMessage, new Object[] { arg1, + arg2 }, null); + } else { + logger.error(marker, format, arg1, arg2); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void error(Marker marker, String format, Object... args) { + if (!logger.isErrorEnabled(marker)) + return; + if (instanceofLAL) { + String formattedMessage = MessageFormatter.arrayFormat(format, args) + .getMessage(); + ((LocationAwareLogger) logger).log(marker, fqcn, + LocationAwareLogger.ERROR_INT, formattedMessage, args, null); + } else { + logger.error(marker, format, args); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public void error(Marker marker, String msg, Throwable t) { + if (!logger.isErrorEnabled(marker)) + return; + if (instanceofLAL) { + ((LocationAwareLogger) logger).log(marker, fqcn, + LocationAwareLogger.ERROR_INT, msg, null, t); + } else { + logger.error(marker, msg, t); + } + } + + /** + * Delegate to the appropriate method of the underlying logger. + */ + public String getName() { + return logger.getName(); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/ext/MDCStrLookup.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/ext/MDCStrLookup.java new file mode 100644 index 0000000..40a9354 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/ext/MDCStrLookup.java @@ -0,0 +1,50 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.ext; + +import org.apache.commons.lang.text.StrLookup; +import org.slf4j.MDC; + + +/** + * This class can be used with the Commons Lang StrSubstitutor to replace + * tokens that occur in Strings with their values in the MDC. + * + * @author Ralph Goers + */ +public class MDCStrLookup extends StrLookup { + /** + * Looks up up a value in the MDC. + * + * @param key the key to be looked up, may be null + * @return the matching value, null if no match + */ + public String lookup(String key) { + if (key == null) { + return null; + } + return MDC.get(key); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/ext/XLogger.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/ext/XLogger.java new file mode 100644 index 0000000..b9c498f --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/ext/XLogger.java @@ -0,0 +1,224 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.ext; + +import org.slf4j.Logger; +import org.slf4j.Marker; +import org.slf4j.MarkerFactory; +import org.slf4j.helpers.FormattingTuple; +import org.slf4j.helpers.MessageFormatter; +import org.slf4j.spi.LocationAwareLogger; + +/** + * A utility that provides standard mechanisms for logging certain kinds of + * activities. + * + * @author Ralph Goers + * @author Ceki Gülcü + */ +public class XLogger extends LoggerWrapper implements Logger { + + private static final String FQCN = XLogger.class.getName(); + static Marker FLOW_MARKER = MarkerFactory.getMarker("FLOW"); + static Marker ENTRY_MARKER = MarkerFactory.getMarker("ENTRY"); + static Marker EXIT_MARKER = MarkerFactory.getMarker("EXIT"); + + static Marker EXCEPTION_MARKER = MarkerFactory.getMarker("EXCEPTION"); + static Marker THROWING_MARKER = MarkerFactory.getMarker("THROWING"); + static Marker CATCHING_MARKER = MarkerFactory.getMarker("CATCHING"); + + static String EXIT_MESSAGE_0 = "exit"; + static String EXIT_MESSAGE_1 = "exit with ({})"; + + static String ENTRY_MESSAGE_0 = "entry"; + static String ENTRY_MESSAGE_1 = "entry with ({})"; + static String ENTRY_MESSAGE_2 = "entry with ({}, {})"; + static String ENTRY_MESSAGE_3 = "entry with ({}, {}, {})"; + static String ENTRY_MESSAGE_4 = "entry with ({}, {}, {}, {})"; + static int ENTRY_MESSAGE_ARRAY_LEN = 5; + static String[] ENTRY_MESSAGE_ARRAY = new String[ENTRY_MESSAGE_ARRAY_LEN]; + static { + ENTRY_MARKER.add(FLOW_MARKER); + EXIT_MARKER.add(FLOW_MARKER); + THROWING_MARKER.add(EXCEPTION_MARKER); + CATCHING_MARKER.add(EXCEPTION_MARKER); + + ENTRY_MESSAGE_ARRAY[0] = ENTRY_MESSAGE_0; + ENTRY_MESSAGE_ARRAY[1] = ENTRY_MESSAGE_1; + ENTRY_MESSAGE_ARRAY[2] = ENTRY_MESSAGE_2; + ENTRY_MESSAGE_ARRAY[3] = ENTRY_MESSAGE_3; + ENTRY_MESSAGE_ARRAY[4] = ENTRY_MESSAGE_4; + } + + public enum Level { + TRACE("TRACE", LocationAwareLogger.TRACE_INT), DEBUG("DEBUG", + LocationAwareLogger.DEBUG_INT), INFO("INFO", + LocationAwareLogger.INFO_INT), WARN("WARN", + LocationAwareLogger.WARN_INT), ERROR("ERROR", + LocationAwareLogger.ERROR_INT); + + private final String name; + private final int level; + + public String toString() { + return this.name; + } + + public int intValue() { + return this.level; + } + + private Level(String name, int level) { + this.name = name; + this.level = level; + } + } + + /** + * Given an underlying logger, construct an XLogger + * + * @param logger + * underlying logger + */ + public XLogger(Logger logger) { + // If class B extends A, assuming B does not override method x(), the caller + // of new B().x() is A and not B, see also + // http://bugzilla.slf4j.org/show_bug.cgi?id=114 + super(logger, LoggerWrapper.class.getName()); + } + + /** + * Log method entry. + * + * @param argArray + * supplied parameters + */ + public void entry(Object... argArray) { + if (instanceofLAL && logger.isTraceEnabled(ENTRY_MARKER)) { + String messagePattern = null; + if (argArray.length < ENTRY_MESSAGE_ARRAY_LEN) { + messagePattern = ENTRY_MESSAGE_ARRAY[argArray.length]; + } else { + messagePattern = buildMessagePattern(argArray.length); + } + FormattingTuple tp = MessageFormatter.arrayFormat(messagePattern, argArray); + ((LocationAwareLogger) logger).log(ENTRY_MARKER, FQCN, + LocationAwareLogger.TRACE_INT, tp.getMessage(), argArray, tp.getThrowable()); + } + } + + /** + * Log method exit + */ + public void exit() { + if (instanceofLAL && logger.isTraceEnabled(ENTRY_MARKER)) { + ((LocationAwareLogger) logger).log(EXIT_MARKER, FQCN, + LocationAwareLogger.TRACE_INT, EXIT_MESSAGE_0, null, null); + } + } + + /** + * Log method exit + * + * @param result + * The result of the method being exited + */ + public void exit(Object result) { + if (instanceofLAL && logger.isTraceEnabled(ENTRY_MARKER)) { + FormattingTuple tp = MessageFormatter.format(EXIT_MESSAGE_1, result); + ((LocationAwareLogger) logger).log(EXIT_MARKER, FQCN, + LocationAwareLogger.TRACE_INT, tp.getMessage(), + new Object[] { result }, tp.getThrowable()); + } + } + + /** + * Log an exception being thrown. The generated log event uses Level ERROR. + * + * @param throwable + * the exception being caught. + */ + public void throwing(Throwable throwable) { + if (instanceofLAL) { + ((LocationAwareLogger) logger).log(THROWING_MARKER, FQCN, + LocationAwareLogger.ERROR_INT, "throwing", null, throwable); + } + } + + /** + * Log an exception being thrown allowing the log level to be specified. + * + * @param level + * the logging level to use. + * @param throwable + * the exception being caught. + */ + public void throwing(Level level, Throwable throwable) { + if (instanceofLAL) { + ((LocationAwareLogger) logger).log(THROWING_MARKER, FQCN, level.level, + "throwing", null, throwable); + } + } + + /** + * Log an exception being caught. The generated log event uses Level ERROR. + * + * @param throwable + * the exception being caught. + */ + public void catching(Throwable throwable) { + if (instanceofLAL) { + ((LocationAwareLogger) logger).log(CATCHING_MARKER, FQCN, + LocationAwareLogger.ERROR_INT, "catching", null, throwable); + } + } + + /** + * Log an exception being caught allowing the log level to be specified. + * + * @param level + * the logging level to use. + * @param throwable + * the exception being caught. + */ + public void catching(Level level, Throwable throwable) { + if (instanceofLAL) { + ((LocationAwareLogger) logger).log(CATCHING_MARKER, FQCN, level.level, + "catching", null, throwable); + } + } + + private static String buildMessagePattern(int len) { + StringBuilder sb = new StringBuilder(); + sb.append(" entry with ("); + for (int i = 0; i < len; i++) { + sb.append("{}"); + if (i != len - 1) + sb.append(", "); + } + sb.append(')'); + return sb.toString(); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/ext/XLoggerFactory.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/ext/XLoggerFactory.java new file mode 100644 index 0000000..04452d4 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/ext/XLoggerFactory.java @@ -0,0 +1,65 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.ext; + +import org.slf4j.LoggerFactory; + +/** + * + * This class is essentially a wrapper around an + * {@link LoggerFactory} producing {@link XLogger} instances. + * + *

Contrary to {@link LoggerFactory#getLogger(String)} method of + * {@link LoggerFactory}, each call to {@link #getXLogger(String)} + * produces a new instance of XLogger. This should not matter + * because an XLogger instance does not have any state beyond that of + * the {@link org.slf4j.Logger Logger} instance it wraps. + * + * @author Ralph Goers + * @author Ceki Gülcü + */ +public class XLoggerFactory { + + /** + * Get an XLogger instance by name. + * + * @param name + * @return XLogger instance + */ + public static XLogger getXLogger(String name) { + return new XLogger(LoggerFactory.getLogger(name)); + } + + /** + * Get a new XLogger instance by class. The returned XLogger + * will be named after the class. + * + * @param clazz + * @return XLogger instance by name + */ + public static XLogger getXLogger(Class clazz) { + return getXLogger(clazz.getName()); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/ext/package.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/ext/package.html new file mode 100644 index 0000000..5c55a91 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/ext/package.html @@ -0,0 +1,12 @@ + + + + + + + + + +

Localized logging using the CAL10N API.

+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/instrumentation/JavassistHelper.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/instrumentation/JavassistHelper.java new file mode 100644 index 0000000..d577f8e --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/instrumentation/JavassistHelper.java @@ -0,0 +1,190 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.instrumentation; + +import javassist.CtBehavior; +import javassist.CtClass; +import javassist.CtMethod; +import javassist.Modifier; +import javassist.NotFoundException; +import javassist.bytecode.AttributeInfo; +import javassist.bytecode.CodeAttribute; +import javassist.bytecode.LocalVariableAttribute; + +/** + * Helper methods for Javassist functionality. + * + */ +public class JavassistHelper { + + /** + * Create a javaassist source snippet which either is empty (for anything + * which does not return a value) or a explanatory text around the $_ + * javaassist return value variable. + * + * @param method + * descriptor of method + * @return source snippet + * @throws NotFoundException + */ + public static String returnValue(CtBehavior method) + throws NotFoundException { + + String returnValue = ""; + if (methodReturnsValue(method)) { + returnValue = " returns: \" + $_ + \"."; + } + return returnValue; + } + + /** + * determine if the given method returns a value, and return true if so. + * false otherwise. + * + * @param method + * @return + * @throws NotFoundException + */ + private static boolean methodReturnsValue(CtBehavior method) + throws NotFoundException { + + if (method instanceof CtMethod == false) { + return false; + } + + CtClass returnType = ((CtMethod) method).getReturnType(); + String returnTypeName = returnType.getName(); + + boolean isVoidMethod = "void".equals(returnTypeName); + + boolean methodReturnsValue = isVoidMethod == false; + return methodReturnsValue; + } + + /** + * Return javaassist source snippet which lists all the parameters and their + * values. If available the source names are extracted from the debug + * information and used, otherwise just a number is shown. + * + * @param method + * @return + * @throws NotFoundException + */ + public static String getSignature(CtBehavior method) + throws NotFoundException { + + CtClass parameterTypes[] = method.getParameterTypes(); + + CodeAttribute codeAttribute = method.getMethodInfo().getCodeAttribute(); + + LocalVariableAttribute locals = null; + + if (codeAttribute != null) { + AttributeInfo attribute; + attribute = codeAttribute.getAttribute("LocalVariableTable"); + locals = (LocalVariableAttribute) attribute; + } + + String methodName = method.getName(); + + StringBuffer sb = new StringBuffer(methodName + "(\" "); + for (int i = 0; i < parameterTypes.length; i++) { + if (i > 0) { + // add a comma and a space between printed values + sb.append(" + \", \" "); + } + + CtClass parameterType = parameterTypes[i]; + boolean isArray = parameterType.isArray(); + CtClass arrayType = parameterType.getComponentType(); + if (isArray) { + while (arrayType.isArray()) { + arrayType = arrayType.getComponentType(); + } + } + + sb.append(" + \""); + try { + sb.append(parameterNameFor(method, locals, i)); + } catch (Exception e) { + sb.append("" + (i + 1)); + } + sb.append("\" + \"="); + + if (parameterType.isPrimitive()) { + // let the compiler handle primitive -> string + sb.append("\"+ $" + (i + 1)); + } else { + String s = "org.slf4j.instrumentation.ToStringHelper.render"; + sb.append("\"+ " + s + "($" + (i + 1) + ")"); + } + } + sb.append("+\")"); + + String signature = sb.toString(); + return signature; + } + + /** + * Determine the name of parameter with index i in the given method. Use the + * locals attributes about local variables from the classfile. Note: This is + * still work in progress. + * + * @param method + * @param locals + * @param i + * @return the name of the parameter if available or a number if not. + */ + static String parameterNameFor(CtBehavior method, + LocalVariableAttribute locals, int i) { + + if (locals == null) { + return Integer.toString(i + 1); + } + + int modifiers = method.getModifiers(); + + int j = i; + + if (Modifier.isSynchronized(modifiers)) { + // skip object to synchronize upon. + j++; + // System.err.println("Synchronized"); + } + if (Modifier.isStatic(modifiers) == false) { + // skip "this" + j++; + // System.err.println("Instance"); + } + String variableName = locals.variableName(j); + // if (variableName.equals("this")) { + // System.err.println("'this' returned as a parameter name for " + // + method.getName() + " index " + j + // + + // ", names are probably shifted. Please submit source for class in slf4j bugreport"); + // } + return variableName; + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/instrumentation/LogTransformer.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/instrumentation/LogTransformer.java new file mode 100644 index 0000000..c1e3946 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/instrumentation/LogTransformer.java @@ -0,0 +1,324 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +/** + * + */ +package org.slf4j.instrumentation; + +import static org.slf4j.helpers.MessageFormatter.format; + +import java.io.ByteArrayInputStream; +import java.lang.instrument.ClassFileTransformer; +import java.security.ProtectionDomain; + +import javassist.CannotCompileException; +import javassist.ClassPool; +import javassist.CtBehavior; +import javassist.CtClass; +import javassist.CtField; +import javassist.NotFoundException; + +import org.slf4j.helpers.MessageFormatter; + +/** + *

+ * LogTransformer does the work of analyzing each class, and if appropriate add + * log statements to each method to allow logging entry/exit. + *

+ *

+ * This class is based on the article Add Logging at Class Load Time with Java Instrumentation. + *

+ */ +public class LogTransformer implements ClassFileTransformer { + + /** + * Builder provides a flexible way of configuring some of many options on the + * parent class instead of providing many constructors. + * + * {@link http + * ://rwhansen.blogspot.com/2007/07/theres-builder-pattern-that-joshua.html} + * + */ + public static class Builder { + + /** + * Build and return the LogTransformer corresponding to the options set in + * this Builder. + * + * @return + */ + public LogTransformer build() { + if (verbose) { + System.err.println("Creating LogTransformer"); + } + return new LogTransformer(this); + } + + boolean addEntryExit; + + /** + * Should each method log entry (with parameters) and exit (with parameters + * and returnvalue)? + * + * @param b + * value of flag + * @return + */ + public Builder addEntryExit(boolean b) { + addEntryExit = b; + return this; + } + + boolean addVariableAssignment; + + // private Builder addVariableAssignment(boolean b) { + // System.err.println("cannot currently log variable assignments."); + // addVariableAssignment = b; + // return this; + // } + + boolean verbose; + + /** + * Should LogTransformer be verbose in what it does? This currently list the + * names of the classes being processed. + * + * @param b + * @return + */ + public Builder verbose(boolean b) { + verbose = b; + return this; + } + + String[] ignore = { "org/slf4j/", "ch/qos/logback/", "org/apache/log4j/" }; + + public Builder ignore(String[] strings) { + this.ignore = strings; + return this; + } + + private String level = "info"; + + public Builder level(String level) { + level = level.toLowerCase(); + if (level.equals("info") || level.equals("debug") + || level.equals("trace")) { + this.level = level; + } else { + if (verbose) { + System.err.println("level not info/debug/trace : " + level); + } + } + return this; + } + } + + private String level; + private String levelEnabled; + + private LogTransformer(Builder builder) { + String s = "WARNING: javassist not available on classpath for javaagent, log statements will not be added"; + try { + if (Class.forName("javassist.ClassPool") == null) { + System.err.println(s); + } + } catch (ClassNotFoundException e) { + System.err.println(s); + } + + this.addEntryExit = builder.addEntryExit; + // this.addVariableAssignment = builder.addVariableAssignment; + this.verbose = builder.verbose; + this.ignore = builder.ignore; + this.level = builder.level; + this.levelEnabled = "is" + builder.level.substring(0, 1).toUpperCase() + + builder.level.substring(1) + "Enabled"; + } + + private boolean addEntryExit; + // private boolean addVariableAssignment; + private boolean verbose; + private String[] ignore; + + public byte[] transform(ClassLoader loader, String className, Class clazz, + ProtectionDomain domain, byte[] bytes) { + + try { + return transform0(className, clazz, domain, bytes); + } catch (Exception e) { + System.err.println("Could not instrument " + className); + e.printStackTrace(); + return bytes; + } + } + + /** + * transform0 sees if the className starts with any of the namespaces to + * ignore, if so it is returned unchanged. Otherwise it is processed by + * doClass(...) + * + * @param className + * @param clazz + * @param domain + * @param bytes + * @return + */ + + private byte[] transform0(String className, Class clazz, + ProtectionDomain domain, byte[] bytes) { + + try { + for (int i = 0; i < ignore.length; i++) { + if (className.startsWith(ignore[i])) { + return bytes; + } + } + String slf4jName = "org.slf4j.LoggerFactory"; + try { + if (domain != null && domain.getClassLoader() != null) { + domain.getClassLoader().loadClass(slf4jName); + } else { + if (verbose) { + System.err.println("Skipping " + className + + " as it doesn't have a domain or a class loader."); + } + return bytes; + } + } catch (ClassNotFoundException e) { + if (verbose) { + System.err.println("Skipping " + className + + " as slf4j is not available to it"); + } + return bytes; + } + if (verbose) { + System.err.println("Processing " + className); + } + return doClass(className, clazz, bytes); + } catch (Throwable e) { + System.out.println("e = " + e); + return bytes; + } + } + + private String loggerName; + + /** + * doClass() process a single class by first creates a class description from + * the byte codes. If it is a class (i.e. not an interface) the methods + * defined have bodies, and a static final logger object is added with the + * name of this class as an argument, and each method then gets processed with + * doMethod(...) to have logger calls added. + * + * @param name + * class name (slashes separate, not dots) + * @param clazz + * @param b + * @return + */ + private byte[] doClass(String name, Class clazz, byte[] b) { + ClassPool pool = ClassPool.getDefault(); + CtClass cl = null; + try { + cl = pool.makeClass(new ByteArrayInputStream(b)); + if (cl.isInterface() == false) { + + loggerName = "_____log"; + + // We have to declare the log variable. + + String pattern1 = "private static org.slf4j.Logger {};"; + String loggerDefinition = format(pattern1, loggerName).getMessage(); + CtField field = CtField.make(loggerDefinition, cl); + + // and assign it the appropriate value. + + String pattern2 = "org.slf4j.LoggerFactory.getLogger({}.class);"; + String replace = name.replace('/', '.'); + String getLogger = format(pattern2, replace).getMessage(); + + cl.addField(field, getLogger); + + // then check every behaviour (which includes methods). We are + // only + // interested in non-empty ones, as they have code. + // NOTE: This will be changed, as empty methods should be + // instrumented too. + + CtBehavior[] methods = cl.getDeclaredBehaviors(); + for (int i = 0; i < methods.length; i++) { + if (methods[i].isEmpty() == false) { + doMethod(methods[i]); + } + } + b = cl.toBytecode(); + } + } catch (Exception e) { + System.err.println("Could not instrument " + name + ", " + e); + e.printStackTrace(System.err); + } finally { + if (cl != null) { + cl.detach(); + } + } + return b; + } + + /** + * process a single method - this means add entry/exit logging if requested. + * It is only called for methods with a body. + * + * @param method + * method to work on + * @throws NotFoundException + * @throws CannotCompileException + */ + private void doMethod(CtBehavior method) throws NotFoundException, + CannotCompileException { + + String signature = JavassistHelper.getSignature(method); + String returnValue = JavassistHelper.returnValue(method); + + if (addEntryExit) { + String messagePattern = "if ({}.{}()) {}.{}(\">> {}\");"; + Object[] arg1 = new Object[] { loggerName, levelEnabled, loggerName, + level, signature }; + String before = MessageFormatter.arrayFormat(messagePattern, arg1) + .getMessage(); + // System.out.println(before); + method.insertBefore(before); + + String messagePattern2 = "if ({}.{}()) {}.{}(\"<< {}{}\");"; + Object[] arg2 = new Object[] { loggerName, levelEnabled, loggerName, + level, signature, returnValue }; + String after = MessageFormatter.arrayFormat(messagePattern2, arg2) + .getMessage(); + // System.out.println(after); + method.insertAfter(after); + } + } +} \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/instrumentation/ToStringHelper.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/instrumentation/ToStringHelper.java new file mode 100644 index 0000000..d646fe7 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/instrumentation/ToStringHelper.java @@ -0,0 +1,192 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.instrumentation; + +import java.util.Map; +import java.util.WeakHashMap; + +public class ToStringHelper { + + /** + * Prefix to use at the start of the representation. Always used. + */ + private static final String ARRAY_PREFIX = "["; + + /** + * Suffix to use at the end of the representation. Always used. + */ + private static final String ARRAY_SUFFIX = "]"; + + /** + * String separating each element when rendering an array. To be compatible + * with lists comma-space is used. + */ + + private static final String ELEMENT_SEPARATOR = ", "; + + /** + * unrenderableClasses is essentially a Set of Class objects which has for + * some reason failed to render properly when invoked through a toString + * method call. To avoid memory leaks a data structure using weak references + * is needed, but unfortunately the runtime library does not contain a + * WeakHashSet class, so the behavior is emulated with a WeakHashmap with + * the class as the key, and a Long containing the value of + * System.currentTimeMilis when an instance of the class failed to render. + */ + + final static Map, Object> unrenderableClasses = new WeakHashMap, Object>(); + + /** + * Returns o.toString() unless it throws an exception (which causes it to be + * stored in unrenderableClasses) or already was present in + * unrenderableClasses. If so, the same string is returned as would have + * been returned by Object.toString(). Arrays get special treatment as they + * don't have usable toString methods. + * + * @param o + * incoming object to render. + * @return + */ + + public static String render(Object o) { + if (o == null) { + return String.valueOf(o); + } + Class objectClass = o.getClass(); + + if (unrenderableClasses.containsKey(objectClass) == false) { + try { + if (objectClass.isArray()) { + return renderArray(o, objectClass).toString(); + } else { + return o.toString(); + } + } catch (Exception e) { + Long now = new Long(System.currentTimeMillis()); + + System.err.println("Disabling exception throwing class " + + objectClass.getName() + ", " + e.getMessage()); + + unrenderableClasses.put(objectClass, now); + } + } + String name = o.getClass().getName(); + return name + "@" + Integer.toHexString(o.hashCode()); + } + + /** + * renderArray returns an array similar to a List. If the array type is an + * object they are rendered with "render(object)" for each. If the array + * type is a primitive each element is added directly to the string buffer + * collecting the result. + * + * @param o + * @param objectClass + * @return + */ + private static StringBuffer renderArray(Object o, Class objectClass) { + Class componentType = objectClass.getComponentType(); + StringBuffer sb = new StringBuffer(ARRAY_PREFIX); + + if (componentType.isPrimitive() == false) { + Object[] oa = (Object[]) o; + for (int i = 0; i < oa.length; i++) { + if (i > 0) { + sb.append(ELEMENT_SEPARATOR); + } + sb.append(render(oa[i])); + } + } else { + if (Boolean.TYPE.equals(componentType)) { + boolean[] ba = (boolean[]) o; + for (int i = 0; i < ba.length; i++) { + if (i > 0) { + sb.append(ELEMENT_SEPARATOR); + } + sb.append(ba[i]); + } + } else if (Integer.TYPE.equals(componentType)) { + int[] ia = (int[]) o; + for (int i = 0; i < ia.length; i++) { + if (i > 0) { + sb.append(ELEMENT_SEPARATOR); + } + sb.append(ia[i]); + } + + } else if (Long.TYPE.equals(componentType)) { + long[] ia = (long[]) o; + for (int i = 0; i < ia.length; i++) { + if (i > 0) { + sb.append(ELEMENT_SEPARATOR); + } + sb.append(ia[i]); + } + } else if (Double.TYPE.equals(componentType)) { + double[] ia = (double[]) o; + for (int i = 0; i < ia.length; i++) { + if (i > 0) { + sb.append(ELEMENT_SEPARATOR); + } + sb.append(ia[i]); + } + } else if (Float.TYPE.equals(componentType)) { + float[] ia = (float[]) o; + for (int i = 0; i < ia.length; i++) { + if (i > 0) { + sb.append(ELEMENT_SEPARATOR); + } + sb.append(ia[i]); + } + } else if (Character.TYPE.equals(componentType)) { + char[] ia = (char[]) o; + for (int i = 0; i < ia.length; i++) { + if (i > 0) { + sb.append(ELEMENT_SEPARATOR); + } + sb.append(ia[i]); + } + } else if (Short.TYPE.equals(componentType)) { + short[] ia = (short[]) o; + for (int i = 0; i < ia.length; i++) { + if (i > 0) { + sb.append(ELEMENT_SEPARATOR); + } + sb.append(ia[i]); + } + } else if (Byte.TYPE.equals(componentType)) { + byte[] ia = (byte[]) o; + for (int i = 0; i < ia.length; i++) { + if (i > 0) { + sb.append(ELEMENT_SEPARATOR); + } + sb.append(ia[i]); + } + } + } + sb.append(ARRAY_SUFFIX); + return sb; + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/instrumentation/package.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/instrumentation/package.html new file mode 100644 index 0000000..7600149 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/instrumentation/package.html @@ -0,0 +1,18 @@ + + + + + + + + + +

Java instrumentation routines for SLF4J.

+ +

Byte code instrumentation is an way to change behaviour of java +classes at load time. This is done in-between the original byte +codes are retrieved and the class object is constructed by the class +loader. Currently this depends on the javassist library from JBoss +(which in turn uses it extensively in their application server).

+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/profiler/DurationUnit.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/profiler/DurationUnit.java new file mode 100644 index 0000000..48385fb --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/profiler/DurationUnit.java @@ -0,0 +1,35 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.profiler; + +/** + * An enum of supported time units. + * + * @author Ceki + * + */ +public enum DurationUnit { + NANOSECOND, MICROSECOND, MILLISSECOND, SECOND; +} \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/profiler/Profiler.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/profiler/Profiler.java new file mode 100644 index 0000000..ecb192c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/profiler/Profiler.java @@ -0,0 +1,276 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.profiler; + +import java.util.ArrayList; +import java.util.List; + +import org.slf4j.Logger; +import org.slf4j.Marker; +import org.slf4j.MarkerFactory; + + +// + Profiler [BAS] +// |-- elapsed time [doX] 0 milliseconds. +// |-- elapsed time [doYYYYY] 56 milliseconds. +// |--+ Profiler Y +// |-- elapsed time [doZ] 21 milliseconds. +// |-- elapsed time [doZ] 21 milliseconds. +// |-- Total elapsed time [Y] 78 milliseconds. +// |-- elapsed time [doZ] 21 milliseconds. +// |-- Total elapsed time [BAS] 78 milliseconds. + + +/** + * A poor man's profiler to measure the time elapsed performing some lengthy + * task. + * + * @author Ceki Gülcü + */ +public class Profiler implements TimeInstrument { + + final static String PROFILER_MARKER_NAME = "PROFILER"; + + final static int MIN_SW_NAME_LENGTH = 24; + final static int MIN_SW_ELAPSED_TIME_NUMBER_LENGTH = 9; + + final String name; + final StopWatch globalStopWatch; + + List childTimeInstrumentList = new ArrayList(); + + // optional field + ProfilerRegistry profilerRegistry; + // optional field + Logger logger; + + public Profiler(String name) { + this.name = name; + this.globalStopWatch = new StopWatch(name); + } + + public String getName() { + return name; + } + + public ProfilerRegistry getProfilerRegistry() { + return profilerRegistry; + } + + public void registerWith(ProfilerRegistry profilerRegistry) { + if (profilerRegistry == null) { + return; + } + this.profilerRegistry = profilerRegistry; + profilerRegistry.put(this); + } + + public Logger getLogger() { + return logger; + } + + public void setLogger(Logger logger) { + this.logger = logger; + } + + /** + * Starts a child stop watch and stops any previously started time + * instruments. + */ + public void start(String name) { + stopLastTimeInstrument(); + StopWatch childSW = new StopWatch(name); + childTimeInstrumentList.add(childSW); + } + + public Profiler startNested(String name) { + stopLastTimeInstrument(); + Profiler nestedProfiler = new Profiler(name); + nestedProfiler.registerWith(profilerRegistry); + nestedProfiler.setLogger(logger); + childTimeInstrumentList.add(nestedProfiler); + return nestedProfiler; + } + + TimeInstrument getLastTimeInstrument() { + if (childTimeInstrumentList.size() > 0) { + return childTimeInstrumentList.get(childTimeInstrumentList.size() - 1); + } else { + return null; + } + } + + void stopLastTimeInstrument() { + TimeInstrument last = getLastTimeInstrument(); + if (last != null) { + last.stop(); + } + } + + // void stopNestedProfilers() { + // for (Object child : childTimeInstrumentList) { + // if (child instanceof Profiler) + // ((Profiler) child).stop(); + // } + // } + + public long elapsedTime() { + return globalStopWatch.elapsedTime(); + } + + public TimeInstrument stop() { + stopLastTimeInstrument(); + globalStopWatch.stop(); + return this; + } + + public TimeInstrumentStatus getStatus() { + return globalStopWatch.status; + } + + /** + * This method is used in tests. + */ + void sanityCheck() throws IllegalStateException { + if (getStatus() != TimeInstrumentStatus.STOPPED) { + throw new IllegalStateException("time instrument [" + getName() + + " is not stopped"); + } + + long totalElapsed = globalStopWatch.elapsedTime(); + long childTotal = 0; + + for (TimeInstrument ti : childTimeInstrumentList) { + childTotal += ti.elapsedTime(); + if (ti.getStatus() != TimeInstrumentStatus.STOPPED) { + throw new IllegalStateException("time instrument [" + ti.getName() + + " is not stopped"); + } + if (ti instanceof Profiler) { + Profiler nestedProfiler = (Profiler) ti; + nestedProfiler.sanityCheck(); + } + } + if (totalElapsed < childTotal) { + throw new IllegalStateException( + "children have a higher accumulated elapsed time"); + } + } + + static String TOP_PROFILER_FIRST_PREFIX = "+"; + static String NESTED_PROFILER_FIRST_PREFIX = "|---+"; + static String TOTAL_ELAPSED = " Total "; + static String SUBTOTAL_ELAPSED = " Subtotal "; + static String ELAPSED_TIME = " elapsed time "; + + public void print() { + System.out.println(toString()); + } + + @Override + public String toString() { + DurationUnit du = Util.selectDurationUnitForDisplay(globalStopWatch); + return buildProfilerString(du, TOP_PROFILER_FIRST_PREFIX, TOTAL_ELAPSED, ""); + } + + public void log() { + Marker profilerMarker = MarkerFactory.getMarker(PROFILER_MARKER_NAME); + if (logger == null) { + throw new NullPointerException( + "If you invoke the log() method, then you must associate a logger with this profiler."); + } + if (logger.isDebugEnabled(profilerMarker)) { + DurationUnit du = Util.selectDurationUnitForDisplay(globalStopWatch); + String r = buildProfilerString(du, TOP_PROFILER_FIRST_PREFIX, + TOTAL_ELAPSED, ""); + logger.debug(profilerMarker, SpacePadder.LINE_SEP + r); + } + } + + + /** + * Return a copy of the child instrument list for this Profiler instance. + * + * @return a copy of this instance's child time instrument list + * @since 1.5.9 + */ + public List getCopyOfChildTimeInstruments() { + List copy = new ArrayList(childTimeInstrumentList); + return copy; + } + + /** + * Return a copy of the global stopwath of this Profiler instance. + * + * @return a copy of this instance's global stop watch + * @since 1.5.9 + */ + public StopWatch getCopyOfGlobalStopWatch() { + StopWatch copy = new StopWatch(globalStopWatch); + return copy; + } + + private String buildProfilerString(DurationUnit du, String firstPrefix, + String label, String indentation) { + StringBuffer buf = new StringBuffer(); + + buf.append(firstPrefix); + buf.append(" Profiler ["); + buf.append(name); + buf.append("]"); + buf.append(SpacePadder.LINE_SEP); + for (TimeInstrument child : childTimeInstrumentList) { + if (child instanceof StopWatch) { + buildStopWatchString(buf, du, ELAPSED_TIME, indentation, + (StopWatch) child); + } else if (child instanceof Profiler) { + Profiler profiler = (Profiler) child; + String subString = profiler.buildProfilerString(du, + NESTED_PROFILER_FIRST_PREFIX, SUBTOTAL_ELAPSED, indentation + + " "); + buf.append(subString); + buildStopWatchString(buf, du, ELAPSED_TIME, indentation, + profiler.globalStopWatch); + } + } + buildStopWatchString(buf, du, label, indentation, globalStopWatch); + return buf.toString(); + } + + private static void buildStopWatchString(StringBuffer buf, DurationUnit du, + String prefix, String indentation, StopWatch sw) { + + buf.append(indentation); + buf.append("|--"); + buf.append(prefix); + SpacePadder.leftPad(buf, "[" + sw.getName() + "]", MIN_SW_NAME_LENGTH); + buf.append(" "); + String timeStr = Util.durationInDurationUnitsAsStr(sw.elapsedTime(), du); + SpacePadder.leftPad(buf, timeStr, MIN_SW_ELAPSED_TIME_NUMBER_LENGTH); + buf.append(" "); + Util.appendDurationUnitAsStr(buf, du); + buf.append(SpacePadder.LINE_SEP); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/profiler/ProfilerRegistry.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/profiler/ProfilerRegistry.java new file mode 100644 index 0000000..b9fed68 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/profiler/ProfilerRegistry.java @@ -0,0 +1,67 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.profiler; + +import java.util.HashMap; +import java.util.Map; + +/** + * A minimalist registry of profilers. + * + * @author Ceki Gülcü + */ +public class ProfilerRegistry { + + private static final InheritableThreadLocal inheritableThreadLocal = new InheritableThreadLocal(); + + + Map profilerMap = new HashMap(); + + public void put(Profiler profiler) { + put(profiler.getName(), profiler); + } + + public void put(String name, Profiler profiler) { + profilerMap.put(name, profiler); + } + + + public static ProfilerRegistry getThreadContextInstance() { + ProfilerRegistry pr = inheritableThreadLocal.get(); + if(pr == null) { + pr = new ProfilerRegistry(); + inheritableThreadLocal.set(pr); + } + return pr; + } + + public Profiler get(String name) { + return profilerMap.get(name); + } + + public void clear() { + profilerMap.clear(); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/profiler/SpacePadder.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/profiler/SpacePadder.java new file mode 100644 index 0000000..804cf88 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/profiler/SpacePadder.java @@ -0,0 +1,79 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.profiler; + +public class SpacePadder { + public static final String LINE_SEP = System.getProperty("line.separator"); + + final static String[] SPACES = { " ", " ", " ", " ", // 1,2,4,8 + // spaces + " ", // 16 spaces + " " }; // 32 spaces + + final static public void leftPad(StringBuffer buf, String s, int desiredLength) { + int actualLen = 0; + if (s != null) { + actualLen = s.length(); + } + if (actualLen < desiredLength) { + spacePad(buf, desiredLength - actualLen); + } + if (s != null) { + buf.append(s); + } + } + + final static public void rightPad(StringBuffer buf, String s, int desiredLength) { + int actualLen = 0; + if (s != null) { + actualLen = s.length(); + } + if (s != null) { + buf.append(s); + } + if (actualLen < desiredLength) { + spacePad(buf, desiredLength - actualLen); + } + } + + /** + * Fast space padding method. + * + * @param sbuf the buffer to pad + * @param length the target size of the buffer after padding + */ + final static public void spacePad(StringBuffer sbuf, int length) { + while (length >= 32) { + sbuf.append(SPACES[5]); + length -= 32; + } + + for (int i = 4; i >= 0; i--) { + if ((length & (1 << i)) != 0) { + sbuf.append(SPACES[i]); + } + } + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/profiler/StopWatch.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/profiler/StopWatch.java new file mode 100644 index 0000000..4f0c444 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/profiler/StopWatch.java @@ -0,0 +1,117 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.profiler; + +/** + * A very basic @{link TimeInstrument} which can be started and stopped + * once and only once. + * + * @author Ceki Gülcü + * + */ +public class StopWatch implements TimeInstrument { + + private String name; + private long startTime; + private long stopTime; + TimeInstrumentStatus status; + + public StopWatch(String name) { + start(name); + } + + StopWatch(StopWatch original) { + this.name = original.name; + this.startTime = original.startTime; + this.stopTime = original.stopTime; + this.status = original.status; + } + + + public void start(String name) { + this.name = name; + startTime = System.nanoTime(); + status = TimeInstrumentStatus.STARTED; + } + + public String getName() { + return name; + } + + public TimeInstrument stop() { + if(status == TimeInstrumentStatus.STOPPED) { + return this; + } + return stop(System.nanoTime()); + } + + public StopWatch stop(long stopTime) { + this.status = TimeInstrumentStatus.STOPPED; + this.stopTime = stopTime; + return this; + } + + @Override + public String toString() { + StringBuffer buf = new StringBuffer(); + buf.append("StopWatch ["); + buf.append(name); + buf.append("] "); + + switch (status) { + case STARTED: + buf.append("STARTED"); + break; + case STOPPED: + buf.append("elapsed time: "); + buf.append(Util.durationInDurationUnitsAsStr(elapsedTime(), DurationUnit.MICROSECOND)); + break; + default: + throw new IllegalStateException("Status " + status + " is not expected"); + } + return buf.toString(); + } + + public final long elapsedTime() { + if (status == TimeInstrumentStatus.STARTED) { + return 0; + } else { + return stopTime - startTime; + } + } + + public TimeInstrumentStatus getStatus() { + return status; + } + + public void print() { + System.out.println(toString()); + } + + public void log() { + throw new UnsupportedOperationException("A stopwatch instance does not know how to log"); + } + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/profiler/TimeInstrument.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/profiler/TimeInstrument.java new file mode 100644 index 0000000..0d0f5d5 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/profiler/TimeInstrument.java @@ -0,0 +1,79 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.profiler; + + +/** + * This interface sets the methods that must be implemented by + * {@link Profiler} and {@link StopWatch} classes. It settles the + * general feel of the profiler package. + * + * @author Ceki Gülcü + * + */ +public interface TimeInstrument { + + /** + * All time instruments are named entities. + * @return the name of this instrument + */ + String getName(); + + + TimeInstrumentStatus getStatus(); + + /** + * Start tis time instrument. + * + * @param name + */ + void start(String name); + + /** + * Stop this time instrument. + * + * @return this + */ + TimeInstrument stop(); + + /** + * Time elapsed between start and stop, in nanoseconds. + * + * @return time elapsed in nanoseconds + */ + long elapsedTime(); + + /** + * Print information about this time instrument on the console. + */ + void print(); + + /** + * If the time instrument has an associated logger, then log information about + * this time instrument. Note that {@link StopWatch} instances cannot log while {@link Profiler} + * instances can. + */ + void log(); +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/profiler/TimeInstrumentStatus.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/profiler/TimeInstrumentStatus.java new file mode 100644 index 0000000..5846d0c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/profiler/TimeInstrumentStatus.java @@ -0,0 +1,41 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + + +/** + * A StopWatch can be in two states: STARTED or STOPPED. + */ + +package org.slf4j.profiler; + +/** + * A time instrument can be in STARTED or STOPPED status. + * + * @author Ceki Gülcü + * + */ +enum TimeInstrumentStatus { + STARTED, STOPPED; +} \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/profiler/Util.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/profiler/Util.java new file mode 100644 index 0000000..4a5ad15 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/profiler/Util.java @@ -0,0 +1,114 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.profiler; + +import java.text.DecimalFormat; + +/** + * + * A collection of utility methods. + * + * @author Ceki Gülcü + * + */ +class Util { + + static final long NANOS_IN_ONE_MICROSECOND = 1000; + static final long NANOS_IN_ONE_MILLISECOND = NANOS_IN_ONE_MICROSECOND * 1000; + static final long NANOS_IN_ONE_SECOND =NANOS_IN_ONE_MILLISECOND * 1000; + private static final DecimalFormat DECIMAL_FORMAT = new DecimalFormat("0.000"); + + static DurationUnit selectDurationUnitForDisplay(StopWatch sw) { + return selectDurationUnitForDisplay(sw.elapsedTime()); + } + + static DurationUnit selectDurationUnitForDisplay(long durationInNanos) { + if (durationInNanos < 10*NANOS_IN_ONE_MICROSECOND) { + return DurationUnit.NANOSECOND; + } else if (durationInNanos < 10*NANOS_IN_ONE_MILLISECOND) { + return DurationUnit.MICROSECOND; + } else if (durationInNanos < 10*NANOS_IN_ONE_SECOND) { + return DurationUnit.MILLISSECOND; + } else { + return DurationUnit.SECOND; + } + } + + static public double convertToMicros(long nanos) { + return (double) nanos / NANOS_IN_ONE_MICROSECOND; + } + + static public double convertToMillis(long nanos) { + return (double) nanos / NANOS_IN_ONE_MILLISECOND; + } + + static public double convertToSeconds(long nanos) { + return ((double) nanos / NANOS_IN_ONE_SECOND); + } + + static String durationInDurationUnitsAsStr(StringBuffer buf, StopWatch sw) { + DurationUnit du = selectDurationUnitForDisplay(sw); + return durationInDurationUnitsAsStr(sw.elapsedTime(), du); + } + + static String durationInDurationUnitsAsStr(long nanos, DurationUnit durationUnit) { + StringBuffer buf = new StringBuffer(); + switch (durationUnit) { + case NANOSECOND: + buf.append(nanos); + break; + case MICROSECOND: + double micros = convertToMicros(nanos); + buf.append(DECIMAL_FORMAT.format(micros)); + break; + case MILLISSECOND: + double millis = convertToMillis(nanos); + buf.append(DECIMAL_FORMAT.format(millis)); + break; + case SECOND: + double seconds = convertToSeconds(nanos); + buf.append(DECIMAL_FORMAT.format(seconds)); + break; + } + return buf.toString(); + } + + static void appendDurationUnitAsStr(StringBuffer buf, DurationUnit durationUnit) { + switch (durationUnit) { + case NANOSECOND: + buf.append("nanoseconds."); + break; + case MICROSECOND: + buf.append("microseconds."); + break; + case MILLISSECOND: + buf.append("milliseconds."); + break; + case SECOND: + buf.append(" seconds."); + break; + } + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/profiler/package.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/profiler/package.html new file mode 100644 index 0000000..0aea385 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/java/org/slf4j/profiler/package.html @@ -0,0 +1,13 @@ + + + + + + + + + + +

Poor man's profiler API

+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/resources/META-INF/MANIFEST.MF b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/resources/META-INF/MANIFEST.MF new file mode 100644 index 0000000..3328a2c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/main/resources/META-INF/MANIFEST.MF @@ -0,0 +1,8 @@ +Implementation-Title: slf4j-ext +Bundle-ManifestVersion: 2 +Bundle-SymbolicName: slf4j.ext +Bundle-Name: slf4j-ext +Bundle-Vendor: SLF4J.ORG +Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Export-Package: org.slf4j.profiler;version=${parsedVersion.osgiVersion}, org.slf4j.cal10n;version=${parsedVersion.osgiVersion}, org.slf4j.ext;version=${parsedVersion.osgiVersion} +Import-Package: org.slf4j;version=${parsedVersion.osgiVersion}, org.slf4j.spi;version=${parsedVersion.osgiVersion}, org.slf4j.helpers;version=${parsedVersion.osgiVersion}, ch.qos.cal10n;version=${cal10n.version} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/NDCTest.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/NDCTest.java new file mode 100644 index 0000000..31902ca --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/NDCTest.java @@ -0,0 +1,58 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j; + +import junit.framework.TestCase; + +public class NDCTest extends TestCase { + + protected void setUp() throws Exception { + super.setUp(); + MDC.clear(); + } + + protected void tearDown() throws Exception { + super.tearDown(); + } + + public void testEmpty() { + assertEquals("", NDC.pop()); + } + + public void testSmoke() { + NDC.push("a"); + String result = NDC.pop(); + assertEquals("a",result); + } + + public void testSmoke2() { + NDC.push("a"); + NDC.push("b"); + String result1 = NDC.pop(); + String result0 = NDC.pop(); + assertEquals("b",result1); + assertEquals("a",result0); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/cal10n_dummy/LocLoggerTest.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/cal10n_dummy/LocLoggerTest.java new file mode 100644 index 0000000..7d5aa5f --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/cal10n_dummy/LocLoggerTest.java @@ -0,0 +1,80 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.cal10n_dummy; + +import java.util.Locale; + +import junit.framework.TestCase; + +import org.apache.log4j.spi.LoggingEvent; +import org.slf4j.cal10n.LocLogger; +import org.slf4j.cal10n.LocLoggerFactory; +import org.slf4j.dummyExt.ListAppender; + +import ch.qos.cal10n.IMessageConveyor; +import ch.qos.cal10n.MessageConveyor; + +public class LocLoggerTest extends TestCase { + + ListAppender listAppender; + org.apache.log4j.Logger log4jRoot; + + IMessageConveyor imc = new MessageConveyor(Locale.UK); + LocLoggerFactory llFactory_uk = new LocLoggerFactory(imc); + + final static String EXPECTED_FILE_NAME = "LocLoggerTest.java"; + + public LocLoggerTest(String name) { + super(name); + } + + public void setUp() throws Exception { + super.setUp(); + + // start from a clean slate for each test + + listAppender = new ListAppender(); + listAppender.extractLocationInfo = true; + log4jRoot = org.apache.log4j.Logger.getRootLogger(); + log4jRoot.addAppender(listAppender); + log4jRoot.setLevel(org.apache.log4j.Level.TRACE); + } + + void verify(LoggingEvent le, String expectedMsg) { + assertEquals(expectedMsg, le.getMessage()); + assertEquals(EXPECTED_FILE_NAME, le.getLocationInformation().getFileName()); + } + + public void tearDown() throws Exception { + super.tearDown(); + } + + public void testSmoke() { + LocLogger locLogger = llFactory_uk.getLocLogger(this.getClass()); + locLogger.info(Months.JAN); + verify((LoggingEvent) listAppender.list.get(0), "January"); + + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/cal10n_dummy/Months.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/cal10n_dummy/Months.java new file mode 100644 index 0000000..494ed71 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/cal10n_dummy/Months.java @@ -0,0 +1,34 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.cal10n_dummy; + +import ch.qos.cal10n.BaseName; + +@BaseName("months") +public enum Months { + + JAN, FEB, MAR, APR, MAY, JUN; + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/cal10n_dummy/MyApplication.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/cal10n_dummy/MyApplication.java new file mode 100644 index 0000000..5f602f4 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/cal10n_dummy/MyApplication.java @@ -0,0 +1,56 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.cal10n_dummy; + +import java.util.Locale; + +import org.slf4j.cal10n.LocLogger; +import org.slf4j.cal10n.LocLoggerFactory; + +import ch.qos.cal10n.IMessageConveyor; +import ch.qos.cal10n.MessageConveyor; + +public class MyApplication { + + // create a message conveyor for a given locale + IMessageConveyor messageConveyor = new MessageConveyor(Locale.JAPAN); + + // create the LogLoggerFactory + LocLoggerFactory llFactory_uk = new LocLoggerFactory(messageConveyor); + + // create a locLogger + LocLogger locLogger = llFactory_uk.getLocLogger(this.getClass()); + + + public void applicationStart() { + locLogger.info(Production.APPLICATION_STARTED); + // .. + } + + public void applicationStop() { + locLogger.info(Production.APPLICATION_STOPPED); + // ... + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/cal10n_dummy/PackageTest.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/cal10n_dummy/PackageTest.java new file mode 100644 index 0000000..2994cdc --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/cal10n_dummy/PackageTest.java @@ -0,0 +1,36 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.cal10n_dummy; + +import junit.framework.*; + +public class PackageTest extends TestCase { + + public static Test suite() { + TestSuite suite = new TestSuite(); + suite.addTestSuite(LocLoggerTest.class); + return suite; + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/cal10n_dummy/Production.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/cal10n_dummy/Production.java new file mode 100644 index 0000000..957591e --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/cal10n_dummy/Production.java @@ -0,0 +1,38 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.cal10n_dummy; + +import ch.qos.cal10n.LocaleData; +import ch.qos.cal10n.Locale; +import ch.qos.cal10n.BaseName; + +@BaseName("production") +@LocaleData( { @Locale("en_UK"), @Locale("fr") }) +public enum Production { + APPLICATION_STARTED, + APPLICATION_STOPPED, + DB_CONNECTION, + DB_CONNECTION_FAILURE; +} \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/dummyExt/EventLoggerTest.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/dummyExt/EventLoggerTest.java new file mode 100644 index 0000000..43b09a2 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/dummyExt/EventLoggerTest.java @@ -0,0 +1,108 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.dummyExt; + +import java.util.Date; +import java.util.Locale; +import java.util.TimeZone; + +import junit.framework.TestCase; + +import org.apache.log4j.spi.LocationInfo; +import org.apache.log4j.spi.LoggingEvent; +import org.slf4j.MDC; +import org.slf4j.ext.EventData; +import org.slf4j.ext.EventLogger; + +public class EventLoggerTest extends TestCase { + + ListAppender listAppender; + org.apache.log4j.Logger log4; + + final static String EXPECTED_FILE_NAME = "EventLoggerTest.java"; + + public EventLoggerTest(String name) { + super(name); + } + + public void setUp() throws Exception { + super.setUp(); + + // start from a clean slate for each test + + listAppender = new ListAppender(); + listAppender.extractLocationInfo = true; + org.apache.log4j.Logger eventLogger = + org.apache.log4j.Logger.getLogger("EventLogger"); + eventLogger.addAppender(listAppender); + eventLogger.setLevel(org.apache.log4j.Level.TRACE); + eventLogger.setAdditivity(false); + // Items that apply to any activity + MDC.put("ipAddress", "192.168.1.110"); + MDC.put("login", "TestUSer"); + MDC.put("hostname", "localhost"); + MDC.put("productName", "SLF4J"); + MDC.put("locale", Locale.getDefault().getDisplayName()); + MDC.put("timezone", TimeZone.getDefault().getDisplayName()); + + } + + public void tearDown() throws Exception { + super.tearDown(); + MDC.clear(); + } + + void verify(LoggingEvent le, String expectedMsg) { + assertEquals(expectedMsg, le.getMessage()); + assertEquals(EXPECTED_FILE_NAME, le.getLocationInformation().getFileName()); + } + + + public void testEventLogger() { + EventData data[] = new EventData[2]; + data[0] = new EventData(); + data[0].setEventType("Login"); + data[0].setEventId("1"); + data[0].setEventDateTime(new Date()); + data[0].put("Userid", "TestUser"); + EventLogger.logEvent(data[0]); + + data[1] = new EventData(); + data[1].setEventType("Update"); + data[1].setEventId("2"); + data[1].setEventDateTime(new Date()); + data[1].put("FileName", "/etc/hosts"); + EventLogger.logEvent(data[1]); + + assertEquals(2, listAppender.list.size()); + for (int i=0; i < 2; ++i) { + LoggingEvent event = listAppender.list.get(i); + verify(event, data[i].toXML()); + LocationInfo li = event.getLocationInformation(); + assertEquals(this.getClass().getName(), li.getClassName()); + assertEquals(event.getMDC("hostname"), "localhost"); + } + } +} \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/dummyExt/ListAppender.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/dummyExt/ListAppender.java new file mode 100644 index 0000000..5be7b40 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/dummyExt/ListAppender.java @@ -0,0 +1,54 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.dummyExt; + +import java.util.ArrayList; +import java.util.List; + +import org.apache.log4j.AppenderSkeleton; +import org.apache.log4j.spi.LoggingEvent; + +public class ListAppender extends AppenderSkeleton { + + public List list = new ArrayList(); + + public boolean extractLocationInfo = false; + + protected void append(LoggingEvent event) { + list.add(event); + if(extractLocationInfo) { + event.getLocationInformation(); + } + } + + public void close() { + } + + public boolean requiresLayout() { + return false; + } + +} + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/dummyExt/MDCStrLookupTest.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/dummyExt/MDCStrLookupTest.java new file mode 100644 index 0000000..f1edca0 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/dummyExt/MDCStrLookupTest.java @@ -0,0 +1,57 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.dummyExt; + +import junit.framework.TestCase; + +import org.slf4j.MDC; +import org.slf4j.ext.MDCStrLookup; + +public class MDCStrLookupTest extends TestCase { + + + public MDCStrLookupTest(String name) { + super(name); + } + + public void setUp() throws Exception { + super.setUp(); + } + + public void tearDown() throws Exception { + super.tearDown(); + } + + public void testLookup() throws Exception { + MDC.put("key", "value"); + MDC.put("number", "2"); + MDCStrLookup lookup = new MDCStrLookup(); + assertEquals("value", lookup.lookup("key")); + assertEquals("2", lookup.lookup("number")); + assertEquals(null, lookup.lookup(null)); + assertEquals(null, lookup.lookup("")); + assertEquals(null, lookup.lookup("other")); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/dummyExt/PackageTest.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/dummyExt/PackageTest.java new file mode 100644 index 0000000..32994bc --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/dummyExt/PackageTest.java @@ -0,0 +1,38 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.dummyExt; + +import junit.framework.*; + +public class PackageTest extends TestCase { + + public static Test suite() { + TestSuite suite = new TestSuite(); + suite.addTestSuite(MDCStrLookupTest.class); + suite.addTestSuite(XLoggerTest.class); + suite.addTestSuite(EventLoggerTest.class); + return suite; + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/dummyExt/XLoggerTest.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/dummyExt/XLoggerTest.java new file mode 100644 index 0000000..347a78f --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/dummyExt/XLoggerTest.java @@ -0,0 +1,157 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.dummyExt; + +import junit.framework.TestCase; + +import org.apache.log4j.spi.LocationInfo; +import org.apache.log4j.spi.LoggingEvent; +import org.slf4j.ext.XLogger; +import org.slf4j.ext.XLoggerFactory; + +public class XLoggerTest extends TestCase { + + ListAppender listAppender; + org.apache.log4j.Logger log4jRoot; + + final static String EXPECTED_FILE_NAME = "XLoggerTest.java"; + + public XLoggerTest(String name) { + super(name); + } + + public void setUp() throws Exception { + super.setUp(); + + // start from a clean slate for each test + + listAppender = new ListAppender(); + listAppender.extractLocationInfo = true; + log4jRoot = org.apache.log4j.Logger.getRootLogger(); + log4jRoot.addAppender(listAppender); + log4jRoot.setLevel(org.apache.log4j.Level.TRACE); + } + + public void tearDown() throws Exception { + super.tearDown(); + } + + void verify(LoggingEvent le, String expectedMsg) { + assertEquals(expectedMsg, le.getMessage()); + assertEquals(EXPECTED_FILE_NAME, le.getLocationInformation().getFileName()); + } + + void verifyWithException(LoggingEvent le, String expectedMsg, Throwable t) { + verify(le, expectedMsg); + assertEquals(t.toString(), le.getThrowableStrRep()[0]); + } + + void verifyWithLevelAndException(LoggingEvent le, XLogger.Level level, String expectedMsg, Throwable t) { + verify(le, expectedMsg); + assertEquals(t.toString(), le.getThrowableStrRep()[0]); + assertEquals(le.getLevel().toString(), level.toString()); + } + + public void testEntering() { + XLogger logger = XLoggerFactory.getXLogger("UnitTest"); + logger.entry(); + logger.entry(1); + logger.entry("test"); + logger.entry("a", "b", "c", "d"); + logger.entry("a", "b", "c", "d", "e"); + logger.entry("a", "b", "c", "d", "e", "f"); + + assertEquals(6, listAppender.list.size()); + verify((LoggingEvent) listAppender.list.get(0), "entry"); + verify((LoggingEvent) listAppender.list.get(1), "entry with (1)"); + verify((LoggingEvent) listAppender.list.get(2), "entry with (test)"); + } + + public void testExiting() { + XLogger logger = XLoggerFactory.getXLogger("UnitTest"); + logger.exit(); + logger.exit(0); + logger.exit(false); + + assertEquals(3, listAppender.list.size()); + verify((LoggingEvent) listAppender.list.get(0), "exit"); + verify((LoggingEvent) listAppender.list.get(1), "exit with (0)"); + verify((LoggingEvent) listAppender.list.get(2), "exit with (false)"); + } + + public void testThrowing() { + XLogger logger = XLoggerFactory.getXLogger("UnitTest"); + Throwable t = new UnsupportedOperationException("Test"); + logger.throwing(t); + logger.throwing(XLogger.Level.DEBUG,t); + assertEquals(2, listAppender.list.size()); + verifyWithException((LoggingEvent) listAppender.list.get(0), "throwing", t); + LoggingEvent event = (LoggingEvent)listAppender.list.get(1); + verifyWithLevelAndException(event, XLogger.Level.DEBUG, + "throwing", t); + } + + public void testCaught() { + XLogger logger = XLoggerFactory.getXLogger("UnitTest"); + long x = 5; + Throwable t = null; + try { + @SuppressWarnings("unused") + long y = x / 0; + } catch (Exception ex) { + t = ex; + logger.catching(ex); + logger.catching(XLogger.Level.DEBUG, ex); + } + verifyWithException((LoggingEvent) listAppender.list.get(0), "catching", t); + verifyWithLevelAndException((LoggingEvent) listAppender.list.get(1), XLogger.Level.DEBUG, + "catching", t); + } + + // See http://bugzilla.slf4j.org/show_bug.cgi?id=114 + public void testLocationExtraction_Bug114() { + XLogger logger = XLoggerFactory.getXLogger("UnitTest"); + int line = 137; // next line is line number 134 + logger.exit(); + logger.debug("hello"); + + assertEquals(2, listAppender.list.size()); + + { + LoggingEvent e = listAppender.list.get(0); + LocationInfo li = e.getLocationInformation(); + assertEquals(this.getClass().getName(), li.getClassName()); + assertEquals(""+line, li.getLineNumber()); + } + + { + LoggingEvent e = listAppender.list.get(1); + LocationInfo li = e.getLocationInformation(); + assertEquals(this.getClass().getName(), li.getClassName()); + assertEquals(""+(line+1), li.getLineNumber()); + } + + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/dummyExt/package.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/dummyExt/package.html new file mode 100644 index 0000000..4ed5eaa --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/dummyExt/package.html @@ -0,0 +1,8 @@ + + +Tests related to the org.slfj.ext package. However, location information code +required the caller class (XLogger) to have a different prefix than +the test class XLoggerTest. This is ensured by having the test class +placed in a different package. + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/instrumentation/ToStringHelperTest.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/instrumentation/ToStringHelperTest.java new file mode 100644 index 0000000..0ada760 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/instrumentation/ToStringHelperTest.java @@ -0,0 +1,78 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.instrumentation; + +import junit.framework.TestCase; + +public class ToStringHelperTest extends TestCase { + + public void testRenderer() { + assertEquals("", "null", ToStringHelper.render(null)); + assertEquals("", "a", ToStringHelper.render("a")); + assertEquals("", "[]", ToStringHelper.render(new String[0])); + + assertEquals("", "[a]", ToStringHelper.render(new String[] { "a" })); + + assertEquals("", "[a, b]", ToStringHelper.render(new String[] { "a", + "b" })); + + assertEquals("", "[a, b, c]", ToStringHelper.render(new String[] { "a", + "b", "c" })); + + assertEquals("", "[[a], [b, c]]", ToStringHelper.render(new String[][] { + { "a" }, { "b", "c" } })); + + assertEquals("", "[0, [a], [b, c]]", ToStringHelper + .render(new Object[] { "0", new String[] { "a" }, + new Object[] { "b", "c" } })); + + assertEquals("", "[1]", ToStringHelper.render(new int[] { 1 })); + + assertEquals("", "[1, 2, 3]", ToStringHelper + .render(new int[] { 1, 2, 3 })); + + assertEquals("", "[1, 2, 3]", ToStringHelper.render(new long[] { 1, 2, + 3 })); + + assertEquals("", "[1, 2, 3]", ToStringHelper.render(new short[] { 1, 2, + 3 })); + + assertEquals("", "[[1, 2], [], [3, 4]]", ToStringHelper + .render(new byte[][] { { 1, 2 }, {}, { 3, 4 } })); + + assertEquals("", "[1.0, 2.0, 3.0]", ToStringHelper.render(new float[] { + 1, 2, 3 })); + + assertEquals("", "[1.0, 2.0, 3.0]", ToStringHelper.render(new double[] { + 1, 2, 3 })); + + assertEquals("", "[[1.0, 2.0, 3.0]]", ToStringHelper + .render(new double[][] { { 1, 2, 3 } })); + + assertEquals("", "[true, false, true]", ToStringHelper + .render(new boolean[] { true, false, true })); + } + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/profiler/BasicProfilerDemo.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/profiler/BasicProfilerDemo.java new file mode 100644 index 0000000..b4e2543 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/profiler/BasicProfilerDemo.java @@ -0,0 +1,87 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.profiler; + +/** + * + * This demo illustrates usage of SLF4J profilers. + * + *

+ * We have been given the task of generating a large number, say N, of random + * integers. We need to transform that array into a smaller array containing + * only prime numbers. The new array has to be sorted. + * + *

+ * While tackling this problem, we would like to measure the time spent in each + * subtask. + * + *

+ * A typical output for this demo would be: + * + *

+   + Profiler [BASIC]
+   |-- elapsed time                      [A]   213.186 milliseconds.
+   |-- elapsed time                      [B]  2499.107 milliseconds.
+   |-- elapsed time                  [OTHER]  3300.752 milliseconds.
+   |-- Total                         [BASIC]  6014.161 milliseconds.
+  
+ * + * @author Ceki Gulcu + */ +public class BasicProfilerDemo { + + public static void main(String[] args) { + // create a profiler called "BASIC" + Profiler profiler = new Profiler("BASIC"); + profiler.start("A"); + doA(); + + profiler.start("B"); + doB(); + + profiler.start("OTHER"); + doOther(); + profiler.stop().print(); + } + + static private void doA() { + delay(200); + } + + static private void doB() { + delay(2500); + } + + static private void doOther() { + delay(3300); + } + + static private void delay(int millis) { + try { + Thread.sleep(millis); + } catch (InterruptedException e) { + } + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/profiler/NestedProfilerDemo.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/profiler/NestedProfilerDemo.java new file mode 100644 index 0000000..84f510e --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/profiler/NestedProfilerDemo.java @@ -0,0 +1,86 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.profiler; + + + +/** + * + * This demo illustrates usage of SLF4J profilers. + * + *

+ * We have been given the task of generating a large number, say N, + * of random integers. We need to transform that array into a smaller array + * containing only prime numbers. The new array has to be sorted. + * + *

+ * While tackling this problem, we would like to measure the + * time spent in each subtask. + * + *

+ * A typical output for this demo would be: +

+ + Profiler [DEMO]
+|-- elapsed time                       [RANDOM]     0.089  seconds.
+|---+ Profiler [SORT_AND_PRUNE]
+    |-- elapsed time                         [SORT]     0.221  seconds.
+    |-- elapsed time             [PRUNE_COMPOSITES]    11.567  seconds.
+    |-- Subtotal                   [SORT_AND_PRUNE]    11.788  seconds.
+|-- elapsed time               [SORT_AND_PRUNE]    11.788  seconds.
+|-- Total                                [DEMO]    11.877  seconds.
+
+ * + * @author Ceki Gulcu + */ +public class NestedProfilerDemo { + + public static void main(String[] args) { + // create a profiler called "DEMO" + Profiler profiler = new Profiler("DEMO"); + + // register this profiler in the thread context's profiler registry + ProfilerRegistry profilerRegistry = ProfilerRegistry.getThreadContextInstance(); + profiler.registerWith(profilerRegistry); + + // start a stopwatch called "RANDOM" + profiler.start("RANDOM"); + RandomIntegerArrayGenerator riaGenerator = new RandomIntegerArrayGenerator(); + int n = 10*1000; + int[] randomArray = riaGenerator.generate(n); + + // create and start a nested profiler called "SORT_AND_PRUNE" + // By virtue of its parent-child relationship with the "DEMO" + // profiler, and the previous registration of the parent profiler, + // this nested profiler will be automatically registered + // with the thread context's profiler registry + profiler.startNested(SortAndPruneComposites.NESTED_PROFILER_NAME); + + SortAndPruneComposites pruner = new SortAndPruneComposites(randomArray); + pruner.sortAndPruneComposites(); + + // stop and print the "DEMO" printer + profiler.stop().print(); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/profiler/NestedProfilerDemo2.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/profiler/NestedProfilerDemo2.java new file mode 100644 index 0000000..91dddb5 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/profiler/NestedProfilerDemo2.java @@ -0,0 +1,66 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.profiler; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + + + +/** + * + * This demo illustrates usage of SLF4J profilers. It is almost identical to + * the first NestProfilerDemo, except that it uses a logger instead of + * printing its output on the console. + * + + * @author Ceki Gulcu + */ +public class NestedProfilerDemo2 { + + static Logger logger = LoggerFactory.getLogger(NestedProfilerDemo2.class); + + public static void main(String[] args) { + Profiler profiler = new Profiler("DEMO"); + // associate a logger with the profiler + profiler.setLogger(logger); + + ProfilerRegistry profilerRegistry = ProfilerRegistry.getThreadContextInstance(); + profiler.registerWith(profilerRegistry); + + profiler.start("RANDOM"); + RandomIntegerArrayGenerator riaGenerator = new RandomIntegerArrayGenerator(); + int n = 10*1000; + int[] randomArray = riaGenerator.generate(n); + + profiler.startNested(SortAndPruneComposites.NESTED_PROFILER_NAME); + + SortAndPruneComposites pruner = new SortAndPruneComposites(randomArray); + pruner.sortAndPruneComposites(); + + // stop and log + profiler.stop().log(); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/profiler/PackageTest.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/profiler/PackageTest.java new file mode 100644 index 0000000..1c86121 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/profiler/PackageTest.java @@ -0,0 +1,38 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.profiler; + + +import junit.framework.*; + +public class PackageTest extends TestCase { + + public static Test suite() { + TestSuite suite = new TestSuite(); + suite.addTestSuite(UtilTest.class); + suite.addTestSuite(ProfilerTest.class); + return suite; + } +} \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/profiler/ProfilerTest.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/profiler/ProfilerTest.java new file mode 100644 index 0000000..f2a2721 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/profiler/ProfilerTest.java @@ -0,0 +1,136 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.profiler; + +import junit.framework.TestCase; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class ProfilerTest extends TestCase { + + Logger logger = LoggerFactory.getLogger(ProfilerTest.class); + + public void setUp() throws Exception { + super.setUp(); + } + public void testSmoke() { + Profiler profiler = new Profiler("SMOKE"); + profiler.stop(); + StopWatch gSW = profiler.globalStopWatch; + + // verify + profiler.sanityCheck(); + assertEquals(TimeInstrumentStatus.STOPPED, gSW.status); + assertEquals(0, profiler.childTimeInstrumentList.size()); + assertNull(profiler.getLastTimeInstrument()); + } + + public void testBasicProfiling() { + Profiler profiler = new Profiler("BAS"); + + profiler.start("doX"); + doX(1); + + profiler.start("doY"); + doY(10); + + profiler.start("doZ"); + doZ(2); + profiler.stop(); + + // verify + profiler.sanityCheck(); + StopWatch gSW = profiler.globalStopWatch; + assertEquals(TimeInstrumentStatus.STOPPED, gSW.status); + assertEquals(3, profiler.childTimeInstrumentList.size()); + assertNotNull(profiler.getLastTimeInstrument()); + assertEquals("doZ", profiler.getLastTimeInstrument().getName()); + } + + // + Profiler [BAS] + // |-- elapsed time [doX] 1.272 milliseconds. + // |-- elapsed time [doYYYYY] 25.398 milliseconds. + // |--+ Profiler [subtask] + // |-- elapsed time [n1] 1.434 milliseconds. + // |-- elapsed time [n2] 5.855 milliseconds. + // |-- Total elapsed time [subtask] 7.321 milliseconds. + // |-- elapsed time [doZ] 3.211 milliseconds. + // |-- Total elapsed time [BAS] 30.317 milliseconds. + public void testNestedProfiling() { + + Profiler profiler = new Profiler("BAS"); + profiler.setLogger(logger); + profiler.start("doX"); + doX(1); + + profiler.start("doYYYYY"); + for (int i = 0; i < 5; i++) { + doY(i); + } + Profiler nested = profiler.startNested("subtask"); + doSubtask(nested); + profiler.start("doZ"); + doZ(2); + profiler.stop(); + + // verify + profiler.sanityCheck(); + StopWatch gSW = profiler.globalStopWatch; + assertEquals(TimeInstrumentStatus.STOPPED, gSW.status); + //assertEquals(3, profiler.stopwatchList.size()); + assertEquals(4, profiler.childTimeInstrumentList.size()); + assertNotNull(profiler.getLastTimeInstrument()); + assertEquals("doZ", profiler.getLastTimeInstrument().getName()); + + } + + private void doX(int millis) { + delay(millis); + } + private void doY(int millis) { + delay(millis); + } + private void doZ(int millis) { + delay(millis); + } + + public void doSubtask(Profiler nested) { + nested.start("n1"); + doX(1); + + nested.start("n2"); + doX(5); + nested.stop(); + } + + + void delay(int millis) { + try { + Thread.sleep(millis); + } catch (InterruptedException e) { + } + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/profiler/RandomIntegerArrayGenerator.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/profiler/RandomIntegerArrayGenerator.java new file mode 100644 index 0000000..9d8b358 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/profiler/RandomIntegerArrayGenerator.java @@ -0,0 +1,40 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.profiler; + +import java.util.Random; + +public class RandomIntegerArrayGenerator { + Random rand = new Random(11); + + int[] generate(int size) { + int[] result = new int[size]; + for(int i = 0; i < size; i++) { + int r = rand.nextInt(); + result[i] = r; + } + return result; + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/profiler/SortAndPruneComposites.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/profiler/SortAndPruneComposites.java new file mode 100644 index 0000000..1505f9f --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/profiler/SortAndPruneComposites.java @@ -0,0 +1,96 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.profiler; + +import java.util.ArrayList; +import java.util.Arrays; + +public class SortAndPruneComposites { + + static String NESTED_PROFILER_NAME = "SORT_AND_PRUNE"; + + final int[] originalArray; + final int originalArrrayLength; + + public SortAndPruneComposites(int[] randomArray) { + this.originalArray = randomArray; + this.originalArrrayLength = randomArray.length; + + } + + public int[] sortAndPruneComposites() { + // retrieve previously registered profiler named "SORT_AND_PRUNE" + ProfilerRegistry profilerRegistry = ProfilerRegistry.getThreadContextInstance(); + Profiler sortProfiler = profilerRegistry.get(NESTED_PROFILER_NAME); + + // start a new stopwatch called SORT + sortProfiler.start("SORT"); + int[] sortedArray = sort(); + // start a new stopwatch called PRUNE_COMPOSITES + sortProfiler.start("PRUNE_COMPOSITES"); + int result[] = pruneComposites(sortedArray); + + return result; + } + + private int[] sort() { + int[] sortedArray = new int[originalArrrayLength]; + System.arraycopy(originalArray, 0, sortedArray, 0, originalArrrayLength); + Arrays.sort(sortedArray); + return sortedArray; + } + + int[] pruneComposites(int[] sortedArray) { + ArrayList primesArray = new ArrayList(); + for(int i = 0; i < originalArrrayLength; i++) { + int n = sortedArray[i]; + if(isPrime(n)) { + primesArray.add(n); + } + } + int resultSize = primesArray.size(); + int[] result = new int[resultSize]; + + for(int i = 0; i < resultSize; i++) { + result[i] = primesArray.get(i); + } + return result; + } + + public boolean isPrime(int n) { + if(n < 2) { + return false; + } + if(n%2 == 0) { + return false; + } + for(int i = 3; i*i <=n; i += 2) { + if(n%i ==0) { + return false; + } + } + return true; + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/profiler/UtilTest.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/profiler/UtilTest.java new file mode 100644 index 0000000..713bcb3 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/java/org/slf4j/profiler/UtilTest.java @@ -0,0 +1,52 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.profiler; + +import junit.framework.TestCase; + +public class UtilTest extends TestCase { + + public UtilTest(String name) { + super(name); + } + + protected void setUp() throws Exception { + super.setUp(); + } + + protected void tearDown() throws Exception { + super.tearDown(); + } + + public void testSelectDurationUnitForDisplay() throws InterruptedException { + assertEquals(DurationUnit.NANOSECOND, Util.selectDurationUnitForDisplay(10)); + assertEquals(DurationUnit.NANOSECOND, Util.selectDurationUnitForDisplay(9*Util.NANOS_IN_ONE_MICROSECOND)); + assertEquals(DurationUnit.MICROSECOND, Util.selectDurationUnitForDisplay(11*Util.NANOS_IN_ONE_MICROSECOND)); + assertEquals(DurationUnit.MICROSECOND, Util.selectDurationUnitForDisplay(9*Util.NANOS_IN_ONE_MILLISECOND)); + assertEquals(DurationUnit.MILLISSECOND, Util.selectDurationUnitForDisplay(11*Util.NANOS_IN_ONE_MILLISECOND)); + assertEquals(DurationUnit.SECOND, Util.selectDurationUnitForDisplay(11*Util.NANOS_IN_ONE_SECOND)); + } + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/resources/log4j.properties b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/resources/log4j.properties new file mode 100644 index 0000000..10c1170 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/resources/log4j.properties @@ -0,0 +1,6 @@ + +log4j.rootLogger=DEBUG, CONSOLE + +log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender +log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout +log4j.appender.CONSOLE.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/resources/months_en.properties b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/resources/months_en.properties new file mode 100644 index 0000000..fca46d4 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-ext/src/test/resources/months_en.properties @@ -0,0 +1,6 @@ +JAN=January +FEB=February +MAR=March +APR=April +MAY=May +JUN=June diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jcl-1.7.5-sources.jar b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jcl-1.7.5-sources.jar new file mode 100644 index 0000000..0230691 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jcl-1.7.5-sources.jar differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jcl-1.7.5.jar b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jcl-1.7.5.jar new file mode 100644 index 0000000..9630f34 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jcl-1.7.5.jar differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jcl/pom.xml b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jcl/pom.xml new file mode 100644 index 0000000..3fb43dc --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jcl/pom.xml @@ -0,0 +1,54 @@ + + + + org.slf4j + slf4j-parent + 1.7.5 + + + 4.0.0 + + org.slf4j + slf4j-jcl + jar + SLF4J JCL Binding + SLF4J JCL Binding + + http://www.slf4j.org + + + + + org.slf4j + slf4j-api + + + + commons-logging + commons-logging + 1.1.1 + + + + + + + + org.apache.maven.plugins + maven-jar-plugin + + + + ${parsedVersion.osgiVersion} + ${project.description} + ${project.version} + + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jcl/src/main/java/org/slf4j/impl/JCLLoggerAdapter.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jcl/src/main/java/org/slf4j/impl/JCLLoggerAdapter.java new file mode 100644 index 0000000..262151c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jcl/src/main/java/org/slf4j/impl/JCLLoggerAdapter.java @@ -0,0 +1,537 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +package org.slf4j.impl; + +import org.apache.commons.logging.Log; +import org.slf4j.Logger; +import org.slf4j.helpers.FormattingTuple; +import org.slf4j.helpers.MarkerIgnoringBase; +import org.slf4j.helpers.MessageFormatter; + +/** + * A wrapper over {@link org.apache.commons.logging.Log + * org.apache.commons.logging.Log} in conformance with the {@link Logger} + * interface. + * + * @author Ceki Gülcü + */ +public final class JCLLoggerAdapter extends MarkerIgnoringBase { + + private static final long serialVersionUID = 4141593417490482209L; + final Log log; + + // WARN: JCLLoggerAdapter constructor should have only package access so + // that only JCLLoggerFactory be able to create one. + JCLLoggerAdapter(Log log, String name) { + this.log = log; + this.name = name; + } + + /** + * Delegates to the {@link Log#isTraceEnabled} method of the underlying + * {@link Log} instance. + */ + public boolean isTraceEnabled() { + return log.isTraceEnabled(); + } + + // + + /** + * Delegates to the {@link Log#trace(java.lang.Object)} method of the underlying + * {@link Log} instance. + * + * @param msg - the message object to be logged + */ + public void trace(String msg) { + log.trace(msg); + } + + /** + * Delegates to the {@link Log#trace(java.lang.Object)} method of the underlying + * {@link Log} instance. + * + *

+ * However, this form avoids superfluous object creation when the logger is disabled + * for level TRACE. + *

+ * + * @param format + * the format string + * @param arg + * the argument + */ + public void trace(String format, Object arg) { + if (log.isDebugEnabled()) { + FormattingTuple ft = MessageFormatter.format(format, arg); + log.trace(ft.getMessage(), ft.getThrowable()); + } + } + + /** + * Delegates to the {@link Log#trace(java.lang.Object)} method of the underlying + * {@link Log} instance. + * + *

+ * However, this form avoids superfluous object creation when the logger is disabled + * for level TRACE. + *

+ * + * @param format + * the format string + * @param arg1 + * the first argument + * @param arg2 + * the second argument + */ + public void trace(String format, Object arg1, Object arg2) { + if (log.isDebugEnabled()) { + FormattingTuple ft = MessageFormatter.format(format, arg1, arg2); + log.trace(ft.getMessage(), ft.getThrowable()); + } + } + + + /** + * Delegates to the {@link Log#trace(java.lang.Object)} method of the underlying + * {@link Log} instance. + * + *

+ * However, this form avoids superfluous object creation when the logger is disabled + * for level TRACE. + *

+ * + * @param format the format string + * @param arguments a list of 3 or more arguments + */ + public void trace(String format, Object... arguments) { + if (log.isDebugEnabled()) { + FormattingTuple ft = MessageFormatter.arrayFormat(format, arguments); + log.trace(ft.getMessage(), ft.getThrowable()); + } + } + + /** + * Delegates to the {@link Log#trace(java.lang.Object, java.lang.Throwable)} method of + * the underlying {@link Log} instance. + * + * @param msg + * the message accompanying the exception + * @param t + * the exception (throwable) to log + */ + public void trace(String msg, Throwable t) { + log.trace(msg, t); + } + + + /** + * Delegates to the {@link Log#isDebugEnabled} method of the underlying + * {@link Log} instance. + */ + public boolean isDebugEnabled() { + return log.isDebugEnabled(); + } + + // + + /** + * Delegates to the {@link Log#debug(java.lang.Object)} method of the underlying + * {@link Log} instance. + * + * @param msg - the message object to be logged + */ + public void debug(String msg) { + log.debug(msg); + } + + /** + * Delegates to the {@link Log#debug(java.lang.Object)} method of the underlying + * {@link Log} instance. + * + *

+ * However, this form avoids superfluous object creation when the logger is disabled + * for level DEBUG. + *

+ * + * @param format + * the format string + * @param arg + * the argument + */ + public void debug(String format, Object arg) { + if (log.isDebugEnabled()) { + FormattingTuple ft = MessageFormatter.format(format, arg); + log.debug(ft.getMessage(), ft.getThrowable()); + } + } + + /** + * Delegates to the {@link Log#debug(java.lang.Object)} method of the underlying + * {@link Log} instance. + * + *

+ * However, this form avoids superfluous object creation when the logger is disabled + * for level DEBUG. + *

+ * + * @param format + * the format string + * @param arg1 + * the first argument + * @param arg2 + * the second argument + */ + public void debug(String format, Object arg1, Object arg2) { + if (log.isDebugEnabled()) { + FormattingTuple ft = MessageFormatter.format(format, arg1, arg2); + log.debug(ft.getMessage(), ft.getThrowable()); + } + } + + + /** + * Delegates to the {@link Log#debug(java.lang.Object)} method of the underlying + * {@link Log} instance. + * + *

+ * However, this form avoids superfluous object creation when the logger is disabled + * for level DEBUG. + *

+ * + * @param format the format string + * @param arguments a list of 3 or more arguments + */ + public void debug(String format, Object... arguments) { + if (log.isDebugEnabled()) { + FormattingTuple ft = MessageFormatter.arrayFormat(format, arguments); + log.debug(ft.getMessage(), ft.getThrowable()); + } + } + + /** + * Delegates to the {@link Log#debug(java.lang.Object, java.lang.Throwable)} method of + * the underlying {@link Log} instance. + * + * @param msg + * the message accompanying the exception + * @param t + * the exception (throwable) to log + */ + public void debug(String msg, Throwable t) { + log.debug(msg, t); + } + + /** + * Delegates to the {@link Log#isInfoEnabled} method of the underlying + * {@link Log} instance. + */ + public boolean isInfoEnabled() { + return log.isInfoEnabled(); + } + + /** + * Delegates to the {@link Log#debug(java.lang.Object)} method of the underlying + * {@link Log} instance. + * + * @param msg - the message object to be logged + */ + public void info(String msg) { + log.info(msg); + } + + /** + * Delegates to the {@link Log#info(java.lang.Object)} method of the underlying + * {@link Log} instance. + * + *

+ * However, this form avoids superfluous object creation when the logger is disabled + * for level INFO. + *

+ * + * @param format + * the format string + * @param arg + * the argument + */ + + public void info(String format, Object arg) { + if (log.isInfoEnabled()) { + FormattingTuple ft = MessageFormatter.format(format, arg); + log.info(ft.getMessage(), ft.getThrowable()); + } + } + /** + * Delegates to the {@link Log#info(java.lang.Object)} method of the underlying + * {@link Log} instance. + * + *

+ * However, this form avoids superfluous object creation when the logger is disabled + * for level INFO. + *

+ * + * @param format + * the format string + * @param arg1 + * the first argument + * @param arg2 + * the second argument + */ + public void info(String format, Object arg1, Object arg2) { + if (log.isInfoEnabled()) { + + FormattingTuple ft = MessageFormatter.format(format, arg1, arg2); + log.info(ft.getMessage(), ft.getThrowable()); + } + } + + /** + * Delegates to the {@link Log#info(java.lang.Object)} method of the underlying + * {@link Log} instance. + * + *

+ * However, this form avoids superfluous object creation when the logger is disabled + * for level INFO. + *

+ * + * @param format the format string + * @param arguments a list of 3 or more arguments + */ + public void info(String format, Object... arguments) { + if (log.isInfoEnabled()) { + FormattingTuple ft = MessageFormatter.arrayFormat(format, arguments); + log.info(ft.getMessage(), ft.getThrowable()); + } + } + + + /** + * Delegates to the {@link Log#info(java.lang.Object, java.lang.Throwable)} method of + * the underlying {@link Log} instance. + * + * @param msg + * the message accompanying the exception + * @param t + * the exception (throwable) to log + */ + public void info(String msg, Throwable t) { + log.info(msg, t); + } + + /** + * Delegates to the {@link Log#isWarnEnabled} method of the underlying + * {@link Log} instance. + */ + public boolean isWarnEnabled() { + return log.isWarnEnabled(); + } + + /** + * Delegates to the {@link Log#warn(java.lang.Object)} method of the underlying + * {@link Log} instance. + * + * @param msg - the message object to be logged + */ + public void warn(String msg) { + log.warn(msg); + } + + /** + * Delegates to the {@link Log#warn(java.lang.Object)} method of the underlying + * {@link Log} instance. + * + *

+ * However, this form avoids superfluous object creation when the logger is disabled + * for level WARN. + *

+ * + * @param format + * the format string + * @param arg + * the argument + */ + public void warn(String format, Object arg) { + if (log.isWarnEnabled()) { + FormattingTuple ft = MessageFormatter.format(format, arg); + log.warn(ft.getMessage(), ft.getThrowable()); + } + } + + /** + * Delegates to the {@link Log#warn(java.lang.Object)} method of the underlying + * {@link Log} instance. + * + *

+ * However, this form avoids superfluous object creation when the logger is disabled + * for level WARN. + *

+ * + * @param format + * the format string + * @param arg1 + * the first argument + * @param arg2 + * the second argument + */ + public void warn(String format, Object arg1, Object arg2) { + if (log.isWarnEnabled()) { + FormattingTuple ft = MessageFormatter.format(format, arg1, arg2); + log.warn(ft.getMessage(), ft.getThrowable()); + } + } + + /** + * Delegates to the {@link Log#warn(java.lang.Object)} method of the underlying + * {@link Log} instance. + * + *

+ * However, this form avoids superfluous object creation when the logger is disabled + * for level WARN. + *

+ * + * @param format the format string + * @param arguments a list of 3 or more arguments + */ + public void warn(String format, Object... arguments) { + if (log.isWarnEnabled()) { + FormattingTuple ft = MessageFormatter.arrayFormat(format, arguments); + log.warn(ft.getMessage(), ft.getThrowable()); + } + } + + + /** + * Delegates to the {@link Log#warn(java.lang.Object, java.lang.Throwable)} method of + * the underlying {@link Log} instance. + * + * @param msg + * the message accompanying the exception + * @param t + * the exception (throwable) to log + */ + + public void warn(String msg, Throwable t) { + log.warn(msg, t); + } + + + /** + * Delegates to the {@link Log#isErrorEnabled} method of the underlying + * {@link Log} instance. + */ + public boolean isErrorEnabled() { + return log.isErrorEnabled(); + } + + /** + * Delegates to the {@link Log#error(java.lang.Object)} method of the underlying + * {@link Log} instance. + * + * @param msg - the message object to be logged + */ + public void error(String msg) { + log.error(msg); + } + + /** + * Delegates to the {@link Log#error(java.lang.Object)} method of the underlying + * {@link Log} instance. + * + *

+ * However, this form avoids superfluous object creation when the logger is disabled + * for level ERROR. + *

+ * + * @param format + * the format string + * @param arg + * the argument + */ + public void error(String format, Object arg) { + if (log.isErrorEnabled()) { + FormattingTuple ft = MessageFormatter.format(format, arg); + log.error(ft.getMessage(), ft.getThrowable()); + } + } + + /** + * Delegates to the {@link Log#error(java.lang.Object)} method of the underlying + * {@link Log} instance. + * + *

+ * However, this form avoids superfluous object creation when the logger is disabled + * for level ERROR. + *

+ * + * @param format + * the format string + * @param arg1 + * the first argument + * @param arg2 + * the second argument + */ + public void error(String format, Object arg1, Object arg2) { + if (log.isErrorEnabled()) { + FormattingTuple ft = MessageFormatter.format(format, arg1, arg2); + log.error(ft.getMessage(), ft.getThrowable()); + } + } + + /** + * Delegates to the {@link Log#error(java.lang.Object)} method of the underlying + * {@link Log} instance. + * + *

+ * However, this form avoids superfluous object creation when the logger is disabled + * for level ERROR. + *

+ * + * @param format the format string + * @param arguments a list of 3 or more arguments + */ + public void error(String format, Object... arguments) { + if (log.isErrorEnabled()) { + FormattingTuple ft = MessageFormatter.arrayFormat(format, arguments); + log.error(ft.getMessage(), ft.getThrowable()); + } + } + + + /** + * Delegates to the {@link Log#error(java.lang.Object, java.lang.Throwable)} method of + * the underlying {@link Log} instance. + * + * @param msg + * the message accompanying the exception + * @param t + * the exception (throwable) to log + */ + + public void error(String msg, Throwable t) { + log.error(msg, t); + } + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jcl/src/main/java/org/slf4j/impl/JCLLoggerFactory.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jcl/src/main/java/org/slf4j/impl/JCLLoggerFactory.java new file mode 100644 index 0000000..9bc092a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jcl/src/main/java/org/slf4j/impl/JCLLoggerFactory.java @@ -0,0 +1,86 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.impl; + +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; + +import org.apache.commons.logging.LogFactory; +import org.slf4j.ILoggerFactory; +import org.slf4j.Logger; +import org.slf4j.helpers.Util; + +/** + * JCLLoggerFactory is an implementation of {@link ILoggerFactory} returning the + * appropriately named {@link JCLLoggerAdapter} instance. + * + * @author Ceki Gülcü + */ +public class JCLLoggerFactory implements ILoggerFactory { + + private static final String JCL_DELEGATION_LOOP_URL = "http://www.slf4j.org/codes.html#jclDelegationLoop"; + + // check for delegation loops + static { + try { + Class.forName("org.apache.commons.logging.impl.SLF4JLogFactory"); + String part1 = "Detected both jcl-over-slf4j.jar AND slf4j-jcl.jar on the class path, preempting StackOverflowError. "; + String part2 = "See also " + JCL_DELEGATION_LOOP_URL + + " for more details."; + + Util.report(part1); + Util.report(part2); + throw new IllegalStateException(part1 + part2); + } catch (ClassNotFoundException e) { + // this is the good case + } + } + + // key: name (String), value: a JCLLoggerAdapter; + ConcurrentMap loggerMap; + + public JCLLoggerFactory() { + loggerMap = new ConcurrentHashMap(); + } + + /* + * (non-Javadoc) + * + * @see org.slf4j.ILoggerFactory#getLogger(java.lang.String) + */ + public Logger getLogger(String name) { + Logger slf4jLogger = loggerMap.get(name); + if (slf4jLogger != null) { + return slf4jLogger; + } else { + org.apache.commons.logging.Log jclLogger = LogFactory.getLog(name); + Logger newInstance = new JCLLoggerAdapter(jclLogger, name); + Logger oldInstance = loggerMap.putIfAbsent(name, newInstance); + return oldInstance == null ? newInstance : oldInstance; + } + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jcl/src/main/java/org/slf4j/impl/StaticLoggerBinder.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jcl/src/main/java/org/slf4j/impl/StaticLoggerBinder.java new file mode 100644 index 0000000..6705d55 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jcl/src/main/java/org/slf4j/impl/StaticLoggerBinder.java @@ -0,0 +1,83 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.impl; + +import org.slf4j.ILoggerFactory; +import org.slf4j.LoggerFactory; +import org.slf4j.spi.LoggerFactoryBinder; + +/** + * The binding of {@link LoggerFactory} class with an actual instance of + * {@link ILoggerFactory} is performed using information returned by this class. + * + * @author Ceki Gülcü + */ +public class StaticLoggerBinder implements LoggerFactoryBinder { + + /** + * The unique instance of this class. + */ + private static final StaticLoggerBinder SINGLETON = new StaticLoggerBinder(); + + /** + * Return the singleton of this class. + * + * @return the StaticLoggerBinder singleton + */ + public static final StaticLoggerBinder getSingleton() { + return SINGLETON; + } + + /** + * Version tag used to check compatibility. The value of this field is + * modified with each release. + */ + + //to avoid constant folding by the compiler, this field must *not* be final + public static String REQUESTED_API_VERSION = "1.6.99"; + + // Binding specific code: + private static final String loggerFactoryClassStr = JCLLoggerFactory.class + .getName(); + + /** + * The ILoggerFactory instance returned by the {@link #getLoggerFactory} + * method should always be the same object + */ + private final ILoggerFactory loggerFactory; + + private StaticLoggerBinder() { + // Binding specific code: + loggerFactory = new JCLLoggerFactory(); + } + + public ILoggerFactory getLoggerFactory() { + return loggerFactory; + } + + public String getLoggerFactoryClassStr() { + return loggerFactoryClassStr; + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jcl/src/main/java/org/slf4j/impl/StaticMDCBinder.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jcl/src/main/java/org/slf4j/impl/StaticMDCBinder.java new file mode 100644 index 0000000..4972927 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jcl/src/main/java/org/slf4j/impl/StaticMDCBinder.java @@ -0,0 +1,60 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.impl; + +import org.slf4j.helpers.NOPMDCAdapter; +import org.slf4j.spi.MDCAdapter; + + +/** + * This implementation is bound to {@link NOPMDCAdapter}. + * + * @author Ceki Gülcü + */ +public class StaticMDCBinder { + + + /** + * The unique instance of this class. + */ + public static final StaticMDCBinder SINGLETON = new StaticMDCBinder(); + + private StaticMDCBinder() { + } + + /** + * Currently this method always returns an instance of + * {@link NOPMDCAdapter}. + * + * @return instance of NOPMDCAdapter + */ + public MDCAdapter getMDCA() { + return new NOPMDCAdapter(); + } + + public String getMDCAdapterClassStr() { + return NOPMDCAdapter.class.getName(); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jcl/src/main/java/org/slf4j/impl/StaticMarkerBinder.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jcl/src/main/java/org/slf4j/impl/StaticMarkerBinder.java new file mode 100644 index 0000000..0281707 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jcl/src/main/java/org/slf4j/impl/StaticMarkerBinder.java @@ -0,0 +1,68 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.impl; + +import org.slf4j.IMarkerFactory; +import org.slf4j.MarkerFactory; +import org.slf4j.helpers.BasicMarkerFactory; +import org.slf4j.spi.MarkerFactoryBinder; + +/** + * + * The binding of {@link MarkerFactory} class with an actual instance of + * {@link IMarkerFactory} is performed using information returned by this class. + * + * @author Ceki Gülcü + */ +public class StaticMarkerBinder implements MarkerFactoryBinder { + + /** + * The unique instance of this class. + */ + public static final StaticMarkerBinder SINGLETON = new StaticMarkerBinder(); + + final IMarkerFactory markerFactory = new BasicMarkerFactory(); + + private StaticMarkerBinder() { + } + + /** + * Currently this method always returns an instance of + * {@link BasicMarkerFactory}. + */ + public IMarkerFactory getMarkerFactory() { + return markerFactory; + } + + /** + * Currently, this method returns the class name of + * {@link BasicMarkerFactory}. + */ + public String getMarkerFactoryClassStr() { + return BasicMarkerFactory.class.getName(); + } + + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jcl/src/main/resources/META-INF/MANIFEST.MF b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jcl/src/main/resources/META-INF/MANIFEST.MF new file mode 100644 index 0000000..ea973a0 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jcl/src/main/resources/META-INF/MANIFEST.MF @@ -0,0 +1,10 @@ +Implementation-Title: slf4j-jcl +Bundle-ManifestVersion: 2 +Bundle-SymbolicName: slf4j.jcl +Bundle-Name: slf4j-jcl +Bundle-Vendor: SLF4J.ORG +Require-Bundle: slf4j.api +Bundle-RequiredExecutionEnvironment: J2SE-1.3 +Export-Package: org.slf4j.impl;version=${parsedVersion.osgiVersion} +Import-Package: org.slf4j.spi;version=${parsedVersion.osgiVersion}, org.slf4j.helpers;version=${parsedVersion.osgiVersion}, org.apache.commons.logging +Fragment-Host: slf4j.api \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jcl/src/test/java/org/slf4j/InvocationTest.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jcl/src/test/java/org/slf4j/InvocationTest.java new file mode 100644 index 0000000..aa55978 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jcl/src/test/java/org/slf4j/InvocationTest.java @@ -0,0 +1,129 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j; + +import java.util.logging.Level; + +import junit.framework.TestCase; + + +/** + * Test whether invoking the SLF4J API causes problems or not. + * + * @author Ceki Gulcu + * + */ +public class InvocationTest extends TestCase { + + Level oldLevel; + java.util.logging.Logger root = java.util.logging.Logger.getLogger(""); + + + public InvocationTest (String arg0) { + super(arg0); + } + + protected void setUp() throws Exception { + super.setUp(); + oldLevel = root.getLevel(); + root.setLevel(Level.OFF); + } + + protected void tearDown() throws Exception { + super.tearDown(); + root.setLevel(oldLevel); + } + + public void test1() { + Logger logger = LoggerFactory.getLogger("test1"); + logger.debug("Hello world."); + } + + public void test2() { + Integer i1 = new Integer(1); + Integer i2 = new Integer(2); + Integer i3 = new Integer(3); + Exception e = new Exception("This is a test exception."); + Logger logger = LoggerFactory.getLogger("test2"); + + logger.debug("Hello world 1."); + logger.debug("Hello world {}", i1); + logger.debug("val={} val={}", i1, i2); + logger.debug("val={} val={} val={}", new Object[]{i1, i2, i3}); + + logger.debug("Hello world 2", e); + logger.info("Hello world 2."); + + + logger.warn("Hello world 3."); + logger.warn("Hello world 3", e); + + + logger.error("Hello world 4."); + logger.error("Hello world {}", new Integer(3)); + logger.error("Hello world 4.", e); + } + + public void testNull() { + Logger logger = LoggerFactory.getLogger("testNull"); + logger.debug(null); + logger.info(null); + logger.warn(null); + logger.error(null); + + Exception e = new Exception("This is a test exception."); + logger.debug(null, e); + logger.info(null, e); + logger.warn(null, e); + logger.error(null, e); + } + + public void testMarker() { + Logger logger = LoggerFactory.getLogger("testMarker"); + Marker blue = MarkerFactory.getMarker("BLUE"); + logger.debug(blue, "hello"); + logger.info(blue, "hello"); + logger.warn(blue, "hello"); + logger.error(blue, "hello"); + + logger.debug(blue, "hello {}", "world"); + logger.info(blue, "hello {}", "world"); + logger.warn(blue, "hello {}", "world"); + logger.error(blue, "hello {}", "world"); + + logger.debug(blue, "hello {} and {} ", "world", "universe"); + logger.info(blue, "hello {} and {} ", "world", "universe"); + logger.warn(blue, "hello {} and {} ", "world", "universe"); + logger.error(blue, "hello {} and {} ", "world", "universe"); + } + + public void testMDC() { + MDC.put("k", "v"); + assertNull(MDC.get("k")); + MDC.remove("k"); + assertNull(MDC.get("k")); + MDC.clear(); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14-1.7.5-sources.jar b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14-1.7.5-sources.jar new file mode 100644 index 0000000..e23778e Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14-1.7.5-sources.jar differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14-1.7.5.jar b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14-1.7.5.jar new file mode 100644 index 0000000..184c8c4 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14-1.7.5.jar differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14/pom.xml b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14/pom.xml new file mode 100644 index 0000000..7c9f113 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14/pom.xml @@ -0,0 +1,57 @@ + + + + org.slf4j + slf4j-parent + 1.7.5 + + + 4.0.0 + + org.slf4j + slf4j-jdk14 + + jar + SLF4J JDK14 Binding + SLF4J JDK14 Binding + http://www.slf4j.org + + + + + org.slf4j + slf4j-api + + + + org.slf4j + slf4j-api + test-jar + ${project.version} + test + + + + + + + org.apache.maven.plugins + maven-jar-plugin + + + + ${parsedVersion.osgiVersion} + ${project.description} + ${project.version} + + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14/src/main/java/org/slf4j/impl/JDK14LoggerAdapter.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14/src/main/java/org/slf4j/impl/JDK14LoggerAdapter.java new file mode 100644 index 0000000..7b5ee09 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14/src/main/java/org/slf4j/impl/JDK14LoggerAdapter.java @@ -0,0 +1,654 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.impl; + +import java.util.logging.Level; +import java.util.logging.LogRecord; + +import org.slf4j.Logger; +import org.slf4j.Marker; +import org.slf4j.helpers.FormattingTuple; +import org.slf4j.helpers.MarkerIgnoringBase; +import org.slf4j.helpers.MessageFormatter; +import org.slf4j.spi.LocationAwareLogger; + +/** + * A wrapper over {@link java.util.logging.Logger java.util.logging.Logger} in + * conformity with the {@link Logger} interface. Note that the logging levels + * mentioned in this class refer to those defined in the java.util.logging + * package. + * + * @author Ceki Gülcü + * @author Peter Royal + */ +public final class JDK14LoggerAdapter extends MarkerIgnoringBase implements + LocationAwareLogger { + + private static final long serialVersionUID = -8053026990503422791L; + + transient final java.util.logging.Logger logger; + + // WARN: JDK14LoggerAdapter constructor should have only package access so + // that only JDK14LoggerFactory be able to create one. + JDK14LoggerAdapter(java.util.logging.Logger logger) { + this.logger = logger; + this.name = logger.getName(); + } + + /** + * Is this logger instance enabled for the FINEST level? + * + * @return True if this Logger is enabled for level FINEST, false otherwise. + */ + public boolean isTraceEnabled() { + return logger.isLoggable(Level.FINEST); + } + + /** + * Log a message object at level FINEST. + * + * @param msg + * - the message object to be logged + */ + public void trace(String msg) { + if (logger.isLoggable(Level.FINEST)) { + log(SELF, Level.FINEST, msg, null); + } + } + + /** + * Log a message at level FINEST according to the specified format and + * argument. + * + *

+ * This form avoids superfluous object creation when the logger is disabled + * for level FINEST. + *

+ * + * @param format + * the format string + * @param arg + * the argument + */ + public void trace(String format, Object arg) { + if (logger.isLoggable(Level.FINEST)) { + FormattingTuple ft = MessageFormatter.format(format, arg); + log(SELF, Level.FINEST, ft.getMessage(), ft.getThrowable()); + } + } + + /** + * Log a message at level FINEST according to the specified format and + * arguments. + * + *

+ * This form avoids superfluous object creation when the logger is disabled + * for the FINEST level. + *

+ * + * @param format + * the format string + * @param arg1 + * the first argument + * @param arg2 + * the second argument + */ + public void trace(String format, Object arg1, Object arg2) { + if (logger.isLoggable(Level.FINEST)) { + FormattingTuple ft = MessageFormatter.format(format, arg1, arg2); + log(SELF, Level.FINEST, ft.getMessage(), ft.getThrowable()); + } + } + + /** + * Log a message at level FINEST according to the specified format and + * arguments. + * + *

+ * This form avoids superfluous object creation when the logger is disabled + * for the FINEST level. + *

+ * + * @param format + * the format string + * @param argArray + * an array of arguments + */ + public void trace(String format, Object... argArray) { + if (logger.isLoggable(Level.FINEST)) { + FormattingTuple ft = MessageFormatter.arrayFormat(format, argArray); + log(SELF, Level.FINEST, ft.getMessage(), ft.getThrowable()); + } + } + + /** + * Log an exception (throwable) at level FINEST with an accompanying message. + * + * @param msg + * the message accompanying the exception + * @param t + * the exception (throwable) to log + */ + public void trace(String msg, Throwable t) { + if (logger.isLoggable(Level.FINEST)) { + log(SELF, Level.FINEST, msg, t); + } + } + + /** + * Is this logger instance enabled for the FINE level? + * + * @return True if this Logger is enabled for level FINE, false otherwise. + */ + public boolean isDebugEnabled() { + return logger.isLoggable(Level.FINE); + } + + /** + * Log a message object at level FINE. + * + * @param msg + * - the message object to be logged + */ + public void debug(String msg) { + if (logger.isLoggable(Level.FINE)) { + log(SELF, Level.FINE, msg, null); + } + } + + /** + * Log a message at level FINE according to the specified format and argument. + * + *

+ * This form avoids superfluous object creation when the logger is disabled + * for level FINE. + *

+ * + * @param format + * the format string + * @param arg + * the argument + */ + public void debug(String format, Object arg) { + if (logger.isLoggable(Level.FINE)) { + FormattingTuple ft = MessageFormatter.format(format, arg); + log(SELF, Level.FINE, ft.getMessage(), ft.getThrowable()); + } + } + + /** + * Log a message at level FINE according to the specified format and + * arguments. + * + *

+ * This form avoids superfluous object creation when the logger is disabled + * for the FINE level. + *

+ * + * @param format + * the format string + * @param arg1 + * the first argument + * @param arg2 + * the second argument + */ + public void debug(String format, Object arg1, Object arg2) { + if (logger.isLoggable(Level.FINE)) { + FormattingTuple ft = MessageFormatter.format(format, arg1, arg2); + log(SELF, Level.FINE, ft.getMessage(), ft.getThrowable()); + } + } + + /** + * Log a message at level FINE according to the specified format and + * arguments. + * + *

+ * This form avoids superfluous object creation when the logger is disabled + * for the FINE level. + *

+ * + * @param format + * the format string + * @param argArray + * an array of arguments + */ + public void debug(String format, Object... argArray) { + if (logger.isLoggable(Level.FINE)) { + FormattingTuple ft = MessageFormatter.arrayFormat(format, argArray); + log(SELF, Level.FINE, ft.getMessage(), ft.getThrowable()); + } + } + + /** + * Log an exception (throwable) at level FINE with an accompanying message. + * + * @param msg + * the message accompanying the exception + * @param t + * the exception (throwable) to log + */ + public void debug(String msg, Throwable t) { + if (logger.isLoggable(Level.FINE)) { + log(SELF, Level.FINE, msg, t); + } + } + + /** + * Is this logger instance enabled for the INFO level? + * + * @return True if this Logger is enabled for the INFO level, false otherwise. + */ + public boolean isInfoEnabled() { + return logger.isLoggable(Level.INFO); + } + + /** + * Log a message object at the INFO level. + * + * @param msg + * - the message object to be logged + */ + public void info(String msg) { + if (logger.isLoggable(Level.INFO)) { + log(SELF, Level.INFO, msg, null); + } + } + + /** + * Log a message at level INFO according to the specified format and argument. + * + *

+ * This form avoids superfluous object creation when the logger is disabled + * for the INFO level. + *

+ * + * @param format + * the format string + * @param arg + * the argument + */ + public void info(String format, Object arg) { + if (logger.isLoggable(Level.INFO)) { + FormattingTuple ft = MessageFormatter.format(format, arg); + log(SELF, Level.INFO, ft.getMessage(), ft.getThrowable()); + } + } + + /** + * Log a message at the INFO level according to the specified format and + * arguments. + * + *

+ * This form avoids superfluous object creation when the logger is disabled + * for the INFO level. + *

+ * + * @param format + * the format string + * @param arg1 + * the first argument + * @param arg2 + * the second argument + */ + public void info(String format, Object arg1, Object arg2) { + if (logger.isLoggable(Level.INFO)) { + FormattingTuple ft = MessageFormatter.format(format, arg1, arg2); + log(SELF, Level.INFO, ft.getMessage(), ft.getThrowable()); + } + } + + /** + * Log a message at level INFO according to the specified format and + * arguments. + * + *

+ * This form avoids superfluous object creation when the logger is disabled + * for the INFO level. + *

+ * + * @param format + * the format string + * @param argArray + * an array of arguments + */ + public void info(String format, Object... argArray) { + if (logger.isLoggable(Level.INFO)) { + FormattingTuple ft = MessageFormatter.arrayFormat(format, argArray); + log(SELF, Level.INFO, ft.getMessage(), ft.getThrowable()); + } + } + + /** + * Log an exception (throwable) at the INFO level with an accompanying + * message. + * + * @param msg + * the message accompanying the exception + * @param t + * the exception (throwable) to log + */ + public void info(String msg, Throwable t) { + if (logger.isLoggable(Level.INFO)) { + log(SELF, Level.INFO, msg, t); + } + } + + /** + * Is this logger instance enabled for the WARNING level? + * + * @return True if this Logger is enabled for the WARNING level, false + * otherwise. + */ + public boolean isWarnEnabled() { + return logger.isLoggable(Level.WARNING); + } + + /** + * Log a message object at the WARNING level. + * + * @param msg + * - the message object to be logged + */ + public void warn(String msg) { + if (logger.isLoggable(Level.WARNING)) { + log(SELF, Level.WARNING, msg, null); + } + } + + /** + * Log a message at the WARNING level according to the specified format and + * argument. + * + *

+ * This form avoids superfluous object creation when the logger is disabled + * for the WARNING level. + *

+ * + * @param format + * the format string + * @param arg + * the argument + */ + public void warn(String format, Object arg) { + if (logger.isLoggable(Level.WARNING)) { + FormattingTuple ft = MessageFormatter.format(format, arg); + log(SELF, Level.WARNING, ft.getMessage(), ft.getThrowable()); + } + } + + /** + * Log a message at the WARNING level according to the specified format and + * arguments. + * + *

+ * This form avoids superfluous object creation when the logger is disabled + * for the WARNING level. + *

+ * + * @param format + * the format string + * @param arg1 + * the first argument + * @param arg2 + * the second argument + */ + public void warn(String format, Object arg1, Object arg2) { + if (logger.isLoggable(Level.WARNING)) { + FormattingTuple ft = MessageFormatter.format(format, arg1, arg2); + log(SELF, Level.WARNING, ft.getMessage(), ft.getThrowable()); + } + } + + /** + * Log a message at level WARNING according to the specified format and + * arguments. + * + *

+ * This form avoids superfluous object creation when the logger is disabled + * for the WARNING level. + *

+ * + * @param format + * the format string + * @param argArray + * an array of arguments + */ + public void warn(String format, Object... argArray) { + if (logger.isLoggable(Level.WARNING)) { + FormattingTuple ft = MessageFormatter.arrayFormat(format, argArray); + log(SELF, Level.WARNING, ft.getMessage(), ft.getThrowable()); + } + } + + /** + * Log an exception (throwable) at the WARNING level with an accompanying + * message. + * + * @param msg + * the message accompanying the exception + * @param t + * the exception (throwable) to log + */ + public void warn(String msg, Throwable t) { + if (logger.isLoggable(Level.WARNING)) { + log(SELF, Level.WARNING, msg, t); + } + } + + /** + * Is this logger instance enabled for level SEVERE? + * + * @return True if this Logger is enabled for level SEVERE, false otherwise. + */ + public boolean isErrorEnabled() { + return logger.isLoggable(Level.SEVERE); + } + + /** + * Log a message object at the SEVERE level. + * + * @param msg + * - the message object to be logged + */ + public void error(String msg) { + if (logger.isLoggable(Level.SEVERE)) { + log(SELF, Level.SEVERE, msg, null); + } + } + + /** + * Log a message at the SEVERE level according to the specified format and + * argument. + * + *

+ * This form avoids superfluous object creation when the logger is disabled + * for the SEVERE level. + *

+ * + * @param format + * the format string + * @param arg + * the argument + */ + public void error(String format, Object arg) { + if (logger.isLoggable(Level.SEVERE)) { + FormattingTuple ft = MessageFormatter.format(format, arg); + log(SELF, Level.SEVERE, ft.getMessage(), ft.getThrowable()); + } + } + + /** + * Log a message at the SEVERE level according to the specified format and + * arguments. + * + *

+ * This form avoids superfluous object creation when the logger is disabled + * for the SEVERE level. + *

+ * + * @param format + * the format string + * @param arg1 + * the first argument + * @param arg2 + * the second argument + */ + public void error(String format, Object arg1, Object arg2) { + if (logger.isLoggable(Level.SEVERE)) { + FormattingTuple ft = MessageFormatter.format(format, arg1, arg2); + log(SELF, Level.SEVERE, ft.getMessage(), ft.getThrowable()); + } + } + + /** + * Log a message at level SEVERE according to the specified format and + * arguments. + * + *

+ * This form avoids superfluous object creation when the logger is disabled + * for the SEVERE level. + *

+ * + * @param format + * the format string + * @param arguments + * an array of arguments + */ + public void error(String format, Object... arguments) { + if (logger.isLoggable(Level.SEVERE)) { + FormattingTuple ft = MessageFormatter.arrayFormat(format, arguments); + log(SELF, Level.SEVERE, ft.getMessage(), ft.getThrowable()); + } + } + + /** + * Log an exception (throwable) at the SEVERE level with an accompanying + * message. + * + * @param msg + * the message accompanying the exception + * @param t + * the exception (throwable) to log + */ + public void error(String msg, Throwable t) { + if (logger.isLoggable(Level.SEVERE)) { + log(SELF, Level.SEVERE, msg, t); + } + } + + /** + * Log the message at the specified level with the specified throwable if any. + * This method creates a LogRecord and fills in caller date before calling + * this instance's JDK14 logger. + * + * See bug report #13 for more details. + * + * @param level + * @param msg + * @param t + */ + private void log(String callerFQCN, Level level, String msg, Throwable t) { + // millis and thread are filled by the constructor + LogRecord record = new LogRecord(level, msg); + record.setLoggerName(getName()); + record.setThrown(t); + fillCallerData(callerFQCN, record); + logger.log(record); + + } + + static String SELF = JDK14LoggerAdapter.class.getName(); + static String SUPER = MarkerIgnoringBase.class.getName(); + + /** + * Fill in caller data if possible. + * + * @param record + * The record to update + */ + final private void fillCallerData(String callerFQCN, LogRecord record) { + StackTraceElement[] steArray = new Throwable().getStackTrace(); + + int selfIndex = -1; + for (int i = 0; i < steArray.length; i++) { + final String className = steArray[i].getClassName(); + if (className.equals(callerFQCN) || className.equals(SUPER)) { + selfIndex = i; + break; + } + } + + int found = -1; + for (int i = selfIndex + 1; i < steArray.length; i++) { + final String className = steArray[i].getClassName(); + if (!(className.equals(callerFQCN) || className.equals(SUPER))) { + found = i; + break; + } + } + + if (found != -1) { + StackTraceElement ste = steArray[found]; + // setting the class name has the side effect of setting + // the needToInferCaller variable to false. + record.setSourceClassName(ste.getClassName()); + record.setSourceMethodName(ste.getMethodName()); + } + } + + public void log(Marker marker, String callerFQCN, int level, String message, + Object[] argArray, Throwable t) { + Level julLevel; + switch (level) { + case LocationAwareLogger.TRACE_INT: + julLevel = Level.FINEST; + break; + case LocationAwareLogger.DEBUG_INT: + julLevel = Level.FINE; + break; + case LocationAwareLogger.INFO_INT: + julLevel = Level.INFO; + break; + case LocationAwareLogger.WARN_INT: + julLevel = Level.WARNING; + break; + case LocationAwareLogger.ERROR_INT: + julLevel = Level.SEVERE; + break; + default: + throw new IllegalStateException("Level number " + level + + " is not recognized."); + } + // the logger.isLoggable check avoids the unconditional + // construction of location data for disabled log + // statements. As of 2008-07-31, callers of this method + // do not perform this check. See also + // http://bugzilla.slf4j.org/show_bug.cgi?id=90 + if (logger.isLoggable(julLevel)) { + log(callerFQCN, julLevel, message, t); + } + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14/src/main/java/org/slf4j/impl/JDK14LoggerFactory.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14/src/main/java/org/slf4j/impl/JDK14LoggerFactory.java new file mode 100644 index 0000000..b7aaec9 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14/src/main/java/org/slf4j/impl/JDK14LoggerFactory.java @@ -0,0 +1,70 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.impl; + +import org.slf4j.Logger; +import org.slf4j.ILoggerFactory; + +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; + +/** + * JDK14LoggerFactory is an implementation of {@link ILoggerFactory} returning + * the appropriately named {@link JDK14LoggerAdapter} instance. + * + * @author Ceki Gülcü + */ +public class JDK14LoggerFactory implements ILoggerFactory { + + // key: name (String), value: a JDK14LoggerAdapter; + ConcurrentMap loggerMap; + + public JDK14LoggerFactory() { + loggerMap =new ConcurrentHashMap(); + } + + /* + * (non-Javadoc) + * + * @see org.slf4j.ILoggerFactory#getLogger(java.lang.String) + */ + public synchronized Logger getLogger(String name) { + // the root logger is called "" in JUL + if(name.equalsIgnoreCase(Logger.ROOT_LOGGER_NAME)) { + name = ""; + } + + Logger slf4jLogger = loggerMap.get(name); + if (slf4jLogger != null) + return slf4jLogger; + else { + java.util.logging.Logger julLogger = java.util.logging.Logger + .getLogger(name); + Logger newInstance = new JDK14LoggerAdapter(julLogger); + Logger oldInstance = loggerMap.putIfAbsent(name, newInstance); + return oldInstance == null ? newInstance : oldInstance; + } + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14/src/main/java/org/slf4j/impl/StaticLoggerBinder.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14/src/main/java/org/slf4j/impl/StaticLoggerBinder.java new file mode 100644 index 0000000..ecc7b26 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14/src/main/java/org/slf4j/impl/StaticLoggerBinder.java @@ -0,0 +1,82 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.impl; + +import org.slf4j.ILoggerFactory; +import org.slf4j.LoggerFactory; +import org.slf4j.spi.LoggerFactoryBinder; + +/** + * The binding of {@link LoggerFactory} class with an actual instance of + * {@link ILoggerFactory} is performed using information returned by this class. + * + * @author Ceki Gülcü + */ +public class StaticLoggerBinder implements LoggerFactoryBinder { + + /** + * The unique instance of this class. + * + */ + private static final StaticLoggerBinder SINGLETON = new StaticLoggerBinder(); + + /** + * Return the singleton of this class. + * + * @return the StaticLoggerBinder singleton + */ + public static final StaticLoggerBinder getSingleton() { + return SINGLETON; + } + + + /** + * Declare the version of the SLF4J API this implementation is compiled against. + * The value of this field is usually modified with each release. + */ + // to avoid constant folding by the compiler, this field must *not* be final + public static String REQUESTED_API_VERSION = "1.6.99"; // !final + + + private static final String loggerFactoryClassStr = org.slf4j.impl.JDK14LoggerFactory.class.getName(); + + /** The ILoggerFactory instance returned by the {@link #getLoggerFactory} method + * should always be the same object + */ + private final ILoggerFactory loggerFactory; + + private StaticLoggerBinder() { +// Note: JCL gets substituted at build time by an appropriate Ant task + loggerFactory = new org.slf4j.impl.JDK14LoggerFactory(); + } + + public ILoggerFactory getLoggerFactory() { + return loggerFactory; + } + + public String getLoggerFactoryClassStr() { + return loggerFactoryClassStr; + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14/src/main/java/org/slf4j/impl/StaticMDCBinder.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14/src/main/java/org/slf4j/impl/StaticMDCBinder.java new file mode 100644 index 0000000..de3b2a4 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14/src/main/java/org/slf4j/impl/StaticMDCBinder.java @@ -0,0 +1,60 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.impl; + +import org.slf4j.helpers.BasicMDCAdapter; +import org.slf4j.spi.MDCAdapter; + + +/** + * This implementation is bound to {@link BasicMDCAdapter}. + * + * @author Ceki Gülcü + */ +public class StaticMDCBinder { + + + /** + * The unique instance of this class. + */ + public static final StaticMDCBinder SINGLETON = new StaticMDCBinder(); + + private StaticMDCBinder() { + } + + /** + * Currently this method always returns an instance of + * {@link BasicMDCAdapter}. + */ + public MDCAdapter getMDCA() { + // note that this method is invoked only from within the static initializer of + // the org.slf4j.MDC class. + return new BasicMDCAdapter(); + } + + public String getMDCAdapterClassStr() { + return BasicMDCAdapter.class.getName(); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14/src/main/java/org/slf4j/impl/StaticMarkerBinder.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14/src/main/java/org/slf4j/impl/StaticMarkerBinder.java new file mode 100644 index 0000000..0281707 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14/src/main/java/org/slf4j/impl/StaticMarkerBinder.java @@ -0,0 +1,68 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.impl; + +import org.slf4j.IMarkerFactory; +import org.slf4j.MarkerFactory; +import org.slf4j.helpers.BasicMarkerFactory; +import org.slf4j.spi.MarkerFactoryBinder; + +/** + * + * The binding of {@link MarkerFactory} class with an actual instance of + * {@link IMarkerFactory} is performed using information returned by this class. + * + * @author Ceki Gülcü + */ +public class StaticMarkerBinder implements MarkerFactoryBinder { + + /** + * The unique instance of this class. + */ + public static final StaticMarkerBinder SINGLETON = new StaticMarkerBinder(); + + final IMarkerFactory markerFactory = new BasicMarkerFactory(); + + private StaticMarkerBinder() { + } + + /** + * Currently this method always returns an instance of + * {@link BasicMarkerFactory}. + */ + public IMarkerFactory getMarkerFactory() { + return markerFactory; + } + + /** + * Currently, this method returns the class name of + * {@link BasicMarkerFactory}. + */ + public String getMarkerFactoryClassStr() { + return BasicMarkerFactory.class.getName(); + } + + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14/src/main/resources/META-INF/MANIFEST.MF b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14/src/main/resources/META-INF/MANIFEST.MF new file mode 100644 index 0000000..1593db3 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14/src/main/resources/META-INF/MANIFEST.MF @@ -0,0 +1,9 @@ +Implementation-Title: slf4j-jdk14 +Bundle-ManifestVersion: 2 +Bundle-SymbolicName: slf4j.jdk14 +Bundle-Name: slf4j-jdk14 +Bundle-Vendor: SLF4J.ORG +Bundle-RequiredExecutionEnvironment: J2SE-1.3 +Export-Package: org.slf4j.impl;version=${parsedVersion.osgiVersion} +Import-Package: org.slf4j;version=${parsedVersion.osgiVersion}, org.slf4j.spi;version=${parsedVersion.osgiVersion}, org.slf4j.helpers;version=${parsedVersion.osgiVersion} +Fragment-Host: slf4j.api \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14/src/test/java/org/slf4j/InvocationTest.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14/src/test/java/org/slf4j/InvocationTest.java new file mode 100644 index 0000000..8c14dfa --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14/src/test/java/org/slf4j/InvocationTest.java @@ -0,0 +1,140 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j; + +import java.util.logging.Level; + +import junit.framework.TestCase; + + +/** + * Test whether invoking the SLF4J API causes problems or not. + * + * @author Ceki Gulcu + * + */ +public class InvocationTest extends TestCase { + + Level oldLevel; + java.util.logging.Logger root = java.util.logging.Logger.getLogger(""); + + public InvocationTest (String arg0) { + super(arg0); + } + + protected void setUp() throws Exception { + super.setUp(); + oldLevel = root.getLevel(); + root.setLevel(Level.OFF); + } + + protected void tearDown() throws Exception { + super.tearDown(); + root.setLevel(oldLevel); + } + + public void test1() { + Logger logger = LoggerFactory.getLogger("test1"); + logger.debug("Hello world."); + } + + public void test2() { + Integer i1 = new Integer(1); + Integer i2 = new Integer(2); + Integer i3 = new Integer(3); + Exception e = new Exception("This is a test exception."); + Logger logger = LoggerFactory.getLogger("test2"); + + logger.debug("Hello world 1."); + logger.debug("Hello world {}", i1); + logger.debug("val={} val={}", i1, i2); + logger.debug("val={} val={} val={}", new Object[]{i1, i2, i3}); + + logger.debug("Hello world 2", e); + logger.info("Hello world 2."); + + + logger.warn("Hello world 3."); + logger.warn("Hello world 3", e); + + + logger.error("Hello world 4."); + logger.error("Hello world {}", new Integer(3)); + logger.error("Hello world 4.", e); + } + + public void testNull() { + Logger logger = LoggerFactory.getLogger("testNull"); + logger.debug(null); + logger.info(null); + logger.warn(null); + logger.error(null); + + Exception e = new Exception("This is a test exception."); + logger.debug(null, e); + logger.info(null, e); + logger.warn(null, e); + logger.error(null, e); + } + + public void testMarker() { + Logger logger = LoggerFactory.getLogger("testMarker"); + Marker blue = MarkerFactory.getMarker("BLUE"); + logger.debug(blue, "hello"); + logger.info(blue, "hello"); + logger.warn(blue, "hello"); + logger.error(blue, "hello"); + + logger.debug(blue, "hello {}", "world"); + logger.info(blue, "hello {}", "world"); + logger.warn(blue, "hello {}", "world"); + logger.error(blue, "hello {}", "world"); + + logger.debug(blue, "hello {} and {} ", "world", "universe"); + logger.info(blue, "hello {} and {} ", "world", "universe"); + logger.warn(blue, "hello {} and {} ", "world", "universe"); + logger.error(blue, "hello {} and {} ", "world", "universe"); + } + + public void testMDC() { + MDC.put("k", "v"); + assertNotNull(MDC.get("k")); + assertEquals("v", MDC.get("k")); + + MDC.remove("k"); + assertNull(MDC.get("k")); + + MDC.put("k1", "v1"); + assertEquals("v1", MDC.get("k1")); + MDC.clear(); + assertNull(MDC.get("k1")); + + try { + MDC.put(null, "x"); + fail("null keys are invalid"); + } catch (IllegalArgumentException e) { + } + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14/src/test/java/org/slf4j/impl/JDK14AdapterLoggerNameTest.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14/src/test/java/org/slf4j/impl/JDK14AdapterLoggerNameTest.java new file mode 100644 index 0000000..840e160 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14/src/test/java/org/slf4j/impl/JDK14AdapterLoggerNameTest.java @@ -0,0 +1,89 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.impl; + +import java.util.logging.Handler; +import java.util.logging.LogRecord; +import java.util.logging.Logger; + +import junit.framework.TestCase; + +public class JDK14AdapterLoggerNameTest extends TestCase { + private MockHandler mockHandler; + + protected void setUp() throws Exception { + super.setUp(); + Logger logger = Logger.getLogger("TEST"); + mockHandler = new MockHandler(); + removeHandlers(logger); + logger.addHandler(mockHandler); + } + + protected void tearDown() throws Exception { + removeHandlers(Logger.getLogger("TEST")); + super.tearDown(); + } + + public void testLoggerNameusingJdkLogging() throws Exception { + Logger.getLogger("TEST").info("test message"); + assertCorrectLoggerName(); + + } + + public void testLoggerNameUsingSlf4j() throws Exception { + JDK14LoggerFactory factory = new JDK14LoggerFactory(); + org.slf4j.Logger logger = factory.getLogger("TEST"); + logger.info("test message"); + assertCorrectLoggerName(); + } + + private void removeHandlers(Logger logger) { + logger.setUseParentHandlers(false); + Handler[] handlers = logger.getHandlers(); + for (int i = 0; i < handlers.length; i++) { + logger.removeHandler(handlers[i]); + } + } + + private void assertCorrectLoggerName() { + assertNotNull("no log record", mockHandler.record); + assertNotNull("missing logger name", mockHandler.record.getLoggerName()); + } + + private class MockHandler extends java.util.logging.Handler { + public LogRecord record; + + public void close() throws SecurityException { + } + + public void flush() { + } + + public void publish(LogRecord record) { + this.record = record; + } + + } +} \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14/src/test/java/org/slf4j/impl/PerfTest.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14/src/test/java/org/slf4j/impl/PerfTest.java new file mode 100644 index 0000000..ba4ffdd --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14/src/test/java/org/slf4j/impl/PerfTest.java @@ -0,0 +1,76 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.impl; + +import junit.framework.TestCase; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.slf4j.helpers.BogoPerf; + +public class PerfTest extends TestCase { + + static long REFERENCE_BIPS = 9000; + + public PerfTest(String name) { + super(name); + } + + protected void setUp() throws Exception { + super.setUp(); + } + + protected void tearDown() throws Exception { + super.tearDown(); + } + + public void testBug72() { + + int LEN = 1000*1000*10; + debugLoop(LEN); // warm up + double avg = debugLoop(LEN); + long referencePerf = 93; + BogoPerf.assertDuration(avg, referencePerf, REFERENCE_BIPS); + + // when the code is guarded by a logger.isLoggable condition, + // duration is about 16 *micro*seconds for 1000 iterations + // when it is not guarded the figure is 90 milliseconds, + // i.e a ration of 1 to 5000 + } + + double debugLoop(int len) { + Logger logger = LoggerFactory.getLogger(PerfTest.class); + long start = System.currentTimeMillis(); + for (int i = 0; i < len; i++) { + logger.debug("hello"); + } + + long end = System.currentTimeMillis(); + + long duration = end - start; + return duration; + } + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14/src/test/java/org/slf4j/issue/LoggerSerializationTest.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14/src/test/java/org/slf4j/issue/LoggerSerializationTest.java new file mode 100644 index 0000000..c3dcc77 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-jdk14/src/test/java/org/slf4j/issue/LoggerSerializationTest.java @@ -0,0 +1,85 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.issue; + + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.io.Serializable; + +import junit.framework.Assert; + +import junit.framework.TestCase; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * See http://bugzilla.slf4j.org/show_bug.cgi?id=261 + * @author Thorbjorn Ravn Andersen + */ +public class LoggerSerializationTest extends TestCase { + + static class LoggerHolder implements Serializable { + private static final long serialVersionUID = 1L; + + private Logger log = LoggerFactory.getLogger(LoggerHolder.class); + + public String toString() { + return "log=" + getLog(); + } + + public Logger getLog() { + return log; + } + } + + public void testCanLoggerBeSerialized() throws IOException, + ClassNotFoundException { + + LoggerHolder lh1 = new LoggerHolder(); + + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + ObjectOutputStream out = new ObjectOutputStream(baos); + out.writeObject(lh1); + out.close(); + + lh1 = null; + + byte[] serializedLoggerHolder = baos.toByteArray(); + + InputStream is = new ByteArrayInputStream(serializedLoggerHolder); + ObjectInputStream in = new ObjectInputStream(is); + LoggerHolder lh2 = (LoggerHolder) in.readObject(); + + Assert.assertNotNull(lh2); + Assert.assertNotNull(lh2.getLog()); + lh2.getLog().info("You must see this message as a log message"); + } + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12-1.7.5-sources.jar b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12-1.7.5-sources.jar new file mode 100644 index 0000000..ea1b93b Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12-1.7.5-sources.jar differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12-1.7.5.jar b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12-1.7.5.jar new file mode 100644 index 0000000..afce5c2 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12-1.7.5.jar differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/pom.xml b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/pom.xml new file mode 100644 index 0000000..68d6fcd --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/pom.xml @@ -0,0 +1,53 @@ + + + + org.slf4j + slf4j-parent + 1.7.5 + + + 4.0.0 + + org.slf4j + slf4j-log4j12 + jar + SLF4J LOG4J-12 Binding + SLF4J LOG4J-12 Binding + http://www.slf4j.org + + + + + org.slf4j + slf4j-api + + + + log4j + log4j + + + + + + + org.apache.maven.plugins + maven-jar-plugin + + + + ${parsedVersion.osgiVersion} + ${project.description} + ${project.version} + + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/src/main/java/org/slf4j/impl/Log4jLoggerAdapter.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/src/main/java/org/slf4j/impl/Log4jLoggerAdapter.java new file mode 100644 index 0000000..6a5c97a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/src/main/java/org/slf4j/impl/Log4jLoggerAdapter.java @@ -0,0 +1,604 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.impl; + +import java.io.Serializable; + +import org.apache.log4j.Level; +import org.slf4j.Logger; +import org.slf4j.Marker; +import org.slf4j.helpers.FormattingTuple; +import org.slf4j.helpers.MarkerIgnoringBase; +import org.slf4j.helpers.MessageFormatter; +import org.slf4j.spi.LocationAwareLogger; + +/** + * A wrapper over {@link org.apache.log4j.Logger org.apache.log4j.Logger} in + * conforming to the {@link Logger} interface. + * + *

+ * Note that the logging levels mentioned in this class refer to those defined + * in the + * org.apache.log4j.Level class. + * + *

+ * The TRACE level was introduced in log4j version 1.2.12. In order to avoid + * crashing the host application, in the case the log4j version in use predates + * 1.2.12, the TRACE level will be mapped as DEBUG. See also bug 68. + * + * @author Ceki Gülcü + */ +public final class Log4jLoggerAdapter extends MarkerIgnoringBase implements + LocationAwareLogger, Serializable { + + private static final long serialVersionUID = 6182834493563598289L; + + final transient org.apache.log4j.Logger logger; + + /** + * Following the pattern discussed in pages 162 through 168 of "The complete + * log4j manual". + */ + final static String FQCN = Log4jLoggerAdapter.class.getName(); + + // Does the log4j version in use recognize the TRACE level? + // The trace level was introduced in log4j 1.2.12. + final boolean traceCapable; + + // WARN: Log4jLoggerAdapter constructor should have only package access so + // that + // only Log4jLoggerFactory be able to create one. + Log4jLoggerAdapter(org.apache.log4j.Logger logger) { + this.logger = logger; + this.name = logger.getName(); + traceCapable = isTraceCapable(); + } + + private boolean isTraceCapable() { + try { + logger.isTraceEnabled(); + return true; + } catch (NoSuchMethodError e) { + return false; + } + } + + /** + * Is this logger instance enabled for the TRACE level? + * + * @return True if this Logger is enabled for level TRACE, false otherwise. + */ + public boolean isTraceEnabled() { + if (traceCapable) { + return logger.isTraceEnabled(); + } else { + return logger.isDebugEnabled(); + } + } + + /** + * Log a message object at level TRACE. + * + * @param msg + * - the message object to be logged + */ + public void trace(String msg) { + logger.log(FQCN, traceCapable ? Level.TRACE : Level.DEBUG, msg, null); + } + + /** + * Log a message at level TRACE according to the specified format and + * argument. + * + *

+ * This form avoids superfluous object creation when the logger is disabled + * for level TRACE. + *

+ * + * @param format + * the format string + * @param arg + * the argument + */ + public void trace(String format, Object arg) { + if (isTraceEnabled()) { + FormattingTuple ft = MessageFormatter.format(format, arg); + logger.log(FQCN, traceCapable ? Level.TRACE : Level.DEBUG, ft + .getMessage(), ft.getThrowable()); + } + } + + /** + * Log a message at level TRACE according to the specified format and + * arguments. + * + *

+ * This form avoids superfluous object creation when the logger is disabled + * for the TRACE level. + *

+ * + * @param format + * the format string + * @param arg1 + * the first argument + * @param arg2 + * the second argument + */ + public void trace(String format, Object arg1, Object arg2) { + if (isTraceEnabled()) { + FormattingTuple ft = MessageFormatter.format(format, arg1, arg2); + logger.log(FQCN, traceCapable ? Level.TRACE : Level.DEBUG, ft + .getMessage(), ft.getThrowable()); + } + } + + /** + * Log a message at level TRACE according to the specified format and + * arguments. + * + *

+ * This form avoids superfluous object creation when the logger is disabled + * for the TRACE level. + *

+ * + * @param format + * the format string + * @param arguments + * an array of arguments + */ + public void trace(String format, Object... arguments) { + if (isTraceEnabled()) { + FormattingTuple ft = MessageFormatter.arrayFormat(format, arguments); + logger.log(FQCN, traceCapable ? Level.TRACE : Level.DEBUG, ft + .getMessage(), ft.getThrowable()); + } + } + + /** + * Log an exception (throwable) at level TRACE with an accompanying message. + * + * @param msg + * the message accompanying the exception + * @param t + * the exception (throwable) to log + */ + public void trace(String msg, Throwable t) { + logger.log(FQCN, traceCapable ? Level.TRACE : Level.DEBUG, msg, t); + } + + /** + * Is this logger instance enabled for the DEBUG level? + * + * @return True if this Logger is enabled for level DEBUG, false otherwise. + */ + public boolean isDebugEnabled() { + return logger.isDebugEnabled(); + } + + /** + * Log a message object at level DEBUG. + * + * @param msg + * - the message object to be logged + */ + public void debug(String msg) { + logger.log(FQCN, Level.DEBUG, msg, null); + } + + /** + * Log a message at level DEBUG according to the specified format and + * argument. + * + *

+ * This form avoids superfluous object creation when the logger is disabled + * for level DEBUG. + *

+ * + * @param format + * the format string + * @param arg + * the argument + */ + public void debug(String format, Object arg) { + if (logger.isDebugEnabled()) { + FormattingTuple ft = MessageFormatter.format(format, arg); + logger.log(FQCN, Level.DEBUG, ft.getMessage(), ft.getThrowable()); + } + } + + /** + * Log a message at level DEBUG according to the specified format and + * arguments. + * + *

+ * This form avoids superfluous object creation when the logger is disabled + * for the DEBUG level. + *

+ * + * @param format + * the format string + * @param arg1 + * the first argument + * @param arg2 + * the second argument + */ + public void debug(String format, Object arg1, Object arg2) { + if (logger.isDebugEnabled()) { + FormattingTuple ft = MessageFormatter.format(format, arg1, arg2); + logger.log(FQCN, Level.DEBUG, ft.getMessage(), ft.getThrowable()); + } + } + + /** + * Log a message at level DEBUG according to the specified format and + * arguments. + * + *

+ * This form avoids superfluous object creation when the logger is disabled + * for the DEBUG level. + *

+ * + * @param format + * the format string + * @param arguments an array of arguments + */ + public void debug(String format, Object... arguments) { + if (logger.isDebugEnabled()) { + FormattingTuple ft = MessageFormatter.arrayFormat(format, arguments); + logger.log(FQCN, Level.DEBUG, ft.getMessage(), ft.getThrowable()); + } + } + + /** + * Log an exception (throwable) at level DEBUG with an accompanying message. + * + * @param msg + * the message accompanying the exception + * @param t + * the exception (throwable) to log + */ + public void debug(String msg, Throwable t) { + logger.log(FQCN, Level.DEBUG, msg, t); + } + + /** + * Is this logger instance enabled for the INFO level? + * + * @return True if this Logger is enabled for the INFO level, false otherwise. + */ + public boolean isInfoEnabled() { + return logger.isInfoEnabled(); + } + + /** + * Log a message object at the INFO level. + * + * @param msg + * - the message object to be logged + */ + public void info(String msg) { + logger.log(FQCN, Level.INFO, msg, null); + } + + /** + * Log a message at level INFO according to the specified format and argument. + * + *

+ * This form avoids superfluous object creation when the logger is disabled + * for the INFO level. + *

+ * + * @param format + * the format string + * @param arg + * the argument + */ + public void info(String format, Object arg) { + if (logger.isInfoEnabled()) { + FormattingTuple ft = MessageFormatter.format(format, arg); + logger.log(FQCN, Level.INFO, ft.getMessage(), ft.getThrowable()); + } + } + + /** + * Log a message at the INFO level according to the specified format and + * arguments. + * + *

+ * This form avoids superfluous object creation when the logger is disabled + * for the INFO level. + *

+ * + * @param format + * the format string + * @param arg1 + * the first argument + * @param arg2 + * the second argument + */ + public void info(String format, Object arg1, Object arg2) { + if (logger.isInfoEnabled()) { + FormattingTuple ft = MessageFormatter.format(format, arg1, arg2); + logger.log(FQCN, Level.INFO, ft.getMessage(), ft.getThrowable()); + } + } + + /** + * Log a message at level INFO according to the specified format and + * arguments. + * + *

+ * This form avoids superfluous object creation when the logger is disabled + * for the INFO level. + *

+ * + * @param format + * the format string + * @param argArray + * an array of arguments + */ + public void info(String format, Object... argArray) { + if (logger.isInfoEnabled()) { + FormattingTuple ft = MessageFormatter.arrayFormat(format, argArray); + logger.log(FQCN, Level.INFO, ft.getMessage(), ft.getThrowable()); + } + } + + /** + * Log an exception (throwable) at the INFO level with an accompanying + * message. + * + * @param msg + * the message accompanying the exception + * @param t + * the exception (throwable) to log + */ + public void info(String msg, Throwable t) { + logger.log(FQCN, Level.INFO, msg, t); + } + + /** + * Is this logger instance enabled for the WARN level? + * + * @return True if this Logger is enabled for the WARN level, false otherwise. + */ + public boolean isWarnEnabled() { + return logger.isEnabledFor(Level.WARN); + } + + /** + * Log a message object at the WARN level. + * + * @param msg + * - the message object to be logged + */ + public void warn(String msg) { + logger.log(FQCN, Level.WARN, msg, null); + } + + /** + * Log a message at the WARN level according to the specified format and + * argument. + * + *

+ * This form avoids superfluous object creation when the logger is disabled + * for the WARN level. + *

+ * + * @param format + * the format string + * @param arg + * the argument + */ + public void warn(String format, Object arg) { + if (logger.isEnabledFor(Level.WARN)) { + FormattingTuple ft = MessageFormatter.format(format, arg); + logger.log(FQCN, Level.WARN, ft.getMessage(), ft.getThrowable()); + } + } + + /** + * Log a message at the WARN level according to the specified format and + * arguments. + * + *

+ * This form avoids superfluous object creation when the logger is disabled + * for the WARN level. + *

+ * + * @param format + * the format string + * @param arg1 + * the first argument + * @param arg2 + * the second argument + */ + public void warn(String format, Object arg1, Object arg2) { + if (logger.isEnabledFor(Level.WARN)) { + FormattingTuple ft = MessageFormatter.format(format, arg1, arg2); + logger.log(FQCN, Level.WARN, ft.getMessage(), ft.getThrowable()); + } + } + + /** + * Log a message at level WARN according to the specified format and + * arguments. + * + *

+ * This form avoids superfluous object creation when the logger is disabled + * for the WARN level. + *

+ * + * @param format + * the format string + * @param argArray + * an array of arguments + */ + public void warn(String format, Object... argArray) { + if (logger.isEnabledFor(Level.WARN)) { + FormattingTuple ft = MessageFormatter.arrayFormat(format, argArray); + logger.log(FQCN, Level.WARN, ft.getMessage(), ft.getThrowable()); + } + } + + /** + * Log an exception (throwable) at the WARN level with an accompanying + * message. + * + * @param msg + * the message accompanying the exception + * @param t + * the exception (throwable) to log + */ + public void warn(String msg, Throwable t) { + logger.log(FQCN, Level.WARN, msg, t); + } + + /** + * Is this logger instance enabled for level ERROR? + * + * @return True if this Logger is enabled for level ERROR, false otherwise. + */ + public boolean isErrorEnabled() { + return logger.isEnabledFor(Level.ERROR); + } + + /** + * Log a message object at the ERROR level. + * + * @param msg + * - the message object to be logged + */ + public void error(String msg) { + logger.log(FQCN, Level.ERROR, msg, null); + } + + /** + * Log a message at the ERROR level according to the specified format and + * argument. + * + *

+ * This form avoids superfluous object creation when the logger is disabled + * for the ERROR level. + *

+ * + * @param format + * the format string + * @param arg + * the argument + */ + public void error(String format, Object arg) { + if (logger.isEnabledFor(Level.ERROR)) { + FormattingTuple ft = MessageFormatter.format(format, arg); + logger.log(FQCN, Level.ERROR, ft.getMessage(), ft.getThrowable()); + } + } + + /** + * Log a message at the ERROR level according to the specified format and + * arguments. + * + *

+ * This form avoids superfluous object creation when the logger is disabled + * for the ERROR level. + *

+ * + * @param format + * the format string + * @param arg1 + * the first argument + * @param arg2 + * the second argument + */ + public void error(String format, Object arg1, Object arg2) { + if (logger.isEnabledFor(Level.ERROR)) { + FormattingTuple ft = MessageFormatter.format(format, arg1, arg2); + logger.log(FQCN, Level.ERROR, ft.getMessage(), ft.getThrowable()); + } + } + + /** + * Log a message at level ERROR according to the specified format and + * arguments. + * + *

+ * This form avoids superfluous object creation when the logger is disabled + * for the ERROR level. + *

+ * + * @param format + * the format string + * @param argArray + * an array of arguments + */ + public void error(String format, Object... argArray) { + if (logger.isEnabledFor(Level.ERROR)) { + FormattingTuple ft = MessageFormatter.arrayFormat(format, argArray); + logger.log(FQCN, Level.ERROR, ft.getMessage(), ft.getThrowable()); + } + } + + /** + * Log an exception (throwable) at the ERROR level with an accompanying + * message. + * + * @param msg + * the message accompanying the exception + * @param t + * the exception (throwable) to log + */ + public void error(String msg, Throwable t) { + logger.log(FQCN, Level.ERROR, msg, t); + } + + public void log(Marker marker, String callerFQCN, int level, String msg, + Object[] argArray, Throwable t) { + Level log4jLevel; + switch (level) { + case LocationAwareLogger.TRACE_INT: + log4jLevel = traceCapable ? Level.TRACE : Level.DEBUG; + break; + case LocationAwareLogger.DEBUG_INT: + log4jLevel = Level.DEBUG; + break; + case LocationAwareLogger.INFO_INT: + log4jLevel = Level.INFO; + break; + case LocationAwareLogger.WARN_INT: + log4jLevel = Level.WARN; + break; + case LocationAwareLogger.ERROR_INT: + log4jLevel = Level.ERROR; + break; + default: + throw new IllegalStateException("Level number " + level + + " is not recognized."); + } + logger.log(callerFQCN, log4jLevel, msg, t); + } + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/src/main/java/org/slf4j/impl/Log4jLoggerFactory.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/src/main/java/org/slf4j/impl/Log4jLoggerFactory.java new file mode 100644 index 0000000..d560ce3 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/src/main/java/org/slf4j/impl/Log4jLoggerFactory.java @@ -0,0 +1,73 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.impl; + +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; + +import org.apache.log4j.LogManager; +import org.slf4j.ILoggerFactory; +import org.slf4j.Logger; + +/** + * Log4jLoggerFactory is an implementation of {@link ILoggerFactory} returning + * the appropriate named {@link Log4jLoggerAdapter} instance. + * + * @author Ceki Gülcü + */ +public class Log4jLoggerFactory implements ILoggerFactory { + + // key: name (String), value: a Log4jLoggerAdapter; + ConcurrentMap loggerMap; + + + public Log4jLoggerFactory() { + loggerMap = new ConcurrentHashMap(); + } + + /* + * (non-Javadoc) + * + * @see org.slf4j.ILoggerFactory#getLogger(java.lang.String) + */ + public Logger getLogger(String name) { + Logger slf4jLogger = loggerMap.get(name); + if (slf4jLogger != null) { + return slf4jLogger; + } else { + org.apache.log4j.Logger log4jLogger; + if(name.equalsIgnoreCase(Logger.ROOT_LOGGER_NAME)) + log4jLogger = LogManager.getRootLogger(); + else + log4jLogger = LogManager.getLogger(name); + + Logger newInstance = new Log4jLoggerAdapter(log4jLogger); + Logger oldInstance = loggerMap.putIfAbsent(name, newInstance); + return oldInstance == null ? newInstance : oldInstance; + } + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/src/main/java/org/slf4j/impl/Log4jMDCAdapter.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/src/main/java/org/slf4j/impl/Log4jMDCAdapter.java new file mode 100644 index 0000000..eec4483 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/src/main/java/org/slf4j/impl/Log4jMDCAdapter.java @@ -0,0 +1,88 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.impl; + +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; + +import org.slf4j.spi.MDCAdapter; + +public class Log4jMDCAdapter implements MDCAdapter { + + public void clear() { + Map map = org.apache.log4j.MDC.getContext(); + if (map != null) { + map.clear(); + } + } + + public String get(String key) { + return (String) org.apache.log4j.MDC.get(key); + } + + /** + * Put a context value (the val parameter) as identified with + * the key parameter into the current thread's context map. The + * key parameter cannot be null. Log4j does not + * support null for the val parameter. + * + *

+ * This method delegates all work to log4j's MDC. + * + * @throws IllegalArgumentException + * in case the "key" or "val" parameter is null + */ + public void put(String key, String val) { + org.apache.log4j.MDC.put(key, val); + } + + public void remove(String key) { + org.apache.log4j.MDC.remove(key); + } + + public Map getCopyOfContextMap() { + Map old = org.apache.log4j.MDC.getContext(); + if(old != null) { + return new HashMap(old); + } else { + return null; + } + } + + public void setContextMap(Map contextMap) { + Map old = org.apache.log4j.MDC.getContext(); + if(old == null) { + Iterator entrySetIterator = contextMap.entrySet().iterator(); + while(entrySetIterator.hasNext()) { + Map.Entry mapEntry = (Map.Entry) entrySetIterator.next(); + org.apache.log4j.MDC.put((String) mapEntry.getKey(), mapEntry.getValue()); + } + } else { + old.clear(); + old.putAll(contextMap); + } + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/src/main/java/org/slf4j/impl/StaticLoggerBinder.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/src/main/java/org/slf4j/impl/StaticLoggerBinder.java new file mode 100644 index 0000000..43d3b24 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/src/main/java/org/slf4j/impl/StaticLoggerBinder.java @@ -0,0 +1,89 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.impl; + +import org.apache.log4j.Level; +import org.slf4j.ILoggerFactory; +import org.slf4j.LoggerFactory; +import org.slf4j.helpers.Util; +import org.slf4j.spi.LoggerFactoryBinder; + +/** + * The binding of {@link LoggerFactory} class with an actual instance of + * {@link ILoggerFactory} is performed using information returned by this class. + * + * @author Ceki Gülcü + */ +public class StaticLoggerBinder implements LoggerFactoryBinder { + + /** + * The unique instance of this class. + * + */ + private static final StaticLoggerBinder SINGLETON = new StaticLoggerBinder(); + + /** + * Return the singleton of this class. + * + * @return the StaticLoggerBinder singleton + */ + public static final StaticLoggerBinder getSingleton() { + return SINGLETON; + } + + /** + * Declare the version of the SLF4J API this implementation is compiled + * against. The value of this field is usually modified with each release. + */ + // to avoid constant folding by the compiler, this field must *not* be final + public static String REQUESTED_API_VERSION = "1.6.99"; // !final + + private static final String loggerFactoryClassStr = Log4jLoggerFactory.class + .getName(); + + /** + * The ILoggerFactory instance returned by the {@link #getLoggerFactory} + * method should always be the same object + */ + private final ILoggerFactory loggerFactory; + + private StaticLoggerBinder() { + loggerFactory = new Log4jLoggerFactory(); + try { + Level level = Level.TRACE; + } catch (NoSuchFieldError nsfe) { + Util + .report("This version of SLF4J requires log4j version 1.2.12 or later. See also http://www.slf4j.org/codes.html#log4j_version"); + } + } + + public ILoggerFactory getLoggerFactory() { + return loggerFactory; + } + + public String getLoggerFactoryClassStr() { + return loggerFactoryClassStr; + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/src/main/java/org/slf4j/impl/StaticMDCBinder.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/src/main/java/org/slf4j/impl/StaticMDCBinder.java new file mode 100644 index 0000000..74f28da --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/src/main/java/org/slf4j/impl/StaticMDCBinder.java @@ -0,0 +1,57 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.impl; + +import org.slf4j.spi.MDCAdapter; + + +/** + * This implementation is bound to {@link Log4jMDCAdapter}. + * + * @author Ceki Gülcü + */ +public class StaticMDCBinder { + + + /** + * The unique instance of this class. + */ + public static final StaticMDCBinder SINGLETON = new StaticMDCBinder(); + + private StaticMDCBinder() { + } + + /** + * Currently this method always returns an instance of + * {@link StaticMDCBinder}. + */ + public MDCAdapter getMDCA() { + return new Log4jMDCAdapter(); + } + + public String getMDCAdapterClassStr() { + return Log4jMDCAdapter.class.getName(); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/src/main/java/org/slf4j/impl/StaticMarkerBinder.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/src/main/java/org/slf4j/impl/StaticMarkerBinder.java new file mode 100644 index 0000000..0281707 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/src/main/java/org/slf4j/impl/StaticMarkerBinder.java @@ -0,0 +1,68 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.impl; + +import org.slf4j.IMarkerFactory; +import org.slf4j.MarkerFactory; +import org.slf4j.helpers.BasicMarkerFactory; +import org.slf4j.spi.MarkerFactoryBinder; + +/** + * + * The binding of {@link MarkerFactory} class with an actual instance of + * {@link IMarkerFactory} is performed using information returned by this class. + * + * @author Ceki Gülcü + */ +public class StaticMarkerBinder implements MarkerFactoryBinder { + + /** + * The unique instance of this class. + */ + public static final StaticMarkerBinder SINGLETON = new StaticMarkerBinder(); + + final IMarkerFactory markerFactory = new BasicMarkerFactory(); + + private StaticMarkerBinder() { + } + + /** + * Currently this method always returns an instance of + * {@link BasicMarkerFactory}. + */ + public IMarkerFactory getMarkerFactory() { + return markerFactory; + } + + /** + * Currently, this method returns the class name of + * {@link BasicMarkerFactory}. + */ + public String getMarkerFactoryClassStr() { + return BasicMarkerFactory.class.getName(); + } + + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/src/main/resources/META-INF/MANIFEST.MF b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/src/main/resources/META-INF/MANIFEST.MF new file mode 100644 index 0000000..a76da1c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/src/main/resources/META-INF/MANIFEST.MF @@ -0,0 +1,9 @@ +Implementation-Title: slf4j-log4j12 +Bundle-ManifestVersion: 2 +Bundle-SymbolicName: slf4j.log4j12 +Bundle-Name: slf4j-log4j12 +Bundle-Vendor: SLF4J.ORG +Bundle-RequiredExecutionEnvironment: J2SE-1.3 +Export-Package: org.slf4j.impl;version=${parsedVersion.osgiVersion} +Import-Package: org.slf4j;version=${parsedVersion.osgiVersion}, org.slf4j.spi;version=${parsedVersion.osgiVersion}, org.slf4j.helpers;version=${parsedVersion.osgiVersion}, org.apache.log4j +Fragment-Host: slf4j.api \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/src/test/java/org/slf4j/InvocationTest.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/src/test/java/org/slf4j/InvocationTest.java new file mode 100644 index 0000000..ddd4d2b --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/src/test/java/org/slf4j/InvocationTest.java @@ -0,0 +1,174 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j; + +import java.util.HashMap; +import java.util.Map; + +import org.apache.log4j.spi.LoggingEvent; + +import junit.framework.TestCase; + +/** + * Test whether invoking the SLF4J API causes problems or not. + * + * @author Ceki Gulcu + * + */ +public class InvocationTest extends TestCase { + + ListAppender listAppender = new ListAppender(); + org.apache.log4j.Logger root; + public InvocationTest(String arg0) { + super(arg0); + } + + protected void setUp() throws Exception { + super.setUp(); + root = org.apache.log4j.Logger.getRootLogger(); + root.addAppender(listAppender); + + } + + protected void tearDown() throws Exception { + super.tearDown(); + root.getLoggerRepository().resetConfiguration(); + } + + public void test1() { + Logger logger = LoggerFactory.getLogger("test1"); + logger.debug("Hello world."); + assertEquals(1, listAppender.list.size()); + } + + public void test2() { + Integer i1 = new Integer(1); + Integer i2 = new Integer(2); + Integer i3 = new Integer(3); + Exception e = new Exception("This is a test exception."); + Logger logger = LoggerFactory.getLogger("test2"); + + logger.trace("Hello trace."); + + logger.debug("Hello world 1."); + logger.debug("Hello world {}", i1); + logger.debug("val={} val={}", i1, i2); + logger.debug("val={} val={} val={}", new Object[] { i1, i2, i3 }); + + logger.debug("Hello world 2", e); + logger.info("Hello world 2."); + + logger.warn("Hello world 3."); + logger.warn("Hello world 3", e); + + logger.error("Hello world 4."); + logger.error("Hello world {}", new Integer(3)); + logger.error("Hello world 4.", e); + assertEquals(11, listAppender.list.size()); + } + + public void testNull() { + Logger logger = LoggerFactory.getLogger("testNull"); + logger.trace(null); + logger.debug(null); + logger.info(null); + logger.warn(null); + logger.error(null); + + Exception e = new Exception("This is a test exception."); + logger.debug(null, e); + logger.info(null, e); + logger.warn(null, e); + logger.error(null, e); + assertEquals(8, listAppender.list.size()); + } + + // http://bugzilla.slf4j.org/show_bug.cgi?id=78 + public void testNullParameter_BUG78() { + Logger logger = LoggerFactory.getLogger("testNullParameter_BUG78"); + String[] parameters = null; + String msg = "hello {}"; + + logger.debug(msg, parameters); + assertEquals(1, listAppender.list.size()); + LoggingEvent e = (LoggingEvent) listAppender.list.get(0); + assertEquals(msg, e.getMessage()); + } + + public void testMarker() { + Logger logger = LoggerFactory.getLogger("testMarker"); + Marker blue = MarkerFactory.getMarker("BLUE"); + logger.trace(blue, "hello"); + logger.debug(blue, "hello"); + logger.info(blue, "hello"); + logger.warn(blue, "hello"); + logger.error(blue, "hello"); + + logger.debug(blue, "hello {}", "world"); + logger.info(blue, "hello {}", "world"); + logger.warn(blue, "hello {}", "world"); + logger.error(blue, "hello {}", "world"); + + logger.debug(blue, "hello {} and {} ", "world", "universe"); + logger.info(blue, "hello {} and {} ", "world", "universe"); + logger.warn(blue, "hello {} and {} ", "world", "universe"); + logger.error(blue, "hello {} and {} ", "world", "universe"); + assertEquals(12, listAppender.list.size()); + } + + public void testMDC() { + MDC.put("k", "v"); + assertNotNull(MDC.get("k")); + assertEquals("v", MDC.get("k")); + + MDC.remove("k"); + assertNull(MDC.get("k")); + + MDC.put("k1", "v1"); + assertEquals("v1", MDC.get("k1")); + MDC.clear(); + assertNull(MDC.get("k1")); + + try { + MDC.put(null, "x"); + fail("null keys are invalid"); + } catch (IllegalArgumentException e) { + } + } + + public void testMDCContextMapValues() { + Map map = new HashMap(); + map.put("ka", "va"); + map.put("kb", "vb"); + + MDC.put("k", "v"); + assertEquals("v", MDC.get("k")); + MDC.setContextMap(map); + assertNull(MDC.get("k")); + assertEquals("va", MDC.get("ka")); + assertEquals("vb", MDC.get("kb")); + } + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/src/test/java/org/slf4j/ListAppender.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/src/test/java/org/slf4j/ListAppender.java new file mode 100644 index 0000000..bdd6ac5 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/src/test/java/org/slf4j/ListAppender.java @@ -0,0 +1,53 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j; + +import java.util.ArrayList; +import java.util.List; + +import org.apache.log4j.AppenderSkeleton; +import org.apache.log4j.spi.LoggingEvent; + +public class ListAppender extends AppenderSkeleton { + + public List list = new ArrayList(); + + public boolean extractLocationInfo = false; + + protected void append(LoggingEvent event) { + list.add(event); + if(extractLocationInfo) { + event.getLocationInformation(); + } + } + + public void close() { + } + + public boolean requiresLayout() { + return false; + } + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/src/test/java/org/slf4j/impl/RecursiveAppender.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/src/test/java/org/slf4j/impl/RecursiveAppender.java new file mode 100644 index 0000000..53efe0e --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/src/test/java/org/slf4j/impl/RecursiveAppender.java @@ -0,0 +1,54 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.impl; + +import java.util.Random; + +import org.apache.log4j.AppenderSkeleton; +import org.apache.log4j.spi.LoggingEvent; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class RecursiveAppender extends AppenderSkeleton { + + int diff = new Random().nextInt(); + + public RecursiveAppender() { + System.out.println("in RecursiveAppender constructor"); + Logger logger = LoggerFactory.getLogger("RecursiveAppender"+diff); + System.out.println("logger class="+logger.getClass().getName()); + logger.info("Calling a logger in the constructor"); + } + + protected void append(LoggingEvent arg0) { + } + + public void close() { + } + + public boolean requiresLayout() { + return false; + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/src/test/java/org/slf4j/impl/RecursiveInitializationTest.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/src/test/java/org/slf4j/impl/RecursiveInitializationTest.java new file mode 100644 index 0000000..3ac64de --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/src/test/java/org/slf4j/impl/RecursiveInitializationTest.java @@ -0,0 +1,57 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.impl; + +import java.util.Random; + +import junit.framework.TestCase; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class RecursiveInitializationTest extends TestCase { + + // value of LogManager.DEFAULT_CONFIGURATION_KEY; + static String CONFIG_FILE_KEY = "log4j.configuration"; + + int diff = new Random().nextInt(10000); + + protected void setUp() throws Exception { + System.setProperty(CONFIG_FILE_KEY, "recursiveInit.properties"); + super.setUp(); + } + + protected void tearDown() throws Exception { + System.clearProperty(CONFIG_FILE_KEY); + super.tearDown(); + } + + public void testLog4j() { + Logger logger = LoggerFactory.getLogger("x"+diff); + System.out.println("logger class="+logger.getClass().getName()); + logger.info("hello"); + } + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/src/test/resources/recursiveInit.properties b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/src/test/resources/recursiveInit.properties new file mode 100644 index 0000000..a8d5d76 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-log4j12/src/test/resources/recursiveInit.properties @@ -0,0 +1,8 @@ +log4j.debug=true +log4j.rootLogger=DEBUG, RECURSIVE + +log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender +log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout +log4j.appender.CONSOLE.layout.ConversionPattern=%d [%t] %c - %m%n + +log4j.appender.RECURSIVE=org.slf4j.impl.RecursiveAppender \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator-1.7.5.jar b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator-1.7.5.jar new file mode 100644 index 0000000..8b9a2ad Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator-1.7.5.jar differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/pom.xml b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/pom.xml new file mode 100644 index 0000000..17557b1 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/pom.xml @@ -0,0 +1,47 @@ + + + + + org.slf4j + slf4j-parent + 1.7.5 + + + 4.0.0 + + org.slf4j + slf4j-migrator + jar + SLF4J Migrator + SLF4J Migrator + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + 1.5 + 1.5 + + + + + org.apache.maven.plugins + maven-jar-plugin + + + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/Constant.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/Constant.java new file mode 100644 index 0000000..d236fbc --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/Constant.java @@ -0,0 +1,36 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.migrator; + +public class Constant { + + public final static int JCL_TO_SLF4J = 0; + public final static int LOG4J_TO_SLF4J = 1; + public final static int JUL_TO_SLF4J = 2; + public final static int NOP_TO_SLF4J = 3; + + public final static int NB_FILES_MAX = 1; + +} \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/ConversionException.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/ConversionException.java new file mode 100644 index 0000000..65bdeef --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/ConversionException.java @@ -0,0 +1,63 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.migrator; + +public class ConversionException extends Exception { + + /** + * + */ + private static final long serialVersionUID = 498961799888576668L; + + private String detail; + + public static final String NOT_IMPLEMENTED = "Conversion mode not implemented yet"; + public static final String INVALID_DIRECTORY = "Invalid source directory"; + public static final String FILE_COPY = "Error during file copy"; + + public ConversionException(String message) { + super(message); + } + + public ConversionException(String message, String detail) { + super(message); + this.detail = detail; + } + + public String getDetail() { + return detail; + } + + public void setDetail(String detail) { + this.detail = detail; + } + + public void print() { + if (getMessage() != null) { + System.out.println(getMessage()); + } + } + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/FileSelector.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/FileSelector.java new file mode 100644 index 0000000..b162731 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/FileSelector.java @@ -0,0 +1,69 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.migrator; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +import org.slf4j.migrator.internal.ProgressListener; + +public class FileSelector { + + private List javaFileList = new ArrayList(); + + ProgressListener pl; + + FileSelector(ProgressListener pl) { + this.pl = pl; + } + + public List selectJavaFilesInFolder(File folder) { + if (folder.isDirectory()) { + selectFiles(folder); + return javaFileList; + } else { + throw new IllegalArgumentException("[" + folder + "] is not a directory"); + } + } + + private void selectFiles(File file) { + if (file.isDirectory()) { + pl.onDirectory(file); + File[] files = file.listFiles(); + if (files != null) { + for (int i = 0; i < files.length; i++) { + selectFiles(files[i]); + } + } + } else { + if (file.getName().endsWith(".java")) { + pl.onFileAddition(file); + javaFileList.add(file); + } + + } + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/InplaceFileConverter.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/InplaceFileConverter.java new file mode 100644 index 0000000..a0301e3 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/InplaceFileConverter.java @@ -0,0 +1,111 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.migrator; + +import java.io.BufferedReader; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.io.Reader; + +import org.slf4j.migrator.internal.ProgressListener; +import org.slf4j.migrator.line.LineConverter; +import org.slf4j.migrator.line.RuleSet; + +public class InplaceFileConverter { + + final static int BUFFER_LEN = 8 * 1024; + final LineConverter lineConverter; + final String lineTerminator; + final ProgressListener pl; + + InplaceFileConverter(RuleSet ruleSet, ProgressListener pl) { + this.lineConverter = new LineConverter(ruleSet); + lineTerminator = System.getProperty("line.separator"); + this.pl = pl; + } + + private byte[] readIntoByteArray(File file) throws IOException { + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + int n = 0; + byte[] buffer = new byte[BUFFER_LEN]; + while ((n = fis.read(buffer)) != -1) { + // System.out.println("ba="+new String(buffer, "UTF-8")); + baos.write(buffer, 0, n); + } + fis.close(); + return baos.toByteArray(); + } + + void convert(File file) throws IOException { + byte[] originalBytes = readIntoByteArray(file); + byte[] convertedBytes = convertIntoTempByteArray(originalBytes); + if (lineConverter.atLeastOneMatchOccured()) { + //System.out.println("Converting ["+file+"]"); + writeConvertedBytesIntoFile(file, convertedBytes); + pl.onInplaceConversion(file); + } else { + //System.out.println("Not touching ["+file+"]"); + } + } + + private void writeConvertedBytesIntoFile(File file, byte[] convertedBytes) throws IOException { + FileOutputStream fos = new FileOutputStream(file); + fos.write(convertedBytes); + fos.flush(); + fos.close(); + } + + private byte[] convertIntoTempByteArray(byte[] input) throws IOException { + ByteArrayInputStream bais = new ByteArrayInputStream(input); + Reader reader = new InputStreamReader(bais); + BufferedReader breader = new BufferedReader(reader); + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + while (true) { + String line = breader.readLine(); + if (line != null) { + String[] replacement = lineConverter.getReplacement(line); + writeReplacement(baos, replacement); + } else { + break; + } + } + return baos.toByteArray(); + } + + private void writeReplacement(OutputStream os, String[] replacement) + throws IOException { + for (int i = 0; i < replacement.length; i++) { + os.write(replacement[i].getBytes()); + os.write(lineTerminator.getBytes()); + } + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/Main.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/Main.java new file mode 100644 index 0000000..ce70262 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/Main.java @@ -0,0 +1,50 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +package org.slf4j.migrator; + +import javax.swing.SwingUtilities; + +import org.slf4j.migrator.internal.MigratorFrame; + +/** + * Main entry point to the migrator. + * + * @author Ceki Gülcü + */ +public class Main { + + public static void main(String[] args) { + System.out.println("Starting SLF4J Migrator"); + SwingUtilities.invokeLater(new Runnable() { + public void run() { + MigratorFrame inst = new MigratorFrame(); + inst.setLocationRelativeTo(null); + inst.setVisible(true); + } + }); + } + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/ProjectConverter.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/ProjectConverter.java new file mode 100644 index 0000000..a0ddead --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/ProjectConverter.java @@ -0,0 +1,127 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.migrator; + +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import javax.swing.SwingUtilities; + +import org.slf4j.migrator.internal.MigratorFrame; +import org.slf4j.migrator.internal.ProgressListener; +import org.slf4j.migrator.line.RuleSet; + +public class ProjectConverter { + + private RuleSet ruleSet; + private List exception; + + ProgressListener progressListener; + + public static void main(String[] args) throws IOException { + SwingUtilities.invokeLater(new Runnable() { + public void run() { + MigratorFrame inst = new MigratorFrame(); + inst.setLocationRelativeTo(null); + inst.setVisible(true); + } + }); + } + + /** + * Ask for concrete matcher implementation depending on the conversion mode + * Ask for user confirmation to convert the selected source directory if valid + * Ask for user confirmation in case of number of files to convert > 1000 + * + * @param conversionType + * @param progressListener + */ + public ProjectConverter(int conversionType, ProgressListener progressListener) { + this.progressListener = progressListener; + ruleSet = RuleSetFactory.getMatcherImpl(conversionType); + if (ruleSet == null) { + addException(new ConversionException(ConversionException.NOT_IMPLEMENTED)); + } + } + + public void convertProject(File folder) { + FileSelector fs = new FileSelector(progressListener); + List fileList = fs.selectJavaFilesInFolder(folder); + scanFileList(fileList); + progressListener.onDone(); + } + + /** + * Convert a list of files + * + * @param lstFiles + */ + private void scanFileList(List lstFiles) { + progressListener.onFileScanBegin(); + Iterator itFile = lstFiles.iterator(); + while (itFile.hasNext()) { + File currentFile = itFile.next(); + progressListener.onFileScan(currentFile); + scanFile(currentFile); + } + } + + /** + * Convert the specified file Read each line and ask matcher implementation + * for conversion Rewrite the line returned by matcher + * + * @param file + */ + private void scanFile(File file) { + try { + InplaceFileConverter fc = new InplaceFileConverter(ruleSet, + progressListener); + fc.convert(file); + } catch (IOException exc) { + addException(new ConversionException(exc.toString())); + } + } + + public void addException(ConversionException exc) { + if (exception == null) { + exception = new ArrayList(); + } + exception.add(exc); + } + + public void printException() { + if (exception != null) { + Iterator iterator = exception.iterator(); + while (iterator.hasNext()) { + ConversionException exc = (ConversionException) iterator.next(); + exc.print(); + } + exception = null; + } + } +} \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/RuleSetFactory.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/RuleSetFactory.java new file mode 100644 index 0000000..da84ea1 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/RuleSetFactory.java @@ -0,0 +1,62 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.migrator; + +import org.slf4j.migrator.line.EmptyRuleSet; +import org.slf4j.migrator.line.JCLRuleSet; +import org.slf4j.migrator.line.JULRuleSet; +import org.slf4j.migrator.line.Log4jRuleSet; +import org.slf4j.migrator.line.RuleSet; + +/** + * This class runs Pattern matching with java.util.regex using Patterns defined + * in concrete implementations + * + * @author jean-noelcharpin + * + */ +public abstract class RuleSetFactory { + + /** + * Return matcher implementation depending on the conversion mode + * + * @param conversionType + * @return AbstractMatcher implementation + */ + public static RuleSet getMatcherImpl(int conversionType) { + switch (conversionType) { + case Constant.JCL_TO_SLF4J: + return new JCLRuleSet(); + case Constant.LOG4J_TO_SLF4J: + return new Log4jRuleSet(); + case Constant.JUL_TO_SLF4J: + return new JULRuleSet(); + case Constant.NOP_TO_SLF4J: + return new EmptyRuleSet(); + default: + return null; + } + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/helper/Abbreviator.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/helper/Abbreviator.java new file mode 100644 index 0000000..db1a997 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/helper/Abbreviator.java @@ -0,0 +1,90 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.migrator.helper; + +public class Abbreviator { + static final String FILLER = "..."; + + final char folderSeparator; + final int invariantPrefixLength; + final int desiredLength; + + public Abbreviator(int invariantPrefixLength, int desiredLength, + char folderSeparator) { + this.invariantPrefixLength = invariantPrefixLength; + this.desiredLength = desiredLength; + this.folderSeparator = folderSeparator; + } + + public String abbreviate(String filename) { + if (filename.length() <= desiredLength) { + return filename; + } else { + + int firstIndex = filename.indexOf(folderSeparator, invariantPrefixLength); + if (firstIndex == -1) { + // we cant't process this string + return filename; + } + StringBuffer buf = new StringBuffer(desiredLength); + buf.append(filename.substring(0, firstIndex + 1)); + buf.append(FILLER); + int nextIndex = computeNextIndex(filename, firstIndex); + if (nextIndex != -1) { + buf.append(filename.substring(nextIndex)); + } else { + // better long than wrong + return filename; + } + + if (buf.length() < filename.length()) { + return buf.toString(); + } else { + // we tried our best but we are still could not shorten the input + return filename; + } + } + } + + int computeNextIndex(String filename, int firstIndex) { + int nextIndex = firstIndex + 1; + int hitCount = 0; + int minToRemove = filename.length() - desiredLength + FILLER.length(); + while (nextIndex < firstIndex + minToRemove) { + int tmpIndex = filename.indexOf(folderSeparator, nextIndex + 1); + if (tmpIndex == -1) { + if (hitCount == 0) { + return -1; + } else { + return nextIndex; + } + } else { + hitCount++; + nextIndex = tmpIndex; + } + } + return nextIndex; + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/helper/SpringLayoutHelper.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/helper/SpringLayoutHelper.java new file mode 100644 index 0000000..1ba986c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/helper/SpringLayoutHelper.java @@ -0,0 +1,66 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.migrator.helper; + +import java.awt.Component; + +import javax.swing.SpringLayout; + +public class SpringLayoutHelper { + + + final SpringLayout sl; + final int basicPadding; + + public SpringLayoutHelper(SpringLayout springLayout, int basicPadding) { + sl = springLayout; + this.basicPadding = basicPadding; + } + + public void placeToTheRight(Component relativeTo, Component componentToPlace, int horizontalPadding, int verticalPadding) { + sl.putConstraint(SpringLayout.WEST, componentToPlace, horizontalPadding, + SpringLayout.EAST, relativeTo); + + sl.putConstraint(SpringLayout.NORTH, componentToPlace, verticalPadding, + SpringLayout.NORTH, relativeTo); + } + + public void placeToTheRight(Component relativeTo, Component componentToPlace) { + placeToTheRight(relativeTo, componentToPlace, basicPadding, 0); + } + + public void placeBelow(Component relativeTo, Component componentToPlace) { + placeBelow(relativeTo, componentToPlace, 0, basicPadding); + } + + public void placeBelow(Component relativeTo, Component componentToPlace, int horizontalPadding, int verticalPadding) { + sl.putConstraint(SpringLayout.WEST, componentToPlace, horizontalPadding, + SpringLayout.WEST, relativeTo); + + sl.putConstraint(SpringLayout.NORTH, componentToPlace, verticalPadding, + SpringLayout.SOUTH, relativeTo); + } + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/internal/ConversionTask.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/internal/ConversionTask.java new file mode 100644 index 0000000..70b2b48 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/internal/ConversionTask.java @@ -0,0 +1,57 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.migrator.internal; + +import java.io.File; + +import org.slf4j.migrator.ProjectConverter; + +public class ConversionTask implements Runnable { + + final File folder; + final MigratorFrame frame; + final int conversionType; + + + ConversionTask(File folder, MigratorFrame frame, int conversionType) { + this.folder = folder; + this.frame = frame; + this.conversionType = conversionType; + } + + public void run() { + ProgressListener pl = new ProgressListenerImpl(folder, frame); + pl.onMigrationBegin(); + ProjectConverter converter = new ProjectConverter(conversionType, pl); + converter.convertProject(folder); + } + + public void launch() { + Thread t = new Thread(this); + t.setDaemon(true); + t.start(); + } + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/internal/MigratorFrame.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/internal/MigratorFrame.java new file mode 100644 index 0000000..29cc800 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/internal/MigratorFrame.java @@ -0,0 +1,395 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.migrator.internal; + +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +import javax.swing.ButtonGroup; +import javax.swing.JButton; +import javax.swing.JCheckBox; +import javax.swing.JFileChooser; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JOptionPane; +import javax.swing.JProgressBar; +import javax.swing.JRadioButton; +import javax.swing.JTextField; +import javax.swing.SpringLayout; +import javax.swing.WindowConstants; + +import org.slf4j.migrator.Constant; +import org.slf4j.migrator.helper.SpringLayoutHelper; + +/** + * This code was edited or generated using CloudGarden's Jigloo SWT/Swing GUI + * Builder, which is free for non-commercial use. If Jigloo is being used + * commercially (ie, by a corporation, company or business for any purpose + * whatever) then you should purchase a license for each developer using Jigloo. + * Please visit www.cloudgarden.com for details. Use of Jigloo implies + * acceptance of these licensing terms. A COMMERCIAL LICENSE HAS NOT BEEN + * PURCHASED FOR THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED LEGALLY FOR + * ANY CORPORATE OR COMMERCIAL PURPOSE. + */ +public class MigratorFrame extends JFrame implements ActionListener { + private static final long serialVersionUID = 1L; + + private static final int BASIC_PADDING = 10; + private static final int FOLDER_COLUMNS = 40; + private static final String MIGRATE_COMMAND = "MIGRATE_COMMAND"; + private static final String BROWSE_COMMAND = "BROWSE_COMMAND"; + static final String EXIT_COMMAND = "EXIT_COMMAND"; + + static final int X_SIZE = 700; + static final int Y_SIZE = 400; + + private SpringLayout layoutManager = new SpringLayout(); + private SpringLayoutHelper slh = new SpringLayoutHelper(layoutManager, + BASIC_PADDING); + + private JLabel migrationLabel; + + private JRadioButton radioLog4j; + private JRadioButton radioJCL; + private JRadioButton radioJUL; + private ButtonGroup buttonGroup; + + private JTextField folderTextField; + private JLabel warningLabel; + JButton migrateButton; + private JButton browseButton; + private JLabel folderLabel; + + private JCheckBox awareCheckBox; + private JLabel awareLabel; + + JLabel otherLabel; + JProgressBar progressBar; + private JFileChooser fileChooser; + + public MigratorFrame() { + super(); + initGUI(); + } + + private void initGUI() { + try { + setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); + getContentPane().setLayout(layoutManager); + this.setTitle("SLF4J migrator"); + + createComponents(); + constrainAll(); + addAllComponentsToContextPane(); + pack(); + this.setSize(700, 400); + } catch (Exception e) { + e.printStackTrace(); + } + } + + private void createComponents() { + createMigrationLabel(); + createRadioJCL(); + createRadioLog4j(); + createRadioJUL(); + createButtonGroup(); + createFolderLabel(); + createFolderTextField(); + createBrowseButton(); + createMigrateButton(); + createAwareCheckbox(); + createAwareLabel(); + createWarningLabel(); + createFileChooser(); + + otherLabel = new JLabel(); + otherLabel.setText(""); + createProgressBar(); + + } + + /** + * + */ + private void constrainAll() { + + // contrain migration label + layoutManager.putConstraint(SpringLayout.WEST, migrationLabel, + BASIC_PADDING, SpringLayout.EAST, this); + + layoutManager.putConstraint(SpringLayout.NORTH, migrationLabel, + BASIC_PADDING, SpringLayout.NORTH, this); + + slh.placeToTheRight(migrationLabel, radioJCL, BASIC_PADDING, + -BASIC_PADDING / 2); + slh.placeBelow(radioJCL, radioLog4j, 0, 0); + + slh.placeBelow(radioLog4j, radioJUL, 0, 0); + + + slh.placeBelow(migrationLabel, folderLabel, 0, BASIC_PADDING * 6); + slh.placeToTheRight(folderLabel, folderTextField); + slh.placeToTheRight(folderTextField, browseButton, BASIC_PADDING, + -BASIC_PADDING / 2); + + slh.placeBelow(folderLabel, warningLabel, 0, BASIC_PADDING * 3); + + slh.placeBelow(warningLabel, awareCheckBox, 0, (int) (BASIC_PADDING * 1.5)); + slh.placeToTheRight(awareCheckBox, awareLabel); + + slh.placeBelow(awareCheckBox, migrateButton, 0, BASIC_PADDING * 3); + + slh.placeBelow(migrateButton, otherLabel, 0, BASIC_PADDING * 2); + + slh.placeBelow(otherLabel, progressBar, 0, BASIC_PADDING); + } + + private void addAllComponentsToContextPane() { + getContentPane().add(migrationLabel); + getContentPane().add(radioJCL); + getContentPane().add(radioLog4j); + getContentPane().add(radioJUL); + + getContentPane().add(folderLabel); + getContentPane().add(folderTextField); + getContentPane().add(browseButton); + getContentPane().add(migrateButton); + + getContentPane().add(awareCheckBox); + getContentPane().add(awareLabel); + + getContentPane().add(warningLabel); + + getContentPane().add(otherLabel); + getContentPane().add(progressBar); + } + + private void createButtonGroup() { + buttonGroup = new ButtonGroup(); + buttonGroup.add(radioJCL); + buttonGroup.add(radioLog4j); + buttonGroup.add(radioJUL); + } + + private void createMigrationLabel() { + migrationLabel = new JLabel(); + migrationLabel.setText("Migration Type"); + } + + private void createRadioJCL() { + radioJCL = new JRadioButton(); + radioJCL.setText("from Jakarta Commons Logging to SLF4J"); + radioJCL + .setToolTipText("Select this button if you wish to migrate a Java project using Jakarta Commons Logging to use SLF4J."); + } + + private void createRadioLog4j() { + radioLog4j = new JRadioButton(); + radioLog4j.setText("from log4j to SLF4J "); + radioLog4j + .setToolTipText("Select this button if you wish to migrate a Java project using log4j to use SLF4J."); + } + + private void createRadioJUL() { + radioJUL = new JRadioButton(); + radioJUL.setText("from JUL to SLF4J "); + radioJUL + .setToolTipText("Select this button if you wish to migrate a Java project using java.utl.logging (JUL) to use SLF4J."); + } + private void createFolderLabel() { + folderLabel = new JLabel(); + folderLabel.setText("Project Directory"); + } + + private void createFolderTextField() { + folderTextField = new JTextField(); + folderTextField.setColumns(FOLDER_COLUMNS); + } + + private void createBrowseButton() { + browseButton = new JButton(); + browseButton.setText("Browse"); + browseButton.addActionListener(this); + browseButton.setActionCommand(BROWSE_COMMAND); + browseButton + .setToolTipText("Click this button to browse the file systems on your computer."); + } + + private void createAwareCheckbox() { + awareCheckBox = new JCheckBox(); + awareCheckBox + .setToolTipText("

Check this box of you understand that the migration tool

will not backup your Java source files."); + } + + private void createAwareLabel() { + awareLabel = new JLabel(); + awareLabel + .setText("" + + "

I am aware that this tool will directly modify all Java source files

" + + "

in the selected folder without creating backup files.

" + + ""); + } + + private void createWarningLabel() { + warningLabel = new JLabel(); + warningLabel + .setText("" + + "

WARNING: This SLF4J migration tool will directly modify all Java source files

" + + "

in the selected project folder without creating a backup of the original files.

" + + ""); + } + + private void createMigrateButton() { + migrateButton = new JButton(); + migrateButton.setText("Migrate Project to SLF4J"); + migrateButton + .setToolTipText("Click this button to initiate migration of your project."); + migrateButton.addActionListener(this); + migrateButton.setActionCommand(MIGRATE_COMMAND); + } + + private void createFileChooser() { + fileChooser = new JFileChooser(); + fileChooser.setDialogTitle("Source folder selector"); + fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); + } + + private void createProgressBar() { + progressBar = new JProgressBar(0, 1); + progressBar + .setPreferredSize(new java.awt.Dimension((int) (X_SIZE * 0.8), 5)); + progressBar.setVisible(false); + } + + public void disableInput() { + radioJCL.setEnabled(false); + radioLog4j.setEnabled(false); + + browseButton.setEnabled(false); + + folderTextField.setEnabled(false); + awareCheckBox.setEnabled(false); + migrateButton.setText("Migration in progress"); + migrateButton.setEnabled(false); + + } + + public void actionPerformed(ActionEvent e) { + + if (MIGRATE_COMMAND.equals(e.getActionCommand())) { + + List errorList = doSanityAnalysis(); + if (errorList.size() > 0) { + showDialogBox(errorList); + } else { + + File projectFolder = new File(folderTextField.getText()); + int conversionType; + if(radioJCL.isSelected()) { + conversionType = Constant.JCL_TO_SLF4J; + } else if (radioLog4j.isSelected()) { + conversionType = Constant.LOG4J_TO_SLF4J; + } else if (radioJUL.isSelected()) { + conversionType = Constant.JUL_TO_SLF4J; + } else { + // we cannot possibly reach here + throw new IllegalStateException("One of JCL or log4j project must have been previously chosen."); + } + ConversionTask task = new ConversionTask(projectFolder, this, + conversionType); + task.launch(); + } + } else if (BROWSE_COMMAND.equals(e.getActionCommand())) { + showFileChooser(); + } else if (EXIT_COMMAND.equals(e.getActionCommand())) { + this.dispose(); + } + } + + void showFileChooser() { + int returnVal = fileChooser.showOpenDialog(this); + if (returnVal == JFileChooser.APPROVE_OPTION) { + File selectedFile = fileChooser.getSelectedFile(); + folderTextField.setText(selectedFile.getAbsolutePath()); + } + } + + List doSanityAnalysis() { + + List errorList = new ArrayList(); + if (!radioJCL.isSelected() && !radioLog4j.isSelected() && !radioJUL.isSelected()) { + errorList + .add("Please select the migration type: JCL, log4j, or JUL to SLF4J."); + } + + String folder = folderTextField.getText(); + + if (folder == null || folder.length() == 0) { + errorList.add("Please select the folder of the project to migrate"); + } else if (!isDirectory(folder)) { + errorList.add("[" + folder + "] does not look like a valid folder"); + } + + if (!awareCheckBox.isSelected()) { + errorList + .add("Cannot initiate migration unless you acknowledge

that files will be modified without creating backup files"); + } + return errorList; + } + + void showDialogBox(List errorList) { + StringBuffer buf = new StringBuffer(); + buf.append(""); + int i = 1; + for (String msg : errorList) { + buf.append("

"); + buf.append(i); + buf.append(". "); + buf.append(msg); + buf.append("

"); + i++; + } + buf.append(""); + + JOptionPane.showMessageDialog(this, buf.toString(), "", + JOptionPane.ERROR_MESSAGE); + } + + boolean isDirectory(String filename) { + if (filename == null) { + return false; + } + File file = new File(filename); + if (file.exists() && file.isDirectory()) { + return true; + } else { + return false; + } + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/internal/ProgressListener.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/internal/ProgressListener.java new file mode 100644 index 0000000..7df6d6d --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/internal/ProgressListener.java @@ -0,0 +1,40 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.migrator.internal; + +import java.io.File; + +public interface ProgressListener { + + public void onMigrationBegin(); + public void onDirectory(File file); + public void onFileAddition(File file); + public void onFileScanBegin(); + public void onFileScan(File file); + public void onInplaceConversion(File file); + public void onDone(); + +} + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/internal/ProgressListenerImpl.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/internal/ProgressListenerImpl.java new file mode 100644 index 0000000..3828698 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/internal/ProgressListenerImpl.java @@ -0,0 +1,126 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.migrator.internal; + +import java.io.File; +import java.io.IOException; + +import org.slf4j.migrator.helper.Abbreviator; + +public class ProgressListenerImpl implements ProgressListener { + + static final int TARGET_FILE_LENGTH = 85; + static final int UPDATE_THRESHOLD = 100; + + int addFileCount = 0; + int scanFileCount = 0; + int inplaceConversionCount = 0; + final MigratorFrame frame; + + Abbreviator abbr; + + long lastUpdate = 0; + + + + public ProgressListenerImpl(File projectFolder, MigratorFrame frame) { + this.frame = frame; + this.abbr = new Abbreviator((int) projectFolder.length(), + TARGET_FILE_LENGTH, File.separatorChar); + } + + public void onMigrationBegin() { + frame.disableInput(); + } + + boolean isTooSoon() { + long now = System.currentTimeMillis(); + if(now-lastUpdate < UPDATE_THRESHOLD) { + return true; + } else { + lastUpdate = now; + return false; + } + } + + public void onDirectory(File file) { + if(isTooSoon()) return; + + String abbreviatedName = getShortName(file); + frame.otherLabel.setText("

Searching folder [" + abbreviatedName + + "]

Found " + addFileCount + " java files to scan."); + } + + public void onDone() { + frame.progressBar.setVisible(false); + frame.otherLabel.setText("Scanned " + addFileCount + + " java files, " + inplaceConversionCount + + " files were modified."); + + frame.migrateButton.setActionCommand(MigratorFrame.EXIT_COMMAND); + frame.migrateButton.setText("Exit"); + frame.migrateButton + .setToolTipText("Click on this button to exit this application."); + frame.migrateButton.setEnabled(true); + + } + + public void onFileAddition(File file) { + addFileCount++; + } + + public void onFileScan(File file) { + + scanFileCount++; + if(isTooSoon()) return; + String abbreviatedName = getShortName(file); + + frame.otherLabel.setText("

Scanning file [" + abbreviatedName + + "]

"); + // File + scanFileCount + " out of "+ addFileCount+" files to scan."+ + // inplaceConversionCount+ " files converted." + + + frame.progressBar.setValue(scanFileCount); + } + + public void onInplaceConversion(File file) { + inplaceConversionCount++; + } + + String getShortName(File file) { + try { + return abbr.abbreviate(file.getCanonicalPath()); + } catch (IOException e) { + return file.toString(); + } + } + + public void onFileScanBegin() { + frame.progressBar.setMaximum(addFileCount); + frame.progressBar.setValue(0); + frame.progressBar.setVisible(true); + } + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/line/ConversionRule.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/line/ConversionRule.java new file mode 100644 index 0000000..548692f --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/line/ConversionRule.java @@ -0,0 +1,51 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.migrator.line; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +public interface ConversionRule { + + public Pattern getPattern(); + + /** + * Given replacement rules, replace each capturing group in matcher's pattern + * + * @param matcher + * @return String + */ + public String replace(Matcher matcher); + + /** + * Returns a non-null value if there should be an additional line + * following a match of this rule. In most cases this method + * returns null. + * + * @return String + */ + public String getAdditionalLine(); + +} \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/line/EmptyRuleSet.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/line/EmptyRuleSet.java new file mode 100644 index 0000000..b2e8692 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/line/EmptyRuleSet.java @@ -0,0 +1,39 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.migrator.line; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +public class EmptyRuleSet implements RuleSet { + + List list = new ArrayList(); + + public Iterator iterator() { + return list.iterator(); + } + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/line/JCLRuleSet.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/line/JCLRuleSet.java new file mode 100644 index 0000000..4234d9c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/line/JCLRuleSet.java @@ -0,0 +1,80 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.migrator.line; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.regex.Pattern; + + +/** + * This class represents JCL to SLF4J conversion rules + * + * @author Jean-Noel Charpin + * + */ +public class JCLRuleSet implements RuleSet { + + private ArrayList conversionRuleList; + + public JCLRuleSet() { + // matching : import org.apache.commons.logging.LogFactory; + SingleConversionRule cr0 = new SingleConversionRule(Pattern + .compile("import\\s*+org.apache.commons.logging.LogFactory;"), + "import org.slf4j.LoggerFactory;"); + + // matching : import org.apache.commons.logging.Log; + SingleConversionRule cr1 = new SingleConversionRule(Pattern + .compile("import\\s*+org.apache.commons.logging.Log;"), + "import org.slf4j.Logger;"); + + SingleConversionRule cr2 = new SingleConversionRule(Pattern + .compile("(\\sLog\\b)")," Logger"); + + SingleConversionRule cr3 = new SingleConversionRule(Pattern + .compile("(^Log\\b)"),"Logger"); + + SingleConversionRule cr4 = new SingleConversionRule(Pattern + .compile("LogFactory.getFactory\\(\\).getInstance\\("), + "LoggerFactory.getLogger("); + + SingleConversionRule cr5 = new SingleConversionRule(Pattern + .compile("LogFactory.getLog\\("),"LoggerFactory.getLogger("); + + + conversionRuleList = new ArrayList(); + conversionRuleList.add(cr0); + conversionRuleList.add(cr1); + conversionRuleList.add(cr2); + conversionRuleList.add(cr3); + conversionRuleList.add(cr4); + conversionRuleList.add(cr5); + } + + + public Iterator iterator() { + return conversionRuleList.iterator(); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/line/JULRuleSet.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/line/JULRuleSet.java new file mode 100644 index 0000000..1144e0c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/line/JULRuleSet.java @@ -0,0 +1,85 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.migrator.line; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.regex.Pattern; + +/** + * This class represents java.util.logging (JUL) to SLF4J conversion rules + * + * @author Jean-Noel Charpin + * @author Ceki Gulcu + */ +public class JULRuleSet implements RuleSet { + + private ArrayList conversionRuleList; + + public JULRuleSet() { + + + SingleConversionRule crImport0 = new SingleConversionRule(Pattern + .compile("import\\s*+java.util.logging.Logger;"), + "import org.slf4j.Logger;", + "import org.slf4j.LoggerFactory;"); + + SingleConversionRule crImport1 = new SingleConversionRule(Pattern + .compile("import\\s*+org.apache.log4j.LogManager;"), + "import org.slf4j.LoggerFactory;"); + + SingleConversionRule crImport2 = new SingleConversionRule(Pattern + .compile("import\\s*+java.util.logging.*;"), + "import org.slf4j.Logger;", + "import org.slf4j.LoggerFactory;"); + + + SingleConversionRule crFactory0 = new SingleConversionRule(Pattern + .compile("Logger.getLogger\\("), "LoggerFactory.getLogger("); + + SingleConversionRule crFactory1 = new SingleConversionRule(Pattern + .compile("LogManager.getLogger\\("), "LoggerFactory.getLogger("); + + SingleConversionRule crWarning = new SingleConversionRule(Pattern + .compile("\\.warning\\("), ".warn("); + SingleConversionRule crSevere = new SingleConversionRule(Pattern + .compile("\\.severe\\("), ".error("); + + + conversionRuleList = new ArrayList(); + conversionRuleList.add(crImport0); + conversionRuleList.add(crImport1); + conversionRuleList.add(crImport2); + conversionRuleList.add(crFactory0); + conversionRuleList.add(crFactory1); + conversionRuleList.add(crWarning); + conversionRuleList.add(crSevere); + } + + public Iterator iterator() { + return conversionRuleList.iterator(); + } + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/line/LineConverter.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/line/LineConverter.java new file mode 100644 index 0000000..48d1580 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/line/LineConverter.java @@ -0,0 +1,91 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.migrator.line; + +import java.util.Arrays; +import java.util.Iterator; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + + +public class LineConverter { + + final RuleSet ruleSet; + boolean atLeastOneMatchOccured = false; + + public LineConverter(RuleSet ruleSet) { + this.ruleSet = ruleSet; + } + + /** + * Check if the specified text is matching some conversions rules. + * If a rule matches, ask for line replacement. + * + *

In case no rule can be applied, then the input text is + * returned without change. + * + * @param text + * @return String + */ + public String[] getReplacement(String text) { + ConversionRule conversionRule; + Pattern pattern; + Matcher matcher; + Iterator conversionRuleIterator = ruleSet.iterator(); + String additionalLine = null; + while (conversionRuleIterator.hasNext()) { + conversionRule = conversionRuleIterator.next(); + pattern = conversionRule.getPattern(); + matcher = pattern.matcher(text); + if (matcher.find()) { + // System.out.println("matching " + text); + atLeastOneMatchOccured = true; + String replacementText = conversionRule.replace(matcher); + text = matcher.replaceAll(replacementText); + if(conversionRule.getAdditionalLine() != null) { + additionalLine = conversionRule.getAdditionalLine(); + } + } + } + + if(additionalLine == null) { + return new String[] {text}; + } else { + return new String[] {text, additionalLine}; + } + } + + public String getOneLineReplacement(String text) { + String[] r = getReplacement(text); + if(r.length != 1) { + throw new IllegalStateException("Expecting a single string but got "+Arrays.toString(r)); + } else { + return r[0]; + } + } + public boolean atLeastOneMatchOccured() { + return atLeastOneMatchOccured; + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/line/Log4jRuleSet.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/line/Log4jRuleSet.java new file mode 100644 index 0000000..9112463 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/line/Log4jRuleSet.java @@ -0,0 +1,77 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.migrator.line; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.regex.Pattern; + + +public class Log4jRuleSet implements RuleSet { + + private ArrayList conversionRuleList; + + public Log4jRuleSet() { + + + SingleConversionRule crImport0 = new SingleConversionRule(Pattern + .compile("import\\s*+org.apache.log4j.Logger;"), + "import org.slf4j.Logger;", + "import org.slf4j.LoggerFactory;"); + + SingleConversionRule crImport1 = new SingleConversionRule(Pattern + .compile("import\\s*+org.apache.log4j.LogManager;"), + "import org.slf4j.LoggerFactory;"); + + SingleConversionRule crImport2 = new SingleConversionRule(Pattern + .compile("import\\s*+org.apache.log4j.*;"), + "import org.slf4j.Logger;", + "import org.slf4j.LoggerFactory;"); + + SingleConversionRule crImportMDC = new SingleConversionRule(Pattern + .compile("import\\s*+org.apache.log4j.MDC;"), + "import org.slf4j.MDC;"); + + + SingleConversionRule crFactory0 = new SingleConversionRule(Pattern + .compile("Logger.getLogger\\("), "LoggerFactory.getLogger("); + + SingleConversionRule crFactory1 = new SingleConversionRule(Pattern + .compile("LogManager.getLogger\\("), "LoggerFactory.getLogger("); + + conversionRuleList = new ArrayList(); + conversionRuleList.add(crImport0); + conversionRuleList.add(crImport1); + conversionRuleList.add(crImport2); + conversionRuleList.add(crImportMDC); + conversionRuleList.add(crFactory0); + conversionRuleList.add(crFactory1); + } + + public Iterator iterator() { + return conversionRuleList.iterator(); + } + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/line/MultiGroupConversionRule.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/line/MultiGroupConversionRule.java new file mode 100644 index 0000000..9e2b498 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/line/MultiGroupConversionRule.java @@ -0,0 +1,95 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.migrator.line; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + + +/** + * This class represents a conversion rule It uses a Pattern and defines for + * each capturing group of this Pattern a replacement text + * + * @author jean-noelcharpin + * + */ +public class MultiGroupConversionRule implements ConversionRule { + + // It is extremely unlikely to encounter more than 10 groups in one of + // our conversion reg-expressions + final private static int MAX_GROUPS = 10; + + private Pattern pattern; + private String[] replacementTable = new String[MAX_GROUPS]; + + public MultiGroupConversionRule(Pattern pattern) { + this.pattern = pattern; + } + + /* (non-Javadoc) + * @see org.slf4j.converter.ConversionRule#getPattern() + */ + public Pattern getPattern() { + return pattern; + } + + public void addReplacement(int groupIndex, String replacement) { + if(groupIndex == 0) { + throw new IllegalArgumentException("regex groups start at 1, not zero"); + } + replacementTable[groupIndex] = replacement; + } + + /* (non-Javadoc) + * @see org.slf4j.converter.ConversionRule#getReplacement(java.lang.Integer) + */ + public String getReplacement(int groupIndex) { + return replacementTable[groupIndex]; + } + + /* (non-Javadoc) + * @see org.slf4j.converter.ConversionRule#replace(java.util.regex.Matcher) + */ + public String replace(Matcher matcher) { + StringBuffer replacementBuffer = new StringBuffer(); + String replacementText; + + for (int group = 1; group <= matcher.groupCount(); group++) { + replacementText = getReplacement(group); + if (replacementText != null) { + //System.out.println("replacing group " + group + " : " + // + matcher.group(group) + " with " + replacementText); + replacementBuffer.append(replacementText); + } else { + replacementBuffer.append(matcher.group(group)); + } + } + return replacementBuffer.toString(); + } + + public String getAdditionalLine() { + return null; + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/line/RuleSet.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/line/RuleSet.java new file mode 100644 index 0000000..8ee5998 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/line/RuleSet.java @@ -0,0 +1,34 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.migrator.line; + +import java.util.Iterator; + + +public interface RuleSet { + + Iterator iterator(); + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/line/SingleConversionRule.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/line/SingleConversionRule.java new file mode 100644 index 0000000..ccfa6fd --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/java/org/slf4j/migrator/line/SingleConversionRule.java @@ -0,0 +1,74 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.migrator.line; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + + +/** + * This class represents a conversion rule It uses a Pattern and defines for + * each capturing group of this Pattern a replacement text + * + * @author jean-noelcharpin + * + */ +public class SingleConversionRule implements ConversionRule { + + final private Pattern pattern; + final private String replacementText ; + final private String additionalLine; + + public SingleConversionRule(Pattern pattern, String replacementText) { + this(pattern, replacementText, null); + } + + public SingleConversionRule(Pattern pattern, String replacementText, String additionalLine) { + this.pattern = pattern; + this.replacementText = replacementText; + this.additionalLine = additionalLine; + } + + /* (non-Javadoc) + * @see org.slf4j.converter.ConversionRule#getPattern() + */ + public Pattern getPattern() { + return pattern; + } + + + + /* (non-Javadoc) + * @see org.slf4j.converter.ConversionRule#replace(java.util.regex.Matcher) + */ + public String replace(Matcher matcher) { + return replacementText; + } + + public String getAdditionalLine() { + return additionalLine; + } + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/resources/META-INF/MANIFEST.MF b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/resources/META-INF/MANIFEST.MF new file mode 100644 index 0000000..10f5bdf --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/main/resources/META-INF/MANIFEST.MF @@ -0,0 +1 @@ +Main-Class: org.slf4j.migrator.Main \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/AllTest.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/AllTest.java new file mode 100644 index 0000000..a593328 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/AllTest.java @@ -0,0 +1,41 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.migrator; + +import junit.framework.Test; +import junit.framework.TestCase; +import junit.framework.TestSuite; + +public class AllTest extends TestCase { + + public static Test suite() { + TestSuite suite = new TestSuite(); + suite.addTest(org.slf4j.migrator.PackageTest.suite()); + suite.addTest(org.slf4j.migrator.line.PackageTest.suite()); + suite.addTest(org.slf4j.migrator.helper.PackageTest.suite()); + + return suite; + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/AternativeApproach.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/AternativeApproach.java new file mode 100644 index 0000000..4096580 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/AternativeApproach.java @@ -0,0 +1,155 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.migrator; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.slf4j.migrator.line.MultiGroupConversionRule; + +import junit.framework.TestCase; + +public class AternativeApproach extends TestCase { + + /** + * In this test we see that we cans use more simple Pattern to do the + * conversion + * + */ + public void test() { + MultiGroupConversionRule cr2 = new MultiGroupConversionRule(Pattern + .compile("(.*)(Log)")); + cr2.addReplacement(2, "LOGGER"); + + String s = "abcd Log"; + Pattern pat = cr2.getPattern(); + Matcher m = pat.matcher(s); + + assertTrue(m.matches()); + String r = cr2.replace(m); + assertEquals("abcd LOGGER", r); + + System.out.println(r); + } + + /** + * In this test we replace, using the simple Pattern (Log), the full Log + * declaration and instanciation. This is not convenient because we will also + * replace all String containing "Log". + */ + public void test2() { + Pattern pat = Pattern.compile("(Log)"); + String s = "abcd Log ="; + Matcher m = pat.matcher(s); + assertTrue(m.find()); + String r = m.replaceAll("Logger"); + assertEquals("abcd Logger =", r); + + String s1 = "Log l = LogFactory.getLog(MyClass.class);"; + m = pat.matcher(s1); + assertTrue(m.find()); + r = m.replaceAll("Logger"); + assertEquals("Logger l = LoggerFactory.getLogger(MyClass.class);", r); + + String s2 = "Logabc "; + m = pat.matcher(s2); + assertTrue(m.find()); + + String s3 = "abcLog"; + m = pat.matcher(s3); + assertTrue(m.find()); + } + + /** + * In this test we use a simple Pattern to replace the log instanciation + * without influence on Log declaration. + * + */ + public void test3() { + Pattern pat = Pattern.compile("LogFactory.getFactory\\(\\).getInstance\\("); + String s = "Log log = LogFactory.getFactory().getInstance(\"x\");"; + Matcher m = pat.matcher(s); + assertTrue(m.find()); + String r = m.replaceAll("LoggerFactory.getLogger("); + assertEquals("Log log = LoggerFactory.getLogger(\"x\");", r); + + String nonMatching = "Log log = xxx;"; + pat.matcher(nonMatching); + assertFalse(m.find()); + } + + /** + * In this test we try to replace keyword Log without influence on String + * containg Log We see that we have to use two differents Patterns + */ + public void test4() { + Pattern pat = Pattern.compile("(\\sLog\\b)"); + String s = "abcd Log ="; + Matcher m = pat.matcher(s); + assertTrue(m.find()); + String r = m.replaceAll(" Logger"); + assertEquals("abcd Logger =", r); + + String s2 = "Logabcd "; + m = pat.matcher(s2); + assertFalse(m.find()); + + String s3 = "abcdLogabcd "; + m = pat.matcher(s3); + assertFalse(m.find()); + + String s4 = "abcdLog"; + m = pat.matcher(s4); + assertFalse(m.find()); + + String s5 = "Log myLog"; + m = pat.matcher(s5); + assertFalse(m.find()); + + Pattern pat2 = Pattern.compile("^Log\\b"); + Matcher m2 = pat2.matcher(s5); + assertTrue(m2.find()); + r = m2.replaceAll("Logger"); + assertEquals("Logger myLog", r); + } + + /** + * In this test we combine two Pattern to achieve the intended conversion + */ + public void test5() { + Pattern pat = Pattern.compile("(\\sLog\\b)"); + String s = "public Log myLog =LogFactory.getFactory().getInstance(myClass.class);"; + Matcher m = pat.matcher(s); + assertTrue(m.find()); + String r = m.replaceAll(" Logger"); + assertEquals("public Logger myLog =LogFactory.getFactory().getInstance(myClass.class);", r); + + Pattern pat2 = Pattern.compile("LogFactory.getFactory\\(\\).getInstance\\("); + m = pat2.matcher(r); + assertTrue(m.find()); + r = m.replaceAll("LoggerFactory.getLogger("); + assertEquals("public Logger myLog =LoggerFactory.getLogger(myClass.class);", r); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/FileConverterTest.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/FileConverterTest.java new file mode 100644 index 0000000..0eb5e61 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/FileConverterTest.java @@ -0,0 +1,58 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.migrator; + +import java.io.File; +import java.io.IOException; + +import junit.framework.TestCase; + +import org.slf4j.migrator.InplaceFileConverter; +import org.slf4j.migrator.internal.NopProgressListener; +import org.slf4j.migrator.line.EmptyRuleSet; + +public class FileConverterTest extends TestCase { + + public FileConverterTest(String arg0) { + super(arg0); + } + + protected void setUp() throws Exception { + super.setUp(); + } + + protected void tearDown() throws Exception { + super.tearDown(); + } + + public void test() { + } + + + public void XtestNOP() throws IOException { + InplaceFileConverter fc = new InplaceFileConverter(new EmptyRuleSet(), new NopProgressListener()); + fc.convert(new File("c:/varargs.txt")); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/PackageTest.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/PackageTest.java new file mode 100644 index 0000000..3ad38fb --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/PackageTest.java @@ -0,0 +1,38 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.migrator; + +import junit.framework.Test; +import junit.framework.TestCase; +import junit.framework.TestSuite; + +public class PackageTest extends TestCase { + + public static Test suite() { + TestSuite suite = new TestSuite(); + suite.addTestSuite(AternativeApproach.class); + return suite; + } +} \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/ProjectConverterTest.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/ProjectConverterTest.java new file mode 100644 index 0000000..46921fc --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/ProjectConverterTest.java @@ -0,0 +1,46 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.migrator; + +import java.io.File; + +import org.slf4j.migrator.Constant; +import org.slf4j.migrator.ProjectConverter; +import org.slf4j.migrator.internal.NopProgressListener; + +import junit.framework.TestCase; + +public class ProjectConverterTest extends TestCase { + + public void test() { + } + + public void XtestBarracuda() { + ProjectConverter pc = new ProjectConverter(Constant.LOG4J_TO_SLF4J, + new NopProgressListener()); + File projectFolder = new File("c:/home/ceki//Varia/Barracuda"); + pc.convertProject(projectFolder); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/helper/AbbreviatorTest.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/helper/AbbreviatorTest.java new file mode 100644 index 0000000..5d2ec75 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/helper/AbbreviatorTest.java @@ -0,0 +1,165 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.migrator.helper; + +import org.slf4j.migrator.helper.Abbreviator; + +import junit.framework.TestCase; + +public class AbbreviatorTest extends TestCase { + + static final char FS = '/'; + static final String INPUT_0 = "/abc/123456/ABC"; + static final String INPUT_1 = "/abc/123456/xxxxx/ABC"; + + RandomHelper rh = new RandomHelper(FS); + + public AbbreviatorTest(String arg0) { + super(arg0); + } + + protected void setUp() throws Exception { + super.setUp(); + } + + protected void tearDown() throws Exception { + super.tearDown(); + } + + public void testSmoke() { + { + Abbreviator abb = new Abbreviator(2, 100, FS); + String r = abb.abbreviate(INPUT_0); + assertEquals(INPUT_0, r); + } + + { + Abbreviator abb = new Abbreviator(3, 8, FS); + String r = abb.abbreviate(INPUT_0); + assertEquals("/abc/.../ABC", r); + } + { + Abbreviator abb = new Abbreviator(3, 8, FS); + String r = abb.abbreviate(INPUT_0); + assertEquals("/abc/.../ABC", r); + } + } + + public void testImpossibleToAbbreviate() { + Abbreviator abb = new Abbreviator(2, 20, FS); + String in = "iczldqwivpgm/mgrmvbjdxrwmqgprdjusth"; + String r = abb.abbreviate(in); + assertEquals(in, r); + } + + public void testNoFS() { + Abbreviator abb = new Abbreviator(2, 100, FS); + String r = abb.abbreviate("hello"); + assertEquals("hello", r); + + } + + public void testZeroPrefix() { + { + Abbreviator abb = new Abbreviator(0, 100, FS); + String r = abb.abbreviate(INPUT_0); + assertEquals(INPUT_0, r); + } + } + + public void testTheories() { + int MAX_RANDOM_FIXED_LEN = 20; + int MAX_RANDOM_AVG_LEN = 20; + int MAX_RANDOM_MAX_LEN = 100; + for (int i = 0; i < 10000; i++) { + + //System.out.println("Test number " + i); + + // 0 <= fixedLen < MAX_RANDOM_FIXED_LEN + int fixedLen = rh.nextInt(MAX_RANDOM_FIXED_LEN); + // 5 <= averageLen < MAX_RANDOM_AVG_LEN + int averageLen = rh.nextInt(MAX_RANDOM_AVG_LEN) + 3; + // System.out.println("fixedLen="+fixedLen+", averageLen="+averageLen); + + int maxLen = rh.nextInt(MAX_RANDOM_MAX_LEN) + fixedLen; + if (maxLen <= 1) { + continue; + } + // System.out.println("maxLen="+maxLen); + int targetLen = (maxLen / 2) + rh.nextInt(maxLen / 2) + 1; + + if (targetLen > maxLen) { + targetLen = maxLen; + } + String filename = rh.buildRandomFileName(averageLen, maxLen); + + Abbreviator abb = new Abbreviator(fixedLen, targetLen, FS); + String result = abb.abbreviate(filename); + assertTheory0(averageLen, filename, result, fixedLen, targetLen); + assertUsefulness(averageLen, filename, result, fixedLen, targetLen); + assertTheory1(filename, result, fixedLen, targetLen); + assertTheory2(filename, result, fixedLen, targetLen); + } + } + + // result length is smaller than original length + void assertTheory0(int averageLen, String filename, String result, + int fixedLen, int targetLength) { + assertTrue("filename=[" + filename + "] result=[" + result + "]", result + .length() <= filename.length()); + } + + // if conditions allow, result length should be to target length + void assertUsefulness(int averageLen, String filename, String result, + int fixedLen, int targetLength) { + int resLen = result.length(); + + int margin = averageLen * 4; + if (targetLength > fixedLen + margin) { + assertTrue("filename=[" + filename + "], result=[" + result + + "] resultLength=" + resLen + " fixedLength=" + fixedLen + + ", targetLength=" + targetLength + ", avgLen=" + averageLen, result + .length() <= targetLength + averageLen); + } + } + + // result start with prefix found in filename + void assertTheory1(String filename, String result, int fixedLen, + int targetLength) { + String prefix = filename.substring(0, fixedLen); + assertTrue(result.startsWith(prefix)); + } + + // The string /.../ is found in the result once at a position higher + // than fixedLen + void assertTheory2(String filename, String result, int fixedLen, + int targetLength) { + if (filename == result) { + return; + } + int fillerIndex = result.indexOf(Abbreviator.FILLER); + assertTrue(fillerIndex >= fixedLen); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/helper/PackageTest.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/helper/PackageTest.java new file mode 100644 index 0000000..2e9913d --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/helper/PackageTest.java @@ -0,0 +1,38 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.migrator.helper; + +import junit.framework.Test; +import junit.framework.TestCase; +import junit.framework.TestSuite; + +public class PackageTest extends TestCase { + + public static Test suite() { + TestSuite suite = new TestSuite(); + suite.addTestSuite(AbbreviatorTest.class); + return suite; + } +} \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/helper/RandomHelper.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/helper/RandomHelper.java new file mode 100644 index 0000000..fc820fc --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/helper/RandomHelper.java @@ -0,0 +1,70 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.migrator.helper; + +import java.util.Random; + +public class RandomHelper { + + private Random random = new Random(100); + final char folderSeparator; + + RandomHelper(char folderSeparator) { + this.folderSeparator = folderSeparator; + } + + private String randomString(int len) { + StringBuffer buf = new StringBuffer(); + for (int i = 0; i < len; i++) { + int offset = random.nextInt(26); + char c = (char) ('a' + offset); + buf.append(c); + } + return buf.toString(); + } + + int nextInt(int n) { + return random.nextInt(n); + } + + String buildRandomFileName(int averageNodeLength, int totalLength) { + StringBuffer buf = new StringBuffer(); + int MAX_NODE_LENGTH = averageNodeLength * 2; + while (buf.length() < totalLength) { + int remaining = totalLength - buf.length(); + int currentNodeLength; + if (remaining > MAX_NODE_LENGTH) { + currentNodeLength = random.nextInt(MAX_NODE_LENGTH) + 1; + buf.append(randomString(currentNodeLength)); + buf.append('/'); + } else { + currentNodeLength = remaining; + buf.append(randomString(currentNodeLength)); + } + } + return buf.toString(); + } + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/internal/NopProgressListener.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/internal/NopProgressListener.java new file mode 100644 index 0000000..e13bdd1 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/internal/NopProgressListener.java @@ -0,0 +1,54 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.migrator.internal; + +import java.io.File; + +import org.slf4j.migrator.internal.ProgressListener; + +public class NopProgressListener implements ProgressListener { + + public void onDirectory(File file) { + } + + public void onDone() { + } + + public void onFileAddition(File file) { + } + + public void onFileScan(File file) { + } + + public void onInplaceConversion(File file) { + } + + public void onFileScanBegin() { + } + + public void onMigrationBegin() { + } + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/line/JCLRuleSetTest.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/line/JCLRuleSetTest.java new file mode 100644 index 0000000..ce11c97 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/line/JCLRuleSetTest.java @@ -0,0 +1,159 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.migrator.line; + +import org.slf4j.migrator.line.JCLRuleSet; +import org.slf4j.migrator.line.LineConverter; + +import junit.framework.TestCase; + +public class JCLRuleSetTest extends TestCase { + + LineConverter jclConverter = new LineConverter(new JCLRuleSet()); + + public void testImportReplacement() { + // LogFactory import replacement + assertEquals("import org.slf4j.LoggerFactory;", jclConverter + .getOneLineReplacement("import org.apache.commons.logging.LogFactory;")); + // Log import replacement + assertEquals("import org.slf4j.Logger;", jclConverter + .getOneLineReplacement("import org.apache.commons.logging.Log;")); + } + + public void testLogFactoryGetLogReplacement() { + // Logger declaration and instanciation without modifier + assertEquals(" Logger l = LoggerFactory.getLogger(MyClass.class);", + jclConverter + .getOneLineReplacement(" Log l = LogFactory.getLog(MyClass.class);")); + // Logger declaration and instanciation with one modifier + assertEquals( + "public Logger mylog=LoggerFactory.getLogger(MyClass.class);", + jclConverter + .getOneLineReplacement("public Log mylog=LogFactory.getLog(MyClass.class);")); + // Logger declaration and instanciation with two modifier + assertEquals( + "public static Logger mylog1 = LoggerFactory.getLogger(MyClass.class);", + jclConverter + .getOneLineReplacement("public static Log mylog1 = LogFactory.getLog(MyClass.class);")); + // Logger declaration and instanciation with two modifier and comment at the + // end of line + assertEquals( + "public static Logger mylog1 = LoggerFactory.getLogger(MyClass.class); //logger instanciation and declaration", + jclConverter + .getOneLineReplacement("public static Log mylog1 = LogFactory.getLog(MyClass.class); //logger instanciation and declaration")); + // Logger instanciation without declaration and comment at the end of line + assertEquals( + " myLog = LoggerFactory.getLogger(MyClass.class);//logger instanciation", + jclConverter + .getOneLineReplacement(" myLog = LogFactory.getLog(MyClass.class);//logger instanciation")); + // commented Logger declaration and instanciation with two modifier + assertEquals( + "//public static Logger mylog1 = LoggerFactory.getLogger(MyClass.class);", + jclConverter + .getOneLineReplacement("//public static Log mylog1 = LogFactory.getLog(MyClass.class);")); + // commented Logger instanciation without declaration + assertEquals( + "// myLog = LoggerFactory.getLogger(MyClass.class);//logger instanciation", + jclConverter + .getOneLineReplacement("// myLog = LogFactory.getLog(MyClass.class);//logger instanciation")); + } + + public void testLogFactoryGetFactoryReplacement() { + + // Logger declaration and instanciation without modifier + assertEquals( + "Logger l = LoggerFactory.getLogger(MyClass.class);", + jclConverter + .getOneLineReplacement("Log l = LogFactory.getFactory().getInstance(MyClass.class);")); + // Logger declaration and instanciation with one modifier + assertEquals( + "public Logger mylog=LoggerFactory.getLogger(MyClass.class);", + jclConverter + .getOneLineReplacement("public Log mylog=LogFactory.getFactory().getInstance(MyClass.class);")); + // Logger declaration and instanciation with modifiers + assertEquals( + "public static Logger mylog1 = LoggerFactory.getLogger(MyClass.class);", + jclConverter + .getOneLineReplacement("public static Log mylog1 = LogFactory.getFactory().getInstance(MyClass.class);")); + // Logger declaration and instanciation with two modifier and comment at the + // end of line + assertEquals( + "public static Logger mylog1 = LoggerFactory.getLogger(MyClass.class); //logger instanciation and declaration", + jclConverter + .getOneLineReplacement("public static Log mylog1 = LogFactory.getFactory().getInstance(MyClass.class); //logger instanciation and declaration")); + // Logger instanciation without declaration and comment at the end of line + assertEquals( + " myLog = LoggerFactory.getLogger(MyClass.class);//logger instanciation", + jclConverter + .getOneLineReplacement(" myLog = LogFactory.getFactory().getInstance(MyClass.class);//logger instanciation")); + // commented Logger declaration and instanciation with two modifier + assertEquals( + "//public static Logger mylog1 = LoggerFactory.getLogger(MyClass.class);", + jclConverter + .getOneLineReplacement("//public static Log mylog1 = LogFactory.getFactory().getInstance(MyClass.class);")); + // commented Logger instanciation without declaration + assertEquals( + "// myLog = LoggerFactory.getLogger(MyClass.class);//logger instanciation", + jclConverter + .getOneLineReplacement("// myLog = LogFactory.getFactory().getInstance(MyClass.class);//logger instanciation")); + } + + public void testLogDeclarationReplacement() { + + // simple Logger declaration + assertEquals("Logger mylog;", jclConverter.getOneLineReplacement("Log mylog;")); + // Logger declaration with a modifier + assertEquals("private Logger mylog;", jclConverter + .getOneLineReplacement("private Log mylog;")); + + // Logger declaration with modifiers + assertEquals("public static final Logger myLog;", jclConverter + .getOneLineReplacement("public static final Log myLog;")); + // Logger declaration with modifiers and comment at the end of line + assertEquals("public Logger myLog;//logger declaration", jclConverter + .getOneLineReplacement("public Log myLog;//logger declaration")); + // commented Logger declaration + assertEquals("//private Logger myLog;", jclConverter + .getOneLineReplacement("//private Log myLog;")); + } + + public void testMultiLineReplacement() { + // Logger declaration on a line + assertEquals("protected Logger log =", jclConverter + .getOneLineReplacement("protected Log log =")); + + // Logger instanciation on the next line + assertEquals(" LoggerFactory.getLogger(MyComponent.class);", jclConverter + .getOneLineReplacement(" LogFactory.getLog(MyComponent.class);")); + // Logger declaration on a line + assertEquals("protected Logger log ", jclConverter + .getOneLineReplacement("protected Log log ")); + // Logger instanciation on the next line + assertEquals( + " = LoggerFactory.getLogger(MyComponent.class);", + jclConverter + .getOneLineReplacement(" = LogFactory.getFactory().getInstance(MyComponent.class);")); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/line/Log4jRuleSetTest.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/line/Log4jRuleSetTest.java new file mode 100644 index 0000000..7fba8fe --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/line/Log4jRuleSetTest.java @@ -0,0 +1,159 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.migrator.line; + +import java.util.Arrays; + +import org.slf4j.migrator.line.LineConverter; +import org.slf4j.migrator.line.Log4jRuleSet; + +import junit.framework.TestCase; + +public class Log4jRuleSetTest extends TestCase { + + LineConverter log4jConverter = new LineConverter(new Log4jRuleSet()); + + public void testImportReplacement() { + // LogFactory import replacement + assertEquals("import org.slf4j.LoggerFactory;", log4jConverter + .getOneLineReplacement("import org.apache.log4j.LogManager;")); + // Log import replacement + assertTrue(Arrays.equals( + new String[] {"import org.slf4j.Logger;", "import org.slf4j.LoggerFactory;" }, + log4jConverter.getReplacement("import org.apache.log4j.Logger;"))); + } + + public void testLogManagerGetLoggerReplacement() { + // Logger declaration and instanciation without modifier + assertEquals(" Logger l = LoggerFactory.getLogger(MyClass.class);", + log4jConverter + .getOneLineReplacement(" Logger l = LogManager.getLogger(MyClass.class);")); + // Logger declaration and instanciation with one modifier + assertEquals( + "public Logger mylog=LoggerFactory.getLogger(MyClass.class);", + log4jConverter + .getOneLineReplacement("public Logger mylog=LogManager.getLogger(MyClass.class);")); + // Logger declaration and instanciation with two modifier + assertEquals( + "public static Logger mylog1 = LoggerFactory.getLogger(MyClass.class);", + log4jConverter + .getOneLineReplacement("public static Logger mylog1 = LogManager.getLogger(MyClass.class);")); + // Logger declaration and instanciation with two modifier and comment at the + // end of line + assertEquals( + "public static Logger mylog1 = LoggerFactory.getLogger(MyClass.class);//logger instanciation and declaration", + log4jConverter + .getOneLineReplacement("public static Logger mylog1 = LogManager.getLogger(MyClass.class);//logger instanciation and declaration")); + // Logger instanciation without declaration and comment at the end of line + assertEquals( + " myLog = LoggerFactory.getLogger(MyClass.class);//logger instanciation", + log4jConverter + .getOneLineReplacement(" myLog = LogManager.getLogger(MyClass.class);//logger instanciation")); + // commented Logger declaration and instanciation with two modifier + assertEquals( + "//public static Logger mylog1 = LoggerFactory.getLogger(MyClass.class);", + log4jConverter + .getOneLineReplacement("//public static Logger mylog1 = LogManager.getLogger(MyClass.class);")); + // commented Logger instanciation without declaration + assertEquals( + "// myLog = LoggerFactory.getLogger(MyClass.class);//logger instanciation", + log4jConverter + .getOneLineReplacement("// myLog = LogManager.getLogger(MyClass.class);//logger instanciation")); + } + + public void testLoggerGetLoggerReplacement() { + // Logger declaration and instanciation without modifier + assertEquals("Logger l = LoggerFactory.getLogger(MyClass.class);", + log4jConverter + .getOneLineReplacement("Logger l = Logger.getLogger(MyClass.class);")); + // Logger declaration and instanciation with one modifier + assertEquals( + "public Logger mylog=LoggerFactory.getLogger(MyClass.class);", + log4jConverter + .getOneLineReplacement("public Logger mylog=Logger.getLogger(MyClass.class);")); + // Logger declaration and instanciation with modifiers + assertEquals( + "public static Logger mylog1 = LoggerFactory.getLogger(MyClass.class);", + log4jConverter + .getOneLineReplacement("public static Logger mylog1 = Logger.getLogger(MyClass.class);")); + // Logger declaration and instanciation with two modifier and comment at the + // end of line + assertEquals( + "public static Logger mylog1 = LoggerFactory.getLogger(MyClass.class); // logger instanciation and declaration", + log4jConverter + .getOneLineReplacement("public static Logger mylog1 = Logger.getLogger(MyClass.class); // logger instanciation and declaration")); + // Logger instanciation without declaration and comment at the end of line + assertEquals( + " myLog = LoggerFactory.getLogger(MyClass.class);//logger instanciation", + log4jConverter + .getOneLineReplacement(" myLog = Logger.getLogger(MyClass.class);//logger instanciation")); + // commented Logger declaration and instanciation with two modifier + assertEquals( + "//public static Logger mylog1 = LoggerFactory.getLogger(MyClass.class);", + log4jConverter + .getOneLineReplacement("//public static Logger mylog1 = Logger.getLogger(MyClass.class);")); + // commented Logger instanciation without declaration + assertEquals( + "// myLog = LoggerFactory.getLogger(MyClass.class);//logger instanciation", + log4jConverter + .getOneLineReplacement("// myLog = Logger.getLogger(MyClass.class);//logger instanciation")); + } + + public void testLogDeclarationReplacement() { + // simple Logger declaration + assertEquals("Logger mylog;", log4jConverter.getOneLineReplacement("Logger mylog;")); + // Logger declaration with a modifier + assertEquals("private Logger mylog;", log4jConverter + .getOneLineReplacement("private Logger mylog;")); + + // Logger declaration with modifiers + assertEquals("public static final Logger myLog;", log4jConverter + .getOneLineReplacement("public static final Logger myLog;")); + // Logger declaration with modifiers and comment at the end of line + assertEquals("public Logger myLog;//logger declaration", log4jConverter + .getOneLineReplacement("public Logger myLog;//logger declaration")); + // commented Logger declaration + assertEquals("//private Logger myLog;", log4jConverter + .getOneLineReplacement("//private Logger myLog;")); + } + + public void testMultiLineReplacement() { + // Logger declaration on a line + assertEquals("protected Logger log =", log4jConverter + .getOneLineReplacement("protected Logger log =")); + + // Logger instanciation on the next line + assertEquals(" LoggerFactory.getLogger(MyComponent.class);", log4jConverter + .getOneLineReplacement(" LogManager.getLogger(MyComponent.class);")); + // Logger declaration on a line + assertEquals("protected Logger log ", log4jConverter + .getOneLineReplacement("protected Logger log ")); + // Logger instanciation on the next line + assertEquals( + " = LoggerFactory.getLogger(MyComponent.class);", + log4jConverter + .getOneLineReplacement(" = LogManager.getLogger(MyComponent.class);")); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/line/NoConversionTest.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/line/NoConversionTest.java new file mode 100644 index 0000000..78535f7 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/line/NoConversionTest.java @@ -0,0 +1,87 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.migrator.line; + +import org.slf4j.migrator.line.JCLRuleSet; +import org.slf4j.migrator.line.LineConverter; +import org.slf4j.migrator.line.Log4jRuleSet; + +import junit.framework.TestCase; + +public class NoConversionTest extends TestCase { + + /** + * This test shows that performing JCL to SLF4J conversion has no impact on + * Log4j implementation + */ + public void testJclOverLog4jConversion() { + // running jcl to slf4j conversion + //JCLMatcher jclMatcher = + LineConverter jclLineConverter = new LineConverter(new JCLRuleSet()); + // no changes on log4j.LogManager import + assertEquals("import org.apache.log4j.LogManager;", jclLineConverter + .getOneLineReplacement("import org.apache.log4j.LogManager;")); + // no changes on log4j.Logger import + assertEquals("import org.apache.log4j.Logger;", jclLineConverter + .getOneLineReplacement("import org.apache.log4j.Logger;")); + // no changes on Logger instanciation using LogManager + assertEquals( + "Logger log = LogManager.getLogger(MyClass.class);", + jclLineConverter + .getOneLineReplacement("Logger log = LogManager.getLogger(MyClass.class);")); + // no changes on Logger instanciation using Logger.getLogger + assertEquals( + "public static Logger mylog1 = Logger.getLogger(MyClass.class);", + jclLineConverter + .getOneLineReplacement("public static Logger mylog1 = Logger.getLogger(MyClass.class);")); + } + + /** + * This test shows that performing Log4j to SLF4J conversion has no impact on + * JCL implementation + */ + public void testLog4jOverJclConversion() { + // running log4j to slf4j conversion + LineConverter log4jConverter = new LineConverter(new Log4jRuleSet()); + + // no changes on LogFactory import + assertEquals("import org.apache.commons.logging.LogFactory;", log4jConverter + .getOneLineReplacement("import org.apache.commons.logging.LogFactory;")); + // no changes on Log import + assertEquals("import org.apache.commons.logging.Log;", log4jConverter + .getOneLineReplacement("import org.apache.commons.logging.Log;")); + // no changes on Log instanciation using Logfactory.getLog + assertEquals( + "public static Log mylog1 = LogFactory.getLog(MyClass.class);", + log4jConverter + .getOneLineReplacement("public static Log mylog1 = LogFactory.getLog(MyClass.class);")); + // no changes on log instanciation using LogFactory.getFactory().getInstance + assertEquals( + "public Log mylog=LogFactory.getFactory().getInstance(MyClass.class);", + log4jConverter + .getOneLineReplacement("public Log mylog=LogFactory.getFactory().getInstance(MyClass.class);")); + + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/line/PackageTest.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/line/PackageTest.java new file mode 100644 index 0000000..55937e0 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/line/PackageTest.java @@ -0,0 +1,44 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.migrator.line; + +import org.slf4j.migrator.line.JCLRuleSetTest; +import org.slf4j.migrator.line.Log4jRuleSetTest; + +import junit.framework.Test; +import junit.framework.TestCase; +import junit.framework.TestSuite; + +public class PackageTest extends TestCase { + + public static Test suite() { + TestSuite suite = new TestSuite(); + suite.addTestSuite(TrivialMatcherTest.class); + suite.addTestSuite(JCLRuleSetTest.class); + suite.addTestSuite(Log4jRuleSetTest.class); + suite.addTestSuite(NoConversionTest.class); + return suite; + } +} \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/line/TrivialMatcherTest.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/line/TrivialMatcherTest.java new file mode 100644 index 0000000..1f2c773 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/line/TrivialMatcherTest.java @@ -0,0 +1,47 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.migrator.line; + +import org.slf4j.migrator.line.LineConverter; + +import junit.framework.TestCase; + +public class TrivialMatcherTest extends TestCase { + + public void testSimpleReplacement() { + LineConverter trivialLC = new LineConverter(new TrivialMatcher()); + + + // "import org.slf4j.converter" -- > simple replacement with an unique + // capturing group + assertEquals("simple replacement with an unique capturing group", + trivialLC.getOneLineReplacement("import org.slf4j.converter")); + + assertEquals("1st group second group 4th group", trivialLC + .getOneLineReplacement("first group second group third group 4th group")); + + } + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/line/TriviialMatcher.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/line/TriviialMatcher.java new file mode 100644 index 0000000..2fb3238 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-migrator/src/test/java/org/slf4j/migrator/line/TriviialMatcher.java @@ -0,0 +1,65 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.migrator.line; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.regex.Pattern; + +import org.slf4j.migrator.line.ConversionRule; +import org.slf4j.migrator.line.MultiGroupConversionRule; +import org.slf4j.migrator.line.RuleSet; +import org.slf4j.migrator.line.SingleConversionRule; + +class TrivialMatcher implements RuleSet { + + private ArrayList conversionRuleList; + + public TrivialMatcher() { + //simple rule no capturing group is defined, we use default capturing group which is group zero + SingleConversionRule cr = new SingleConversionRule(Pattern.compile("import org.slf4j.converter"), + "simple replacement with an unique capturing group"); + + //we define 4 differents capturing groups + MultiGroupConversionRule cr1 = new MultiGroupConversionRule(Pattern.compile("(first group)( second group)( third group)( 4th group)")); + //group zero is ignored during treatment + //replacement for the first + cr1.addReplacement(1, "1st group"); + //no replacement for the second group it will remains the same + //empty string for the third group it will be deleted + cr1.addReplacement(3, ""); + //no replacement for the third group it will remains the same + + conversionRuleList = new ArrayList(); + conversionRuleList.add(cr); + conversionRuleList.add(cr1); + } + + public Iterator iterator() { + return conversionRuleList.iterator(); + } + + +} \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-nop-1.7.5-sources.jar b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-nop-1.7.5-sources.jar new file mode 100644 index 0000000..7b48d2a Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-nop-1.7.5-sources.jar differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-nop-1.7.5.jar b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-nop-1.7.5.jar new file mode 100644 index 0000000..e55bdd8 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-nop-1.7.5.jar differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-nop/pom.xml b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-nop/pom.xml new file mode 100644 index 0000000..3dbf4bb --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-nop/pom.xml @@ -0,0 +1,50 @@ + + + + org.slf4j + slf4j-parent + 1.7.5 + + + 4.0.0 + + org.slf4j + slf4j-nop + jar + SLF4J NOP Binding + SLF4J NOP Binding + http://www.slf4j.org + + + + + org.slf4j + slf4j-api + + + + + + + + org.apache.maven.plugins + maven-jar-plugin + + + + ${parsedVersion.osgiVersion} + ${project.description} + ${project.version} + + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-nop/src/main/java/org/slf4j/impl/StaticLoggerBinder.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-nop/src/main/java/org/slf4j/impl/StaticLoggerBinder.java new file mode 100644 index 0000000..61f0599 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-nop/src/main/java/org/slf4j/impl/StaticLoggerBinder.java @@ -0,0 +1,81 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.impl; + +import org.slf4j.ILoggerFactory; +import org.slf4j.LoggerFactory; +import org.slf4j.helpers.NOPLoggerFactory; +import org.slf4j.spi.LoggerFactoryBinder; + +/** + * The binding of {@link LoggerFactory} class with an actual instance of + * {@link ILoggerFactory} is performed using information returned by this class. + * + * @author Ceki Gülcü + */ +public class StaticLoggerBinder implements LoggerFactoryBinder { + + /** + * The unique instance of this class. + * + */ + private static final StaticLoggerBinder SINGLETON = new StaticLoggerBinder(); + + /** + * Return the singleton of this class. + * + * @return the StaticLoggerBinder singleton + */ + public static final StaticLoggerBinder getSingleton() { + return SINGLETON; + } + + + /** + * Declare the version of the SLF4J API this implementation is compiled against. + * The value of this field is usually modified with each release. + */ + // to avoid constant folding by the compiler, this field must *not* be final + public static String REQUESTED_API_VERSION = "1.6.99"; // !final + + private static final String loggerFactoryClassStr = NOPLoggerFactory.class.getName(); + + /** The ILoggerFactory instance returned by the {@link #getLoggerFactory} method + * should always be the same object + */ + private final ILoggerFactory loggerFactory; + + private StaticLoggerBinder() { + loggerFactory = new NOPLoggerFactory(); + } + + public ILoggerFactory getLoggerFactory() { + return loggerFactory; + } + + public String getLoggerFactoryClassStr() { + return loggerFactoryClassStr; + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-nop/src/main/java/org/slf4j/impl/StaticMDCBinder.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-nop/src/main/java/org/slf4j/impl/StaticMDCBinder.java new file mode 100644 index 0000000..ebdbeba --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-nop/src/main/java/org/slf4j/impl/StaticMDCBinder.java @@ -0,0 +1,58 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.impl; + +import org.slf4j.helpers.NOPMDCAdapter; +import org.slf4j.spi.MDCAdapter; + + +/** + * This implementation is bound to {@link NOPMDCAdapter}. + * + * @author Ceki Gülcü + */ +public class StaticMDCBinder { + + + /** + * The unique instance of this class. + */ + public static final StaticMDCBinder SINGLETON = new StaticMDCBinder(); + + private StaticMDCBinder() { + } + + /** + * Currently this method always returns an instance of + * {@link StaticMDCBinder}. + */ + public MDCAdapter getMDCA() { + return new NOPMDCAdapter(); + } + + public String getMDCAdapterClassStr() { + return NOPMDCAdapter.class.getName(); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-nop/src/main/java/org/slf4j/impl/StaticMarkerBinder.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-nop/src/main/java/org/slf4j/impl/StaticMarkerBinder.java new file mode 100644 index 0000000..0281707 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-nop/src/main/java/org/slf4j/impl/StaticMarkerBinder.java @@ -0,0 +1,68 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.impl; + +import org.slf4j.IMarkerFactory; +import org.slf4j.MarkerFactory; +import org.slf4j.helpers.BasicMarkerFactory; +import org.slf4j.spi.MarkerFactoryBinder; + +/** + * + * The binding of {@link MarkerFactory} class with an actual instance of + * {@link IMarkerFactory} is performed using information returned by this class. + * + * @author Ceki Gülcü + */ +public class StaticMarkerBinder implements MarkerFactoryBinder { + + /** + * The unique instance of this class. + */ + public static final StaticMarkerBinder SINGLETON = new StaticMarkerBinder(); + + final IMarkerFactory markerFactory = new BasicMarkerFactory(); + + private StaticMarkerBinder() { + } + + /** + * Currently this method always returns an instance of + * {@link BasicMarkerFactory}. + */ + public IMarkerFactory getMarkerFactory() { + return markerFactory; + } + + /** + * Currently, this method returns the class name of + * {@link BasicMarkerFactory}. + */ + public String getMarkerFactoryClassStr() { + return BasicMarkerFactory.class.getName(); + } + + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-nop/src/main/resources/META-INF/MANIFEST.MF b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-nop/src/main/resources/META-INF/MANIFEST.MF new file mode 100644 index 0000000..25891ad --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-nop/src/main/resources/META-INF/MANIFEST.MF @@ -0,0 +1,9 @@ +Implementation-Title: slf4j-nop +Bundle-ManifestVersion: 2 +Bundle-SymbolicName: slf4j.nop +Bundle-Name: slf4j-nop +Bundle-Vendor: SLF4J.ORG +Bundle-RequiredExecutionEnvironment: J2SE-1.3 +Export-Package: org.slf4j.impl;version=${parsedVersion.osgiVersion} +Import-Package: org.slf4j;version=${parsedVersion.osgiVersion}, org.slf4j.spi;version=${parsedVersion.osgiVersion}, org.slf4j.helpers;version=${parsedVersion.osgiVersion} +Fragment-Host: slf4j.api \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-nop/src/test/java/org/slf4j/InvocationTest.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-nop/src/test/java/org/slf4j/InvocationTest.java new file mode 100644 index 0000000..cbcfa3d --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-nop/src/test/java/org/slf4j/InvocationTest.java @@ -0,0 +1,120 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j; + +import junit.framework.TestCase; + + +/** + * Test whether invoking the SLF4J API causes problems or not. + * + * @author Ceki Gulcu + * + */ +public class InvocationTest extends TestCase { + + public InvocationTest (String arg0) { + super(arg0); + } + + protected void setUp() throws Exception { + super.setUp(); + } + + protected void tearDown() throws Exception { + super.tearDown(); + } + + public void test1() { + Logger logger = LoggerFactory.getLogger("test1"); + logger.debug("Hello world."); + } + + public void test2() { + Integer i1 = new Integer(1); + Integer i2 = new Integer(2); + Integer i3 = new Integer(3); + Exception e = new Exception("This is a test exception."); + Logger logger = LoggerFactory.getLogger("test2"); + + logger.debug("Hello world 1."); + logger.debug("Hello world {}", i1); + logger.debug("val={} val={}", i1, i2); + logger.debug("val={} val={} val={}", new Object[]{i1, i2, i3}); + + logger.debug("Hello world 2", e); + logger.info("Hello world 2."); + + + logger.warn("Hello world 3."); + logger.warn("Hello world 3", e); + + + logger.error("Hello world 4."); + logger.error("Hello world {}", new Integer(3)); + logger.error("Hello world 4.", e); + } + + public void testNull() { + Logger logger = LoggerFactory.getLogger("testNull"); + logger.debug(null); + logger.info(null); + logger.warn(null); + logger.error(null); + + Exception e = new Exception("This is a test exception."); + logger.debug(null, e); + logger.info(null, e); + logger.warn(null, e); + logger.error(null, e); + } + + public void testMarker() { + Logger logger = LoggerFactory.getLogger("testMarker"); + Marker blue = MarkerFactory.getMarker("BLUE"); + logger.debug(blue, "hello"); + logger.info(blue, "hello"); + logger.warn(blue, "hello"); + logger.error(blue, "hello"); + + logger.debug(blue, "hello {}", "world"); + logger.info(blue, "hello {}", "world"); + logger.warn(blue, "hello {}", "world"); + logger.error(blue, "hello {}", "world"); + + logger.debug(blue, "hello {} and {} ", "world", "universe"); + logger.info(blue, "hello {} and {} ", "world", "universe"); + logger.warn(blue, "hello {} and {} ", "world", "universe"); + logger.error(blue, "hello {} and {} ", "world", "universe"); + } + + public void testMDC() { + MDC.put("k", "v"); + assertNull(MDC.get("k")); + MDC.remove("k"); + assertNull(MDC.get("k")); + MDC.clear(); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple-1.7.5-sources.jar b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple-1.7.5-sources.jar new file mode 100644 index 0000000..863c6a1 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple-1.7.5-sources.jar differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple-1.7.5.jar b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple-1.7.5.jar new file mode 100644 index 0000000..9dece31 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple-1.7.5.jar differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple/pom.xml b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple/pom.xml new file mode 100644 index 0000000..648cb5e --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple/pom.xml @@ -0,0 +1,48 @@ + + + + org.slf4j + slf4j-parent + 1.7.5 + + + 4.0.0 + + org.slf4j + slf4j-simple + jar + SLF4J Simple Binding + SLF4J Simple binding + http://www.slf4j.org + + + + org.slf4j + slf4j-api + + + + + + + + org.apache.maven.plugins + maven-jar-plugin + + + + ${parsedVersion.osgiVersion} + ${project.description} + ${project.version} + + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple/src/main/java/org/slf4j/impl/SimpleLogger.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple/src/main/java/org/slf4j/impl/SimpleLogger.java new file mode 100644 index 0000000..7580264 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple/src/main/java/org/slf4j/impl/SimpleLogger.java @@ -0,0 +1,653 @@ +/** + * Copyright (c) 2004-2012 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.impl; + +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.InputStream; +import java.io.PrintStream; +import java.security.AccessController; +import java.security.PrivilegedAction; +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Properties; + +import org.slf4j.Logger; +import org.slf4j.helpers.FormattingTuple; +import org.slf4j.helpers.MarkerIgnoringBase; +import org.slf4j.helpers.MessageFormatter; +import org.slf4j.helpers.Util; +import org.slf4j.spi.LocationAwareLogger; + +/** + *

Simple implementation of {@link Logger} that sends all enabled log messages, + * for all defined loggers, to the console ({@code System.err}). + * The following system properties are supported to configure the behavior of this logger:

+ * + *
    + *
  • org.slf4j.simpleLogger.logFile - The output target which can be the path to a file, or + * the special values "System.out" and "System.err". Default is "System.err". + * + *
  • org.slf4j.simpleLogger.defaultLogLevel - Default log level for all instances of SimpleLogger. + * Must be one of ("trace", "debug", "info", "warn", or "error"). If not specified, defaults to "info".
  • + * + *
  • org.slf4j.simpleLogger.log.a.b.c - Logging detail level for a SimpleLogger instance + * named "a.b.c". Right-side value must be one of "trace", "debug", "info", "warn", or "error". When a SimpleLogger + * named "a.b.c" is initialized, its level is assigned from this property. If unspecified, the level of nearest parent + * logger will be used, and if none is set, then the value specified by + * org.slf4j.simpleLogger.defaultLogLevel will be used.
  • + * + *
  • org.slf4j.simpleLogger.showDateTime - Set to true if you want the current date and + * time to be included in output messages. Default is true
  • + * + *
  • org.slf4j.simpleLogger.dateTimeFormat - The date and time format to be used in the output messages. + * The pattern describing the date and time format is defined by + * SimpleDateFormat. + * If the format is not specified or is invalid, the number of milliseconds since start up will be output.
  • + * + *
  • org.slf4j.simpleLogger.showThreadName -Set to true if you want to output the current + * thread name. Defaults to true.
  • + * + *
  • org.slf4j.simpleLogger.showLogName - Set to true if you want the Logger instance name + * to be included in output messages. Defaults to true.
  • + * + *
  • org.slf4j.simpleLogger.showShortLogName - Set to true if you want the last component + * of the name to be included in output messages. Defaults to false.
  • + * + *
  • org.slf4j.simpleLogger.levelInBrackets - Should the level string be output in brackets? Defaults + * to false.
  • + * + *
  • org.slf4j.simpleLogger.warnLevelString - The string value output for the warn level. Defaults + * to WARN.
  • + + *
+ * + *

In addition to looking for system properties with the names specified above, this implementation also checks for + * a class loader resource named "simplelogger.properties", and includes any matching definitions + * from this resource (if it exists).

+ * + *

With no configuration, the default output includes the relative time in milliseconds, thread name, the level, + * logger name, and the message followed by the line separator for the host. In log4j terms it amounts to the "%r [%t] + * %level %logger - %m%n" pattern.

+ *

Sample output follows.

+ *
+ * 176 [main] INFO examples.Sort - Populating an array of 2 elements in reverse order.
+ * 225 [main] INFO examples.SortAlgo - Entered the sort method.
+ * 304 [main] INFO examples.SortAlgo - Dump of integer array:
+ * 317 [main] INFO examples.SortAlgo - Element [0] = 0
+ * 331 [main] INFO examples.SortAlgo - Element [1] = 1
+ * 343 [main] INFO examples.Sort - The next log statement should be an error message.
+ * 346 [main] ERROR examples.SortAlgo - Tried to dump an uninitialized array.
+ *   at org.log4j.examples.SortAlgo.dump(SortAlgo.java:58)
+ *   at org.log4j.examples.Sort.main(Sort.java:64)
+ * 467 [main] INFO  examples.Sort - Exiting main method.
+ * 
+ * + *

This implementation is heavily inspired by + * Apache Commons Logging's SimpleLog.

+ * + * @author Ceki Gülcü + * @author Scott Sanders + * @author Rod Waldhoff + * @author Robert Burrell Donkin + * @author Cédrik LIME + */ +public class SimpleLogger extends MarkerIgnoringBase { + + private static final long serialVersionUID = -632788891211436180L; + private static final String CONFIGURATION_FILE = "simplelogger.properties"; + + private static long START_TIME = System.currentTimeMillis(); + private static final Properties SIMPLE_LOGGER_PROPS = new Properties(); + + private static final int LOG_LEVEL_TRACE = LocationAwareLogger.TRACE_INT; + private static final int LOG_LEVEL_DEBUG = LocationAwareLogger.DEBUG_INT; + private static final int LOG_LEVEL_INFO = LocationAwareLogger.INFO_INT; + private static final int LOG_LEVEL_WARN = LocationAwareLogger.WARN_INT; + private static final int LOG_LEVEL_ERROR = LocationAwareLogger.ERROR_INT; + + private static boolean INITIALIZED = false; + + private static int DEFAULT_LOG_LEVEL = LOG_LEVEL_INFO; + private static boolean SHOW_DATE_TIME = false; + private static String DATE_TIME_FORMAT_STR = null; + private static DateFormat DATE_FORMATTER = null; + private static boolean SHOW_THREAD_NAME = true; + private static boolean SHOW_LOG_NAME = true; + private static boolean SHOW_SHORT_LOG_NAME = false; + private static String LOG_FILE = "System.err"; + private static PrintStream TARGET_STREAM = null; + private static boolean LEVEL_IN_BRACKETS = false; + private static String WARN_LEVEL_STRING = "WARN"; + + + /** All system properties used by SimpleLogger start with this prefix */ + public static final String SYSTEM_PREFIX = "org.slf4j.simpleLogger."; + + public static final String DEFAULT_LOG_LEVEL_KEY = SYSTEM_PREFIX + "defaultLogLevel"; + public static final String SHOW_DATE_TIME_KEY = SYSTEM_PREFIX + "showDateTime"; + public static final String DATE_TIME_FORMAT_KEY = SYSTEM_PREFIX + "dateTimeFormat"; + public static final String SHOW_THREAD_NAME_KEY = SYSTEM_PREFIX + "showThreadName"; + public static final String SHOW_LOG_NAME_KEY = SYSTEM_PREFIX + "showLogName"; + public static final String SHOW_SHORT_LOG_NAME_KEY = SYSTEM_PREFIX + "showShortLogName"; + public static final String LOG_FILE_KEY = SYSTEM_PREFIX + "logFile"; + public static final String LEVEL_IN_BRACKETS_KEY = SYSTEM_PREFIX + "levelInBrackets"; + public static final String WARN_LEVEL_STRING_KEY = SYSTEM_PREFIX + "warnLevelString"; + + + public static final String LOG_KEY_PREFIX = SYSTEM_PREFIX + "log."; + + + private static String getStringProperty(String name) { + String prop = null; + try { + prop = System.getProperty(name); + } catch (SecurityException e) { + ; // Ignore + } + return (prop == null) ? SIMPLE_LOGGER_PROPS.getProperty(name) : prop; + } + + private static String getStringProperty(String name, String defaultValue) { + String prop = getStringProperty(name); + return (prop == null) ? defaultValue : prop; + } + + private static boolean getBooleanProperty(String name, boolean defaultValue) { + String prop = getStringProperty(name); + return (prop == null) ? defaultValue : "true".equalsIgnoreCase(prop); + } + + + // Initialize class attributes. + // Load properties file, if found. + // Override with system properties. + static void init() { + INITIALIZED = true; + loadProperties(); + + String defaultLogLevelString = getStringProperty(DEFAULT_LOG_LEVEL_KEY, null); + if (defaultLogLevelString != null) + DEFAULT_LOG_LEVEL = stringToLevel(defaultLogLevelString); + + SHOW_LOG_NAME = getBooleanProperty(SHOW_LOG_NAME_KEY, SHOW_LOG_NAME); + SHOW_SHORT_LOG_NAME = getBooleanProperty(SHOW_SHORT_LOG_NAME_KEY, SHOW_SHORT_LOG_NAME); + SHOW_DATE_TIME = getBooleanProperty(SHOW_DATE_TIME_KEY, SHOW_DATE_TIME); + SHOW_THREAD_NAME = getBooleanProperty(SHOW_THREAD_NAME_KEY, SHOW_THREAD_NAME); + DATE_TIME_FORMAT_STR = getStringProperty(DATE_TIME_FORMAT_KEY, DATE_TIME_FORMAT_STR); + LEVEL_IN_BRACKETS = getBooleanProperty(LEVEL_IN_BRACKETS_KEY, LEVEL_IN_BRACKETS); + WARN_LEVEL_STRING = getStringProperty(WARN_LEVEL_STRING_KEY, WARN_LEVEL_STRING); + + LOG_FILE = getStringProperty(LOG_FILE_KEY, LOG_FILE); + TARGET_STREAM = computeTargetStream(LOG_FILE); + + if (DATE_TIME_FORMAT_STR != null) { + try { + DATE_FORMATTER = new SimpleDateFormat(DATE_TIME_FORMAT_STR); + } catch (IllegalArgumentException e) { + Util.report("Bad date format in " + CONFIGURATION_FILE + "; will output relative time", e); + } + } + } + + + private static PrintStream computeTargetStream(String logFile) { + if ("System.err".equalsIgnoreCase(logFile)) + return System.err; + else if ("System.out".equalsIgnoreCase(logFile)) { + return System.out; + } else { + try { + FileOutputStream fos = new FileOutputStream(logFile); + PrintStream printStream = new PrintStream(fos); + return printStream; + } catch (FileNotFoundException e) { + Util.report("Could not open [" + logFile + "]. Defaulting to System.err", e); + return System.err; + } + } + } + + private static void loadProperties() { + // Add props from the resource simplelogger.properties + InputStream in = (InputStream) AccessController.doPrivileged( + new PrivilegedAction() { + public Object run() { + ClassLoader threadCL = Thread.currentThread().getContextClassLoader(); + if (threadCL != null) { + return threadCL.getResourceAsStream(CONFIGURATION_FILE); + } else { + return ClassLoader.getSystemResourceAsStream(CONFIGURATION_FILE); + } + } + }); + if (null != in) { + try { + SIMPLE_LOGGER_PROPS.load(in); + in.close(); + } catch (java.io.IOException e) { + // ignored + } + } + } + + /** The current log level */ + protected int currentLogLevel = LOG_LEVEL_INFO; + /** The short name of this simple log instance */ + private transient String shortLogName = null; + + /** + * Package access allows only {@link SimpleLoggerFactory} to instantiate + * SimpleLogger instances. + */ + SimpleLogger(String name) { + if (!INITIALIZED) { + init(); + } + this.name = name; + + String levelString = recursivelyComputeLevelString(); + if (levelString != null) { + this.currentLogLevel = stringToLevel(levelString); + } else { + this.currentLogLevel = DEFAULT_LOG_LEVEL; + } + } + + String recursivelyComputeLevelString() { + String tempName = name; + String levelString = null; + int indexOfLastDot = tempName.length(); + while ((levelString == null) && (indexOfLastDot > -1)) { + tempName = tempName.substring(0, indexOfLastDot); + levelString = getStringProperty(LOG_KEY_PREFIX + tempName, null); + indexOfLastDot = String.valueOf(tempName).lastIndexOf("."); + } + return levelString; + } + + private static int stringToLevel(String levelStr) { + if ("trace".equalsIgnoreCase(levelStr)) { + return LOG_LEVEL_TRACE; + } else if ("debug".equalsIgnoreCase(levelStr)) { + return LOG_LEVEL_DEBUG; + } else if ("info".equalsIgnoreCase(levelStr)) { + return LOG_LEVEL_INFO; + } else if ("warn".equalsIgnoreCase(levelStr)) { + return LOG_LEVEL_WARN; + } else if ("error".equalsIgnoreCase(levelStr)) { + return LOG_LEVEL_ERROR; + } + // assume INFO by default + return LOG_LEVEL_INFO; + } + + + /** + * This is our internal implementation for logging regular (non-parameterized) + * log messages. + * + * @param level One of the LOG_LEVEL_XXX constants defining the log level + * @param message The message itself + * @param t The exception whose stack trace should be logged + */ + private void log(int level, String message, Throwable t) { + if (!isLevelEnabled(level)) { + return; + } + + StringBuffer buf = new StringBuffer(32); + + // Append date-time if so configured + if (SHOW_DATE_TIME) { + if (DATE_FORMATTER != null) { + buf.append(getFormattedDate()); + buf.append(' '); + } else { + buf.append(System.currentTimeMillis() - START_TIME); + buf.append(' '); + } + } + + // Append current thread name if so configured + if (SHOW_THREAD_NAME) { + buf.append('['); + buf.append(Thread.currentThread().getName()); + buf.append("] "); + } + + if (LEVEL_IN_BRACKETS) buf.append('['); + + // Append a readable representation of the log level + switch (level) { + case LOG_LEVEL_TRACE: + buf.append("TRACE"); + break; + case LOG_LEVEL_DEBUG: + buf.append("DEBUG"); + break; + case LOG_LEVEL_INFO: + buf.append("INFO"); + break; + case LOG_LEVEL_WARN: + buf.append(WARN_LEVEL_STRING); + break; + case LOG_LEVEL_ERROR: + buf.append("ERROR"); + break; + } + if (LEVEL_IN_BRACKETS) buf.append(']'); + buf.append(' '); + + // Append the name of the log instance if so configured + if (SHOW_SHORT_LOG_NAME) { + if (shortLogName == null) shortLogName = computeShortName(); + buf.append(String.valueOf(shortLogName)).append(" - "); + } else if (SHOW_LOG_NAME) { + buf.append(String.valueOf(name)).append(" - "); + } + + // Append the message + buf.append(message); + + write(buf, t); + + } + + void write(StringBuffer buf, Throwable t) { + TARGET_STREAM.println(buf.toString()); + if (t != null) { + t.printStackTrace(TARGET_STREAM); + } + TARGET_STREAM.flush(); + } + + private String getFormattedDate() { + Date now = new Date(); + String dateText; + synchronized (DATE_FORMATTER) { + dateText = DATE_FORMATTER.format(now); + } + return dateText; + } + + private String computeShortName() { + return name.substring(name.lastIndexOf(".") + 1); + } + + /** + * For formatted messages, first substitute arguments and then log. + * + * @param level + * @param format + * @param arg1 + * @param arg2 + */ + private void formatAndLog(int level, String format, Object arg1, + Object arg2) { + if (!isLevelEnabled(level)) { + return; + } + FormattingTuple tp = MessageFormatter.format(format, arg1, arg2); + log(level, tp.getMessage(), tp.getThrowable()); + } + + /** + * For formatted messages, first substitute arguments and then log. + * + * @param level + * @param format + * @param arguments a list of 3 ore more arguments + */ + private void formatAndLog(int level, String format, Object... arguments) { + if (!isLevelEnabled(level)) { + return; + } + FormattingTuple tp = MessageFormatter.arrayFormat(format, arguments); + log(level, tp.getMessage(), tp.getThrowable()); + } + + /** + * Is the given log level currently enabled? + * + * @param logLevel is this level enabled? + */ + protected boolean isLevelEnabled(int logLevel) { + // log level are numerically ordered so can use simple numeric + // comparison + return (logLevel >= currentLogLevel); + } + + /** Are {@code trace} messages currently enabled? */ + public boolean isTraceEnabled() { + return isLevelEnabled(LOG_LEVEL_TRACE); + } + + /** + * A simple implementation which logs messages of level TRACE according + * to the format outlined above. + */ + public void trace(String msg) { + log(LOG_LEVEL_TRACE, msg, null); + } + + /** + * Perform single parameter substitution before logging the message of level + * TRACE according to the format outlined above. + */ + public void trace(String format, Object param1) { + formatAndLog(LOG_LEVEL_TRACE, format, param1, null); + } + + /** + * Perform double parameter substitution before logging the message of level + * TRACE according to the format outlined above. + */ + public void trace(String format, Object param1, Object param2) { + formatAndLog(LOG_LEVEL_TRACE, format, param1, param2); + } + + /** + * Perform double parameter substitution before logging the message of level + * TRACE according to the format outlined above. + */ + public void trace(String format, Object... argArray) { + formatAndLog(LOG_LEVEL_TRACE, format, argArray); + } + + /** Log a message of level TRACE, including an exception. */ + public void trace(String msg, Throwable t) { + log(LOG_LEVEL_TRACE, msg, t); + } + + /** Are {@code debug} messages currently enabled? */ + public boolean isDebugEnabled() { + return isLevelEnabled(LOG_LEVEL_DEBUG); + } + + /** + * A simple implementation which logs messages of level DEBUG according + * to the format outlined above. + */ + public void debug(String msg) { + log(LOG_LEVEL_DEBUG, msg, null); + } + + /** + * Perform single parameter substitution before logging the message of level + * DEBUG according to the format outlined above. + */ + public void debug(String format, Object param1) { + formatAndLog(LOG_LEVEL_DEBUG, format, param1, null); + } + + /** + * Perform double parameter substitution before logging the message of level + * DEBUG according to the format outlined above. + */ + public void debug(String format, Object param1, Object param2) { + formatAndLog(LOG_LEVEL_DEBUG, format, param1, param2); + } + + /** + * Perform double parameter substitution before logging the message of level + * DEBUG according to the format outlined above. + */ + public void debug(String format, Object... argArray) { + formatAndLog(LOG_LEVEL_DEBUG, format, argArray); + } + + /** Log a message of level DEBUG, including an exception. */ + public void debug(String msg, Throwable t) { + log(LOG_LEVEL_DEBUG, msg, t); + } + + /** Are {@code info} messages currently enabled? */ + public boolean isInfoEnabled() { + return isLevelEnabled(LOG_LEVEL_INFO); + } + + /** + * A simple implementation which logs messages of level INFO according + * to the format outlined above. + */ + public void info(String msg) { + log(LOG_LEVEL_INFO, msg, null); + } + + /** + * Perform single parameter substitution before logging the message of level + * INFO according to the format outlined above. + */ + public void info(String format, Object arg) { + formatAndLog(LOG_LEVEL_INFO, format, arg, null); + } + + /** + * Perform double parameter substitution before logging the message of level + * INFO according to the format outlined above. + */ + public void info(String format, Object arg1, Object arg2) { + formatAndLog(LOG_LEVEL_INFO, format, arg1, arg2); + } + + /** + * Perform double parameter substitution before logging the message of level + * INFO according to the format outlined above. + */ + public void info(String format, Object... argArray) { + formatAndLog(LOG_LEVEL_INFO, format, argArray); + } + + /** Log a message of level INFO, including an exception. */ + public void info(String msg, Throwable t) { + log(LOG_LEVEL_INFO, msg, t); + } + + /** Are {@code warn} messages currently enabled? */ + public boolean isWarnEnabled() { + return isLevelEnabled(LOG_LEVEL_WARN); + } + + /** + * A simple implementation which always logs messages of level WARN according + * to the format outlined above. + */ + public void warn(String msg) { + log(LOG_LEVEL_WARN, msg, null); + } + + /** + * Perform single parameter substitution before logging the message of level + * WARN according to the format outlined above. + */ + public void warn(String format, Object arg) { + formatAndLog(LOG_LEVEL_WARN, format, arg, null); + } + + /** + * Perform double parameter substitution before logging the message of level + * WARN according to the format outlined above. + */ + public void warn(String format, Object arg1, Object arg2) { + formatAndLog(LOG_LEVEL_WARN, format, arg1, arg2); + } + + /** + * Perform double parameter substitution before logging the message of level + * WARN according to the format outlined above. + */ + public void warn(String format, Object... argArray) { + formatAndLog(LOG_LEVEL_WARN, format, argArray); + } + + /** Log a message of level WARN, including an exception. */ + public void warn(String msg, Throwable t) { + log(LOG_LEVEL_WARN, msg, t); + } + + /** Are {@code error} messages currently enabled? */ + public boolean isErrorEnabled() { + return isLevelEnabled(LOG_LEVEL_ERROR); + } + + /** + * A simple implementation which always logs messages of level ERROR according + * to the format outlined above. + */ + public void error(String msg) { + log(LOG_LEVEL_ERROR, msg, null); + } + + /** + * Perform single parameter substitution before logging the message of level + * ERROR according to the format outlined above. + */ + public void error(String format, Object arg) { + formatAndLog(LOG_LEVEL_ERROR, format, arg, null); + } + + /** + * Perform double parameter substitution before logging the message of level + * ERROR according to the format outlined above. + */ + public void error(String format, Object arg1, Object arg2) { + formatAndLog(LOG_LEVEL_ERROR, format, arg1, arg2); + } + + /** + * Perform double parameter substitution before logging the message of level + * ERROR according to the format outlined above. + */ + public void error(String format, Object... argArray) { + formatAndLog(LOG_LEVEL_ERROR, format, argArray); + } + + /** Log a message of level ERROR, including an exception. */ + public void error(String msg, Throwable t) { + log(LOG_LEVEL_ERROR, msg, t); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple/src/main/java/org/slf4j/impl/SimpleLoggerFactory.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple/src/main/java/org/slf4j/impl/SimpleLoggerFactory.java new file mode 100644 index 0000000..764bd78 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple/src/main/java/org/slf4j/impl/SimpleLoggerFactory.java @@ -0,0 +1,75 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.impl; + +import java.util.HashMap; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; + +import org.slf4j.Logger; +import org.slf4j.ILoggerFactory; + +/** + * An implementation of {@link ILoggerFactory} which always returns + * {@link SimpleLogger} instances. + * + * @author Ceki Gülcü + */ +public class SimpleLoggerFactory implements ILoggerFactory { + + ConcurrentMap loggerMap; + + public SimpleLoggerFactory() { + loggerMap = new ConcurrentHashMap(); + } + + /** + * Return an appropriate {@link SimpleLogger} instance by name. + */ + public Logger getLogger(String name) { + Logger simpleLogger = loggerMap.get(name); + if (simpleLogger != null) { + return simpleLogger; + } else { + Logger newInstance = new SimpleLogger(name); + Logger oldInstance = loggerMap.putIfAbsent(name, newInstance); + return oldInstance == null ? newInstance : oldInstance; + } + } + + /** + * Clear the internal logger cache. + * + * This method is intended to be called by classes (in the same package) for + * testing purposes. This method is internal. It can be modified, renamed or + * removed at any time without notice. + * + * You are strongly discouraged from calling this method in production code. + */ + void reset() { + loggerMap.clear(); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple/src/main/java/org/slf4j/impl/StaticLoggerBinder.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple/src/main/java/org/slf4j/impl/StaticLoggerBinder.java new file mode 100644 index 0000000..92a995e --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple/src/main/java/org/slf4j/impl/StaticLoggerBinder.java @@ -0,0 +1,82 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.impl; + +import org.slf4j.ILoggerFactory; +import org.slf4j.LoggerFactory; +import org.slf4j.spi.LoggerFactoryBinder; + +/** + * The binding of {@link LoggerFactory} class with an actual instance of + * {@link ILoggerFactory} is performed using information returned by this class. + * + * + * @author Ceki Gülcü + */ +public class StaticLoggerBinder implements LoggerFactoryBinder { + + /** + * The unique instance of this class. + * + */ + private static final StaticLoggerBinder SINGLETON = new StaticLoggerBinder(); + + /** + * Return the singleton of this class. + * + * @return the StaticLoggerBinder singleton + */ + public static final StaticLoggerBinder getSingleton() { + return SINGLETON; + } + + + /** + * Declare the version of the SLF4J API this implementation is compiled + * against. The value of this field is usually modified with each release. + */ + // to avoid constant folding by the compiler, this field must *not* be final + public static String REQUESTED_API_VERSION = "1.6.99"; // !final + + private static final String loggerFactoryClassStr = SimpleLoggerFactory.class.getName(); + + /** + * The ILoggerFactory instance returned by the {@link #getLoggerFactory} + * method should always be the same object + */ + private final ILoggerFactory loggerFactory; + + private StaticLoggerBinder() { + loggerFactory = new SimpleLoggerFactory(); + } + + public ILoggerFactory getLoggerFactory() { + return loggerFactory; + } + + public String getLoggerFactoryClassStr() { + return loggerFactoryClassStr; + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple/src/main/java/org/slf4j/impl/StaticMDCBinder.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple/src/main/java/org/slf4j/impl/StaticMDCBinder.java new file mode 100644 index 0000000..ebdbeba --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple/src/main/java/org/slf4j/impl/StaticMDCBinder.java @@ -0,0 +1,58 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.impl; + +import org.slf4j.helpers.NOPMDCAdapter; +import org.slf4j.spi.MDCAdapter; + + +/** + * This implementation is bound to {@link NOPMDCAdapter}. + * + * @author Ceki Gülcü + */ +public class StaticMDCBinder { + + + /** + * The unique instance of this class. + */ + public static final StaticMDCBinder SINGLETON = new StaticMDCBinder(); + + private StaticMDCBinder() { + } + + /** + * Currently this method always returns an instance of + * {@link StaticMDCBinder}. + */ + public MDCAdapter getMDCA() { + return new NOPMDCAdapter(); + } + + public String getMDCAdapterClassStr() { + return NOPMDCAdapter.class.getName(); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple/src/main/java/org/slf4j/impl/StaticMarkerBinder.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple/src/main/java/org/slf4j/impl/StaticMarkerBinder.java new file mode 100644 index 0000000..dc6cfce --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple/src/main/java/org/slf4j/impl/StaticMarkerBinder.java @@ -0,0 +1,69 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ + +package org.slf4j.impl; + +import org.slf4j.IMarkerFactory; +import org.slf4j.MarkerFactory; +import org.slf4j.helpers.BasicMarkerFactory; +import org.slf4j.spi.MarkerFactoryBinder; + +/** + * + * The binding of {@link MarkerFactory} class with an actual instance of + * {@link IMarkerFactory} is performed using information returned by this class. + * + * @author Ceki Gülcü + */ +public class StaticMarkerBinder implements MarkerFactoryBinder { + + /** + * The unique instance of this class. + */ + public static final StaticMarkerBinder SINGLETON = new StaticMarkerBinder(); + + final IMarkerFactory markerFactory = new BasicMarkerFactory(); + + private StaticMarkerBinder() { + } + + /** + * Currently this method always returns an instance of + * {@link BasicMarkerFactory}. + */ + public IMarkerFactory getMarkerFactory() { + return markerFactory; + } + + /** + * Currently, this method returns the class name of + * {@link BasicMarkerFactory}. + */ + public String getMarkerFactoryClassStr() { + return BasicMarkerFactory.class.getName(); + } + + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple/src/main/resources/META-INF/MANIFEST.MF b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple/src/main/resources/META-INF/MANIFEST.MF new file mode 100644 index 0000000..54c78bd --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple/src/main/resources/META-INF/MANIFEST.MF @@ -0,0 +1,10 @@ +Implementation-Title: slf4j-simple +Bundle-ManifestVersion: 2 +Bundle-SymbolicName: slf4j.simple +Bundle-Name: slf4j-simple +Bundle-Vendor: SLF4J.ORG +Require-Bundle: slf4j.api +Bundle-RequiredExecutionEnvironment: J2SE-1.3 +Export-Package: org.slf4j.impl;version=${parsedVersion.osgiVersion} +Import-Package: org.slf4j;version=${parsedVersion.osgiVersion}, org.slf4j.spi;version=${parsedVersion.osgiVersion}, org.slf4j.helpers;version=${parsedVersion.osgiVersion} +Fragment-Host: slf4j.api \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple/src/test/java/org/slf4j/InvocationTest.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple/src/test/java/org/slf4j/InvocationTest.java new file mode 100644 index 0000000..3712abb --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple/src/test/java/org/slf4j/InvocationTest.java @@ -0,0 +1,134 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j; + +import java.io.PrintStream; + +import junit.framework.TestCase; + + +/** + * Test whether invoking the SLF4J API causes problems or not. + * + * @author Ceki Gulcu + * + */ +public class InvocationTest extends TestCase { + + PrintStream old = System.err; + + public InvocationTest (String arg0) { + super(arg0); + } + + protected void setUp() throws Exception { + super.setUp(); + System.setErr(new SilentPrintStream(old)); + } + + protected void tearDown() throws Exception { + super.tearDown(); + System.setErr(old); + } + + public void test1() { + Logger logger = LoggerFactory.getLogger("test1"); + logger.debug("Hello world."); + } + + public void test2() { + Integer i1 = new Integer(1); + Integer i2 = new Integer(2); + Integer i3 = new Integer(3); + Exception e = new Exception("This is a test exception."); + Logger logger = LoggerFactory.getLogger("test2"); + + logger.debug("Hello world 1."); + logger.debug("Hello world {}", i1); + logger.debug("val={} val={}", i1, i2); + logger.debug("val={} val={} val={}", new Object[]{i1, i2, i3}); + + logger.debug("Hello world 2", e); + logger.info("Hello world 2."); + + + logger.warn("Hello world 3."); + logger.warn("Hello world 3", e); + + + logger.error("Hello world 4."); + logger.error("Hello world {}", new Integer(3)); + logger.error("Hello world 4.", e); + } + + // http://bugzilla.slf4j.org/show_bug.cgi?id=78 + public void testNullParameter_BUG78() { + Logger logger = LoggerFactory.getLogger("testNullParameter_BUG78"); + String[] parameters = null; + String msg = "hello {}"; + logger.info(msg, parameters); + } + + public void testNull() { + Logger logger = LoggerFactory.getLogger("testNull"); + logger.debug(null); + logger.info(null); + logger.warn(null); + logger.error(null); + + Exception e = new Exception("This is a test exception."); + logger.debug(null, e); + logger.info(null, e); + logger.warn(null, e); + logger.error(null, e); + } + + public void testMarker() { + Logger logger = LoggerFactory.getLogger("testMarker"); + Marker blue = MarkerFactory.getMarker("BLUE"); + logger.debug(blue, "hello"); + logger.info(blue, "hello"); + logger.warn(blue, "hello"); + logger.error(blue, "hello"); + + logger.debug(blue, "hello {}", "world"); + logger.info(blue, "hello {}", "world"); + logger.warn(blue, "hello {}", "world"); + logger.error(blue, "hello {}", "world"); + + logger.debug(blue, "hello {} and {} ", "world", "universe"); + logger.info(blue, "hello {} and {} ", "world", "universe"); + logger.warn(blue, "hello {} and {} ", "world", "universe"); + logger.error(blue, "hello {} and {} ", "world", "universe"); + } + + public void testMDC() { + MDC.put("k", "v"); + assertNull(MDC.get("k")); + MDC.remove("k"); + assertNull(MDC.get("k")); + MDC.clear(); + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple/src/test/java/org/slf4j/SilentPrintStream.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple/src/test/java/org/slf4j/SilentPrintStream.java new file mode 100644 index 0000000..abb0cba --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple/src/test/java/org/slf4j/SilentPrintStream.java @@ -0,0 +1,46 @@ +/** + * Copyright (c) 2004-2011 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j; + +import java.io.PrintStream; + +public class SilentPrintStream extends PrintStream { + + PrintStream other; + + public SilentPrintStream(PrintStream ps) { + super(ps); + other = ps; + } + + public void print(String s) { + } + + public void println(String s) { + } + + public void println(Object x) { + } +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple/src/test/java/org/slf4j/impl/SimpleLoggerTest.java b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple/src/test/java/org/slf4j/impl/SimpleLoggerTest.java new file mode 100644 index 0000000..ea34925 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple/src/test/java/org/slf4j/impl/SimpleLoggerTest.java @@ -0,0 +1,77 @@ +/** + * Copyright (c) 2004-2012 QOS.ch + * All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + */ +package org.slf4j.impl; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +import static junit.framework.Assert.assertEquals; +import static junit.framework.Assert.assertNull; + +public class SimpleLoggerTest { + + String A_KEY = SimpleLogger.LOG_KEY_PREFIX+"a"; + + @Before public void before() { + System.setProperty(A_KEY, "info"); + } + + @After public void after() { + System.clearProperty(A_KEY); + } + + @Test + public void emptyLoggerName() { + SimpleLogger simpleLogger = new SimpleLogger("a"); + assertEquals("info", simpleLogger.recursivelyComputeLevelString()); + } + + @Test + public void loggerNameWithNoDots_WithLevel() { + SimpleLogger simpleLogger = new SimpleLogger("a"); + assertEquals("info", simpleLogger.recursivelyComputeLevelString()); + } + + @Test + public void loggerNameWithOneDotShouldInheritFromParent() { + SimpleLogger simpleLogger = new SimpleLogger("a.b"); + assertEquals("info", simpleLogger.recursivelyComputeLevelString()); + } + + + @Test + public void loggerNameWithNoDots_WithNoSetLevel() { + SimpleLogger simpleLogger = new SimpleLogger("x"); + assertNull(simpleLogger.recursivelyComputeLevelString()); + } + + @Test + public void loggerNameWithOneDot_NoSetLevel() { + SimpleLogger simpleLogger = new SimpleLogger("x.y"); + assertNull(simpleLogger.recursivelyComputeLevelString()); + } + +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple/src/test/resources/simplelogger.properties b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple/src/test/resources/simplelogger.properties new file mode 100644 index 0000000..04e3a02 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-simple/src/test/resources/simplelogger.properties @@ -0,0 +1,34 @@ +# SLF4J's SimpleLogger configuration file +# Simple implementation of Logger that sends all enabled log messages, for all defined loggers, to System.err. + +# Default logging detail level for all instances of SimpleLogger. +# Must be one of ("trace", "debug", "info", "warn", or "error"). +# If not specified, defaults to "info". +#org.slf4j.simpleLogger.defaultLog=info + +# Logging detail level for a SimpleLogger instance named "xxxxx". +# Must be one of ("trace", "debug", "info", "warn", or "error"). +# If not specified, the default logging detail level is used. +#org.slf4j.simpleLogger.log.xxxxx= + +# Set to true if you want the current date and time to be included in output messages. +# Default is false, and will output the number of milliseconds elapsed since startup. +#org.slf4j.simpleLogger.showDateTime=false + +# The date and time format to be used in the output messages. +# The pattern describing the date and time format is the same that is used in java.text.SimpleDateFormat. +# If the format is not specified or is invalid, the default format is used. +# The default format is yyyy-MM-dd HH:mm:ss:SSS Z. +#org.slf4j.simpleLogger.dateTimeFormat=yyyy-MM-dd HH:mm:ss:SSS Z + +# Set to true if you want to output the current thread name. +# Defaults to true. +#org.slf4j.simpleLogger.showThreadName=true + +# Set to true if you want the Logger instance name to be included in output messages. +# Defaults to true. +#org.slf4j.simpleLogger.showLogName=true + +# Set to true if you want the last component of the name to be included in output messages. +# Defaults to false. +#org.slf4j.simpleLogger.showShortLogName=false diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/pom.xml b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/pom.xml new file mode 100644 index 0000000..ee93e9d --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/pom.xml @@ -0,0 +1,42 @@ + + + + org.slf4j + slf4j-parent + 1.7.5 + + + 4.0.0 + + org.slf4j + slf4j-site + jar + SLF4J Site + SLF4J Site + http://www.slf4j.org + + + + + src/site/pages + + + ../../../target/site + true + + + + + org.apache.maven.plugins + maven-site-plugin + + ${project.parent.basedir}/target/site + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/images.src/bindings.flw b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/images.src/bindings.flw new file mode 100644 index 0000000..15ca876 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/images.src/bindings.flw differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/images.src/bridging-black.flw b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/images.src/bridging-black.flw new file mode 100644 index 0000000..1552a82 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/images.src/bridging-black.flw differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/images.src/bridging.flw b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/images.src/bridging.flw new file mode 100644 index 0000000..3efbf2b Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/images.src/bridging.flw differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/images.src/concrete-bindings.odg b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/images.src/concrete-bindings.odg new file mode 100644 index 0000000..05d5a97 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/images.src/concrete-bindings.odg differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/images.src/core-bindings.flw b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/images.src/core-bindings.flw new file mode 100644 index 0000000..72333e5 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/images.src/core-bindings.flw differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/images.src/core-bindings1.flw b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/images.src/core-bindings1.flw new file mode 100644 index 0000000..727f54a Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/images.src/core-bindings1.flw differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/images.src/core-bindings2.flw b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/images.src/core-bindings2.flw new file mode 100644 index 0000000..a0fcc28 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/images.src/core-bindings2.flw differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/images.src/core-bindings3.flw b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/images.src/core-bindings3.flw new file mode 100644 index 0000000..d87c403 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/images.src/core-bindings3.flw differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/images.src/legacy.odg b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/images.src/legacy.odg new file mode 100644 index 0000000..bfb75a8 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/images.src/legacy.odg differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/.htaccess b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/.htaccess new file mode 100644 index 0000000..eb903bf --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/.htaccess @@ -0,0 +1 @@ +Redirect permanent /log4j-over-slf4j.html http://www.slf4j.org/legacy.html#log4j-over-slf4j \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/bug-reporting.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/bug-reporting.html new file mode 100644 index 0000000..64cce0d --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/bug-reporting.html @@ -0,0 +1,97 @@ + + + + + + SLF4J Bug reporting + + + + + + +
+ +
+
+ + +

Before you report a bug

+ +

The SLF4J community consists of those who use SLF4J and its + implementations, help answer questions on discussions lists, + contribute documentation and patches, and those who develop and + maintain the code for SLF4J and its implementations. Almost all + those who assist on a day to day basis resolving bug reports do + this for a wide variety of reasons, and almost all of them do this + on their own time. +

+ +

Many bugs reported end up not being a bug in SLF4J, but are due + to misconfiguration, problems caused by installed applications, + the operating system, etc. +

+ +

Before reporting a bug please make every effort to resolve the + problem yourself. Just reporting a bug will not fix it. A good + bug report includes a detailed description of the problem and a + succinct test case which can reproduce the problem. +

+ +

Review the documentation

+ +

Review the documentation for the version of component you are + using. The problem you are having may already be addressed in the + docs. +

+ +

Search the mailing list archives

+ +

It is very likely you are not the first to run into a problem. + Others may have already found a solution. Our various mailing lists are likely to have + discussed this problem before. +

+ +

Search Bugzilla

+ +

Please search the bug database to see if the bug you are seeing + has already been reported. The bug may have already been fixed + and is available in a later version. If someone else has reported + the same bug, you could add supporting information to help + reproduce and resolve the bug. +

+ + +

Reporting with Bugzilla

+ +

Onlly after you have exhausted the aforementioned steps, should + you file a formal report in bugzilla. +

+ +

Please make sure you provide as much information as + possible. Its very hard to fix a bug if the person looking into + the problem can't reproduce it. +

+ + + + + + + + +
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/changes/changes-1.3.txt b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/changes/changes-1.3.txt new file mode 100644 index 0000000..4079765 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/changes/changes-1.3.txt @@ -0,0 +1,45 @@ + +Changes in SLF4J 1.3.0 with respect to 1.2 as reported by the clirr +tool. + +slf4j-api +========= + +INFO: 6000: org.slf4j.Logger: Added public field ROOT_LOGGER_NAME +INFO: 8000: org.slf4j.LoggerFactory: Class org.slf4j.LoggerFactory added +INFO: 8000: org.slf4j.MarkerFactory: Class org.slf4j.MarkerFactory added +INFO: 8000: org.slf4j.helpers.BasicMarker: Class org.slf4j.helpers.BasicMarker added +INFO: 8000: org.slf4j.helpers.BasicMarkerFactory: Class org.slf4j.helpers.BasicMarkerFactory added +INFO: 8000: org.slf4j.helpers.MarkerIgnoringBase: Class org.slf4j.helpers.MarkerIgnoringBase added +INFO: 8000: org.slf4j.helpers.MessageFormatter: Class org.slf4j.helpers.MessageFormatter added +INFO: 8000: org.slf4j.helpers.Util: Class org.slf4j.helpers.Util added +ERROR: 8001: org.slf4j.impl.BasicMarker: Class org.slf4j.impl.BasicMarker removed +ERROR: 8001: org.slf4j.impl.BasicMarkerFactory: Class org.slf4j.impl.BasicMarkerFactory removed +ERROR: 8001: org.slf4j.impl.MarkerIgnoringBase: Class org.slf4j.impl.MarkerIgnoringBase removed +ERROR: 8001: org.slf4j.impl.MessageFormatter: Class org.slf4j.impl.MessageFormatter removed +ERROR: 8001: org.slf4j.impl.Util: Class org.slf4j.impl.Util removed +INFO: 8000: org.slf4j.spi.LocationAwareLogger: Class org.slf4j.spi.LocationAwareLogger added + +slf4j-nop +========= + +ERROR: 8001: org.slf4j.LoggerFactory: Class org.slf4j.LoggerFactory removed +ERROR: 8001: org.slf4j.MarkerFactory: Class org.slf4j.MarkerFactory removed + +slf4j-simple +============ + +ERROR: 8001: org.slf4j.LoggerFactory: Class org.slf4j.LoggerFactory removed +ERROR: 8001: org.slf4j.MarkerFactory: Class org.slf4j.MarkerFactory removed + +slf4j-log4j12 +============= + +ERROR: 8001: org.slf4j.LoggerFactory: Class org.slf4j.LoggerFactory removed +ERROR: 8001: org.slf4j.MarkerFactory: Class org.slf4j.MarkerFactory removed + +slf4j-jdk14 +=========== + +ERROR: 8001: org.slf4j.LoggerFactory: Class org.slf4j.LoggerFactory removed +ERROR: 8001: org.slf4j.MarkerFactory: Class org.slf4j.MarkerFactory removed \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/codes.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/codes.html new file mode 100644 index 0000000..934fa9a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/codes.html @@ -0,0 +1,444 @@ + + + + + SLF4J Error Codes + + + + + + + + + + + + +
+ +
+ + +
+ +
+

SLF4J warning or error messages and their meanings

+ +
+ + +

The method + o.a.commons.logging.impl.SLF4FLogFactory#release was + invoked. +

+ +

Given the structure of the commons-logging API, in particular + as implemented by SLF4J, the + o.a.commons.logging.impl.SLF4FLogFactory#release() + method should never be called. However, depending on the + deployment of commons-logging.jar files in your servlet + container, release() method may be unexpectedly + invoked by a copy of + org.apache.commons.logging.LogFactory class shipping + with commons-logging.jar. +

+ +

This is a relatively common occurrence with recent versions of + Tomcat, especially if you place jcl-over-slf4j.jar in + WEB-INF/lib directory of your web-application instead of + $TOMCAT_HOME/common/lib, where $TOMCAT_HOME stands for + the directory where Tomcat is installed. In order to fully benefit + from the stability offered by jcl-over-slf4j.jar, we + recommend that you place jcl-over-slf4j.jar in + $TOMCAT_HOME/common/lib without placing a copy in your + web-applications. +

+ +

Please also see bug + #22.

+ + + +

Operation + [suchAndSuch] is not supported in jcl-over-slf4j. +

+ +

An UnsuportedOperationException is thrown whenever + one of the protected methods introduced in JCL 1.1 are + invoked. These methods are invoked by LogFactory + implementations shipping with + commons-logging.jar. However, the LogFactory + implemented by jcl-over-slf4j.jar, namely + SLF4FLogFactory, does not call any of these methods. +

+ +

If you observe this problem, then it is highly probable that you + have a copy of commons-logging.jar in your class path + overriding the classes shipping with + jcl-over-slf4j.jar. Note that this issue is very similar + in nature to the warning issued when the + "o.a.commons.logging.impl.SLF4FLogFactory.release()" method is + invoked, discussed in the previous item. +

+ + + +

Failedto load class + org.slf4j.impl.StaticLoggerBinder

+ +

This error is reported when the + org.slf4j.impl.StaticLoggerBinder class could not be + loaded into memory. This happens when no appropriate SLF4J + binding could be found on the class path. Placing one (and only + one) of slf4j-nop.jar, slf4j-simple.jar, + slf4j-log4j12.jar, slf4j-jdk14.jar or + logback-classic.jar on the class path should solve the + problem. +

+ +

since 1.6.0 As of SLF4J version 1.6, in the absence of a binding, SLF4J + will default to a no-operation (NOP) logger implementation. +

+ +

You can download SLF4J bindings from the project download page.

+ + + + + + + +

Multiple bindings + were found on the class path +

+ + +

SLF4J API is desinged to bind with one and only one underlying + logging framework at a time. If more than one binding is present + on the class path, SLF4J will emit a warning, listing the location + of those bindings.

+ +

When multiple bindings are available on the class path, select + one and only one binding you wish to use, and remove the other + bindings. For example, if you have both + slf4j-simple-${version}.jar and + slf4j-nop-${version}.jar on the class path and you wish + to use the nop (no-operation) binding, then remove + slf4j-simple-${version}.jar from the class path. +

+ +

The list of locations that SLF4J provides in this warning + usually provides sufficient information to identify the dependency + transitively pulling in an unwanted SLF4J binding into your + project. In your project's pom.xml file, exclude this SLF4J + binding when declaring the unscrupulous dependency. For example, + cassandra-all version 0.8.1 declares both log4j + and slf4j-log4j12 as compile-time dependencies. Thus, + when you include cassandra-all as a dependency in your + project, the cassandra-all declaration will cause both + slf4j-log4j12.jar and log4j.jar to be pulled in + as dependencies. In case you do not wish to use log4j as the the + SLF4J backend, you can instruct Maven to exclude these two + artifacts as shown next:

+ +
<dependencies>
+  <dependency>
+    <groupId> org.apache.cassandra</groupId>
+    <artifactId>cassandra-all</artifactId>
+    <version>0.8.1</version>
+
+    <exclusions>
+      <exclusion> 
+        <groupId>org.slf4j</groupId>
+        <artifactId>slf4j-log4j12</artifactId>
+      </exclusion>
+      <exclusion> 
+        <groupId>log4j</groupId>
+        <artifactId>log4j</artifactId>
+      </exclusion>
+    </exclusions> 
+
+  </dependency>
+</dependencies>
+ +

Note The warning emitted by + SLF4J is just that, a warning. Even when multiple bindings are + present, SLF4J will pick one logging framework/implementation and + bind with it. The way SLF4J picks a binding is determined by the + JVM and for all practical purposes should be considered random. As + of version 1.6.6, SLF4J will name the framework/implementation + class it is actually bound to.

+ +

Embedded components such as libraries or frameworks should not + declare a dependency on any SLF4J binding but only depend on + slf4j-api. When a library declares a compile-time dependency on a + SLF4J binding, it imposes that binding on the end-user, thus + negating SLF4J's purpose. When you come across an embedded + component declaring a compile-time dependency on any SLF4J binding, + please take the time to contact the authors of said + component/library and kindly ask them to mend their ways.

+ + + +

slf4j-api version + does not match that of the binding

+ +

An SLF4J binding designates an artifact such as + slf4j-jdk14.jar or slf4j-log4j12.jar used to + bind slf4j to an underlying logging framework, say, + java.util.logging and respectively log4j. +

+ +

Mixing mixing different versions of slf4j-api.jar and + SLF4J binding can cause problems. For example, if you are using + slf4j-api-${project.version}.jar, then you should also use + slf4j-simple-${project.version}.jar, using slf4j-simple-1.5.5.jar + will not work.

+ +

Note From the client's + perspective all versions of slf4j-api are compatible. Client code + compiled with slf4j-api-N.jar will run perfectly fine + with slf4j-api-M.jar for any N and M. You only need to + ensure that the version of your binding matches that of the + slf4j-api.jar. You do not have to worry about the version of + slf4j-api.jar used by a given dependency in your project. You + can always use any version of slf4j-api.jar, and as long + as the version of slf4j-api.jar and its binding match, + you should be fine. +

+ +

At initialization time, if SLF4J suspects that there may be a + api vs. binding version mismatch problem, it will emit a warning + about the suspected mismatch. +

+ + + +

Logging factory implementation + cannot be null

+ +

This error is reported when the LoggerFactory + class could not find an appropriate binding. Placing one (and only + one) of slf4j-nop.jar, slf4j-simple.jar, + slf4j-log4j12.jar, slf4j-jdk14.jar or + logback-classic.jar on the class path should prove to be + an effective remedy. +

+ + + +

Detected both + log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, + preempting StackOverflowError. +

+ +

The purpose of slf4j-log4j12 module is to delegate or redirect + calls made to an SLF4J logger to log4j. The purpose of the + log4j-over-slf4j module is to redirect calls made to a log4j + logger to SLF4J. If both slf4j-log4j12.jar and + log4j-over-slf4j.jar are present on the class path, a + StackOverflowError will inevitably occur immediately + after the first invocation of an SLF4J or a log4j logger. +

+ +

Here is how the exception might look like:

+ +
Exception in thread "main" java.lang.StackOverflowError
+  at java.util.Hashtable.containsKey(Hashtable.java:306)
+  at org.apache.log4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:36)
+  at org.apache.log4j.LogManager.getLogger(LogManager.java:39)
+  at org.slf4j.impl.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:73)
+  at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:249)
+  at org.apache.log4j.Category.<init>(Category.java:53)
+  at org.apache.log4j.Logger..<init>(Logger.java:35)
+  at org.apache.log4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:39)
+  at org.apache.log4j.LogManager.getLogger(LogManager.java:39)
+  at org.slf4j.impl.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:73)
+  at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:249)
+  at org.apache.log4j.Category..<init>(Category.java:53)
+  at org.apache.log4j.Logger..<init>(Logger.java:35)
+  at org.apache.log4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:39)
+  at org.apache.log4j.LogManager.getLogger(LogManager.java:39)
+  subsequent lines omitted...
+ +

Since 1.5.11 SLF4J software preempts + the inevitable stack overflow error by throwing an exception with + details about the actual cause of the problem. This is deemed to + be better than leaving the user wondering about the reasons of the + StackOverflowError. +

+ +

For more background on this topic see Bridging legacy APIs. +

+ + + + +

Detected both + jcl-over-slf4j.jar AND slf4j-jcl.jar on the class path, preempting + StackOverflowError. +

+ +

The purpose of slf4j-jcl module is to delegate or redirect + calls made to an SLF4J logger to jakarta commons logging + (JCL). The purpose of the jcl-over-slf4j module is to redirect + calls made to a JCL logger to SLF4J. If both + slf4j-jcl.jar and jcl-over-slf4j.jar are present + on the class path, then a StackOverflowError will + inevitably occur immediately after the first invocation of an + SLF4J or a JCL logger. +

+ +

Here is how the exception might look like:

+ +
Exception in thread "main" java.lang.StackOverflowError
+  at java.lang.String.hashCode(String.java:1482)
+  at java.util.HashMap.get(HashMap.java:300)
+  at org.slf4j.impl.JCLLoggerFactory.getLogger(JCLLoggerFactory.java:67)
+  at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:249)
+  at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
+  at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:289)
+  at org.slf4j.impl.JCLLoggerFactory.getLogger(JCLLoggerFactory.java:69)
+  at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:249)
+  at org.apache.commons.logging.impl.SLF4JLogFactory.getInstance(SLF4JLogFactory.java:155)
+  subsequent lines omitted...
+ + +

Since 1.5.11 SLF4J software preempts + the inevitable stack overflow error by throwing an exception with + details about the actual cause of the problem. This is deemed to + be better than leaving the user wondering about the reasons of the + StackOverflowError. +

+ +

For more background on this topic see Bridging legacy APIs. +

+ + + +

Failed to load + class "org.slf4j.impl.StaticMDCBinder"

+ +

This error indicates that appropriate SLF4J binding could not + be found on the class path. Placing one (and only one) of + slf4j-nop.jar, slf4j-simple.jar, + slf4j-log4j12.jar, slf4j-jdk14.jar or + logback-classic.jar on the class path should solve the + problem. +

+ + + +

MDCAdapter cannot be null +

+ +

This error is reported when org.slf4j.MDC class + has not been initialized correctly. Same cause and remedy as the + previously listed item. +

+ + + +

SLF4J versions 1.4.0 and + later requires log4j 1.2.12 or later

+ +

The trace level was added to log4j in version 1.2.12 released + on August 29, 2005. The trace level was added to the SLF4J API in + version 1.4.0 on May 16th, 2007. Thus, starting with SLF4J 1.4.0, + the log4j binding for SLF4J requires log4j version 1.2.12 or + above. +

+ +

However, as reported in bug 68, in + some environments it may be difficult to upgrade the log4j + version. To accommodate such circumstances, SLF4J's + Log4jLoggerAdapter will map the TRACE level as + DEBUG.

+ + +

Substitute loggers + were created during the default configuration phase of the + underlying logging system

+ +

Highly configurable logging systems such as logback and log4j + may create components which invoke loggers during their own + initialization. See issue lbcore-47 for a + typical occurrence. However, since the binding process with SLF4J + has not yet completed (because the underlying logging system was + not yet completely loaded into memory), it is not possible to + honor such logger creation requests, resulting in a + NullPointerException.

+ +

To avoid this chicken-and-egg problem, SLF4J substitutes a + no-operation logger factory during this initialization + phase. However, the substitute loggers returned during this phase + are not operational. They are nop implementations. +

+ +

If any substitute logger had to be created, SLF4J will emit a + warning listing such nop loggers. This warning is intended to let + you know that you should not expect any logging output from these + loggers. +

+ +

To obtain output from the listed loggers, isolate the + components invoking these loggers and to exclude them from the + default configuration. Once default configuration is finished, + those excluded components can be configured in a second-step + configuration. In principle, both logback and log4j allow + multi-step configuration. For logback, second-step configuration + is described in the + relevant section.. +

+ +

If you are not interested in the output from any of the + substitute loggers, then no action is required on your part.

+ + + + +
+ + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/compatibility.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/compatibility.html new file mode 100644 index 0000000..1af10ea --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/compatibility.html @@ -0,0 +1,269 @@ + + + + + +Compatibility report + + + + + + +
+ +
+ +
+ + +

Compatibility report

+ +

Given the very large user base of SLF4J, we take backward + compatibility very seriously. As such, changes that may cause + incompatibility problems are listed in this page. Moreover, since + slf4j-api.jar is the main entry point into SLF4J, that is the module + that will be covered in most detail. +

+ +

Please note that in many cases incompatibility problems are + caused by mixing different versions of slf4j artifacts. For example, + if you are using slf4j-api-1.5.4.jar you should also use + slf4j-simple-1.5.4.jar, using slf4j-simple-1.4.2.jar will not + work. The same goes for all other SLF4J artifacts. +

+ +

The list is computed using clirr. If you have reasons + to suspect incompatible changes not mentioned here, please kindly + contact the slf4j developers list.

+ +

Version 1.5.7 compared to 1.5.6

+ +

No breaking changes to report.

+ +

Version 1.5.6 compared to 1.5.5

+ + + + + + + + + + + + + + + +
SeverityDescriptionClassMethod / Field
ErrorThe number of parameters of SubstituteLoggerFactory + constructor has changedorg.slf4j.helpers.SubstituteLoggerFactorypublic SubstituteLoggerFactory(java.util.List)
+ +

 

+ +

The SubstituteLoggerFactory class is used internally + by the LoggerFactory class. Changes to the constructor of + SubstituteLoggerFactory should have stricly no affect on users. +

+ +

Version 1.5.5 compared to 1.5.4

+ +

No breaking changes to report.

+ +

Version 1.5.4 compared to 1.5.3

+ +

slf4j-api module, list of breaking changes:

+ + + + + + + + + + + + + + + + + + + + + + +
SeverityDescriptionClassMethod / Field
ErrorMethod 'hasReferences()' has been added to an interfaceorg.slf4j.Markerpublic boolean hasReferences()
InfoMethod 'hasChildren()' was deprecatedorg.slf4j.Markerpublic boolean hasChildren()
+ +

 

+ +

The hasChildren() and other documentation in the + Marker interface was misleading users to think in terms of parent + child relationship for markers. However, as bug 100 + illustrates, associating markers as parents and children is not very + helpful. It is much better to think of markers in terms of abstract + graphs. As such, we now say that a marker contains (zero or more) + references to other markers. +

+ +

This breaking change is justified because it corrects a + conceptual error in the design. Previously, it was all too easy for + developers to get confused and incorrectly link markers + together.

+ +

Version 1.5.3 compared to 1.5.2

+ +

slf4j-api module, list of breaking changes:

+ + + + + + + + + + + + + + + +
SeverityDescriptionClassMethod / Field
ErrorAdded final modifier to classorg.slf4j.helpers.MessageFormatter
+ +

Declaring MessageFormatter class as final should not + affect users, unless they extend this class. However, since this + class is intended to be used internally, very few users should be + affected. +

+ +

Version 1.5.2 compared to 1.5.1

+ +

No breaking changes to report.

+ +

Version 1.5.1 compared to 1.5.0

+ + +

slf4j-api module, list of breaking changes:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SeverityDescriptionClassMethod / Field
ErrorMethod 'getCopyOfContextMap()' has been added to an + interface + org.slf4j.spi.MDCAdapterpublic java.util.Map getCopyOfContextMap()
ErrorMethod 'setContextMap(Map)' has been added to an + interface + org.slf4j.spi.MDCAdapterpublic void setContextMap(java.util.Map)
ErrorMethod 'getDetachedMarker(String)' has been added to an + interface + org.slf4j.IMarkerFactorypublic org.slf4j.Marker getDetachedMarker(java.lang.String)
InfoMethod 'equals(Object)' has been added to an + interface + org.slf4j.Markerpublic boolean equals(java.lang.Object)
infoMethod 'hashCode()' has been added to an + interface + org.slf4j.Markerpublic int hashCode()
+ +

The addition of the getCopyOfContextMap() method in + the MDCAdapter class should only impact users who have + their own implementation of the said interface. Except for bindings + that ship with SLF4J and for logback-classic, which will be + naturally upgraded, there are no known other implementations of + MDCAdapter. In a rare but still possible scenario, if + the user mixes different versions for slf4j-api.jar, say version + 1.5.1. and an SLF4J binding, say slf4j-log4j12.jar version 1.5.0, + then a java.lang.AbstractMethodError will be thrown, + but only if the client code calls the newly added method. In short, although generally speaking the + addition of a method to an interface is a breaking change, we are + confident that no users will be impacted in this particular + case. +

+ +

Similar reasoning applies to the setContextMap(Map) + method.

+ +

The addition of getDetachedMarker(String) method in + the org.slf4j.IMarkerFactory should not impact users as + the only (known) implementation of this interface ships with SLF4J + itself. +

+ +

The equals() and hashCode() methods + were added to the org.slf4j.Marker interface for + documentation purposes. Given that all objects implicitly implement + these methods, their addition should theoretically not break + existing code.

+ + +

Other modules

+ +

No breaking changes to report.

+ + + +

Version 1.5.0 compared to + 1.4.3

+ +

No breaking changes to report.

+ + +

Version 1.4.3 compared to + 1.4.2

+

No breaking changes to report.

+ + +

Version 1.4.2 compared to 1.4.1

+

No breaking changes to report.

+ + +

Version 1.4.1 compared to + 1.4.0

+

No breaking changes to report.

+ +
\ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/css/popup.css b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/css/popup.css new file mode 100644 index 0000000..2b20468 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/css/popup.css @@ -0,0 +1,67 @@ + +/* =========== popup ================== */ +#backgroundPopup { + display:none; + position:fixed; + _position:absolute; /* hack for internet explorer 6*/ + height:100%; + width:100%; + top:0; + left:0; + background:#000000; + border:1px solid #cecece; + z-index:1; +} + +#popupContents { + display:none; + position:fixed; + _position:absolute; /* hack for internet explorer 6*/ + height: 150px; + width: 408px; + background:#FFFFFF; + border: 2px solid #cecece; + z-index:2; + padding-left: 1ex; + font-size:13px; +} + +#popupContents p { + margin: 0px; +} +#popupContents h3 { + margin: 0px; +} + +#popupContactClose { + font-size:14px; + line-height:14px; + right:6px; + top:4px; + position:absolute; + color:#6fa5fd; + font-weight:700; + display:block; +} + +a.popupLink { + background: #FFF; + color: #0079C5; + font-family: "Comic Sans MS", sans-serif; + white-space: nowrap; + font-size: 14px; + font-weight: bold; + + border-top: 2px solid #DDD; + border-left: 2px solid #DDD; + border-right: 2px solid #888; + border-bottom: 2px solid #888; + padding: 0px 1em 0px 1em; + margin: 0px 0px 3px 0px; +} + +a.popupLink:hover { + background: #E0E0EF; + cursor: pointer; +} + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/css/prettify.css b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/css/prettify.css new file mode 100644 index 0000000..290a86a --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/css/prettify.css @@ -0,0 +1,29 @@ +.str{color:#080} +.kwd{color:#008} +.com{color:#800} +.typ{color:#606} +.lit{color:#066} +.pun{color:#660} +.pln{color:#000} +.tag{color:#008} +.atn{color:#606} +.atv{color:#080} +.dec{color:#606} + +pre.prettyprint{ + padding:2px; + border-top: 1px solid #888; border-bottom: 1px solid #888; +} +@media print{.str{color:#060} + +.kwd{ + color:#006;font-weight:bold} + .com{color:#600;font-style:italic +} +.typ{color:#404;font-weight:bold} +.lit{color:#044} +.pun{color:#440} +.pln{color:#000} +.tag{color:#006;font-weight:bold} +.atn{color:#404} +.atv{color:#060}} \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/css/site.css b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/css/site.css new file mode 100644 index 0000000..a4f8ddf --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/css/site.css @@ -0,0 +1,444 @@ +html { + padding:0px; + margin:0px; +} + +body { + background-color: #fff; + font-family: Verdana, Arial, SunSans-Regular, Sans-Serif; + color: #000; + padding:0px; + margin:0px; + font-size: small; +} + +#job img { border:1px solid #DDDDDD; } +#job:hover img { border:1px solid #8888EE; } + +p, h2, pre { + margin: 0px; + padding-top: 5px; + padding-bottom: 5px; + /*padding-left: 1ex;*/ + /*padding: 5px 20px 5px 20px; */ +} + +p.rm { + padding-top: 0px; + padding-bottom: 0px; +} + +a { + color: #4183c4; + /*font-size: smaller;*/ + background-color:transparent; + text-decoration: none; +} + +#content a:hover { + text-decoration: underline; +} + +.source { + border-top: 1px solid #DDDDDD; + border-bottom: 1px solid #DDDDDD; + background:#f5f5f5; + font-family: Courier, "MS Courier New", Prestige, Everson Monocourrier, monospace; + padding-bottom: 0.5ex; + padding-top: 0.5ex; + padding-left: 1ex; + + margin-left: 0ex; + margin-top: 0.5ex; + margin-bottom: 0.5ex; + white-space: pre; + + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +pre { + background-color:transparent; + font-family: Monaco, Andale Mono, Courier New, monospace; +} + +.alignright { + margin-top: 0; + text-align: right; + font-size: 10px; +} + +h1, h2, h3, h4 { + color: #333; +} + +h2 { + padding-top:10px; + background-color: transparent; + font-weight: 900; + font-size: x-large; +} + +h3 { + padding-top: 5px; + background-color: transparent; + font-weight: normal; + font-size: large; +} + +h4 { + padding-top:5px; + background-color: transparent; + font-weight: normal; + font-size: large; +} + +table.footer { + width: 100%; +} + +.footer { + text-align: right; + color: #564b47; + background-color: #fff; + padding:0px; + border-top: 1px solid #CCCCCC; + margin-top: 3ex; + font-size: smaller; +} + + +strong { + /*font-size: 13px;*/ + font-weight: bold; +} + +/* positioning-layers static and absolute */ + +#breadcrumbs { + padding: 3px 10px 3px 10px; + margin: 0px 4px 0px 4px; + font-size: small; + border: 1px solid #CCCCCC; + /*border-bottom: 1px solid #aaa; + /* background-color: #ccc; lime; + border-color: #663300;*/ + background-color: #ffd0a0; + /*max-width: 77em;*/ +} + +#left { + position: absolute; + left: 0px; + width: 15em; + margin: 4px 0px 0px 4px; + padding: 0px; + font-size: 80%; + background-color: #ffffff; +} + +.menuGroup { + border: 1px solid #cccccc; + background-color: #fff8e8; + color: #564b47; + border: 1px solid #cccccc; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +.menuGroup a { + display: block; + width: 95.5%; + margin: 0px; + padding: 2px; + border: solid 1px #fff8e8; + color: #0066cc; + text-decoration: none; +} + +.menuGroup a:hover { + border: solid 1px #FFFFFF; + background-color: #3333CC; + color: #ffffff; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +.pub { + text-align: center; +} + +#left a:hover, #right a:hover { + border: solid 1px #FFFFFF; + background-color: #3333CC; + color: #ffffff; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} + +#left div.jobadd { + font-size: 160%; + color: #fff; + margin: 0px; + padding: 1ex; + + text-align: center; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + + background-image: -ms-linear-gradient(bottom right, #FFBB55 0%, #FF8822 100%); + background-image: -moz-linear-gradient(bottom right, #FFBB55 0%, #FF8822 100%); + background-image: -o-linear-gradient(bottom right, #FFBB55 0%, #FF8822 100%); + background-image: -webkit-gradient(linear, right bottom, left top, color-stop(0, #FFBB55), color-stop(1, #FF8822)); + background-image: -webkit-linear-gradient(bottom right, #FFBB55 0%, #FF8822 100%); + background-image: linear-gradient(to top left, #FFBB55 0%, #FF8822 100%); +} + +#left div.jobadd a, div.jobadd a:hover { + background-color: transparent; + color: #fff; + border-width: 0px; +} + +p.menu_header { + margin: 0px; + padding: 2px; + font-weight: normal; + background-color: #ffd0a0; + border-top: solid 1px #CCCCCC; + border-bottom: solid 1px #CCCCCC; +} + +#content { + margin: 0px 12em 0px 16em; + padding: 0px; + background-color: #ffffff; +} + + +#content img { + border:none; + margin-left: auto; + margin-right: auto; + display: block; +} + +.author { + text-align: left; + font-weight: bold; +} + +.definition { + padding-left: 5px; + padding-right: 5px; + margin: 5px 50px 5px 50px; + text-align: justify; + background-color: #E6E64C; +} + +.deftitle { + font-weight: bold; +} + +.big { + font-size: 130%; +} + +.green { + color: green; +} +.blue { + color: blue; +} + +.red { + color: red; +} + +.bold { + font-weight: bold; +} + +.redBold { + color: red; + font-weight: bold; +} +.greenBold { + color: green; + font-weight: bold; +} + +code { + font-family: Courier, monospace; +} + + +.option { + border: 1px solid black; + font-family: Arial, sans-serif; +} +.highlight { + width: 18em; + float: right; + display: inline; + font-size: 110%; + + border: 2px solid #711; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + background:#FFE0B0; + padding-top: 1ex; + padding-left: 1ex; + padding-right: 1ex; + padding-bottom: 1ex; + margin-left: 1em; + margin-right: 0em; + margin-bottom: 1ex; +} + + +.survey { + font-weight: bolder; + font-size: larger; + + border:1px solid #cccccc; + background:#FFCC99; + padding-left: 1ex; + padding-right: 1ex; +} +/* ========== body table ============ */ +table.bodyTable { + padding: 0px; + margin-left: -2px; + margin-right: -2px; +} + +table.bodyTable th { + color: white; + background-color: #bbb; + font-weight: bold; +} + + +table.bodyTable td { + padding-left: 0.5ex; + padding-bottom: 0.5ex; +} + + +/* apply to tr elements of tables which are both bodytable and dark */ +table[class="bodyTable dark"] tr { + background-color: #ddd; +} + +/* apply to tr elements of tables which are both bodytable and dark */ +table[class="bodyTable properties"] tr { + vertical-align: top; +} + +table.bodyTable tr.a { + background-color: #ddd; +} + +table.bodyTable tr.b { + background-color: #eee; +} + +table.bodyTable tr.alt { + background-color: #eee; +} + +.striped tr:nth-child(odd) td { + background-color: #f9f9f9; +} +.striped td { + background-color: #f0f0f0; +} + +/* EOF =============== bodyTable =============== */ + +.label { + padding: 1px 3px 2px; + font-size: 9.75px; + font-weight: bold; + color: #ffffff; + text-transform: uppercase; + white-space: nowrap; + background-color: #bfbfbf; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} +.label.notice { + background-color: #62cffc; +} + + +/* ------------------------------------ */ + +dt { + border-top: 2px solid #888888; + color: #333; + padding-bottom: 1ex; + padding-top: 1ex; + font-weight: bold; +} +dd { + margin-top: 1ex; + margin-bottom: 1ex; +} + +/* ------------------------------------ */ +.anchor { display:none; } + +h1 .anchor:before {content:url(anchor24.png);} +h2 .anchor:before {content:url(anchor20.png);} +h3 .anchor:before {content:url(anchor16.png);} +h4 .anchor:before {content:url(anchor12.png);} +td .anchor:before {content:url(anchor12.png);} +dt .anchor:before {content:url(anchor12.png);} + +h1:hover .anchor { margin-left: -24px; } +h2:hover .anchor { margin-left: -20px; } +h3:hover .anchor { margin-left: -16px; } +h4:hover .anchor { margin-left: -12px; } +td:hover .anchor { margin-left: -12px; } +dt:hover .anchor { margin-left: -12px; } + +h1:hover .anchor, +h2:hover .anchor, +h3:hover .anchor, +h4:hover .anchor, +td:hover .anchor, +dt:hover .anchor { + display: inline-block; + text-decoration: none; +} + + +/* ------------ twitter botton ------- */ +.twitter_button { + vertical-align: text-bottom; + padding-top: 3px; + padding-right: 16px; + float: left; + height: 18px; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); + white-space: nowrap; + background-color: white; + background-image: -moz-linear-gradient(top, #ffffff, #dedede); + background-image: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#dedede)); + background-image: -ms-linear-gradient(top, #ffffff, #dedede); + background-image: linear-gradient(top, #ffffff, #dedede); + background-image: -o-linear-gradient(top, #ffffff, #dedede); + border: #CCC solid 1px; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/docs.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/docs.html new file mode 100644 index 0000000..18fa5cf --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/docs.html @@ -0,0 +1,160 @@ + + + + + + SLF4J Documentation + + + + + + +
+ + +
+
+ +

Documentation

+ +

Given the small size of SLF4J, its documentation is not very + lengthy.

+ + + +

Articles, blogs & presentations

+ + + + + +

In French

+ + + +

Conferences

+ + + + + + + + + + +
+ Jazoon, June 22-25, 2009 Zurich
+ + Jazoon 2009 + +
+ Devoxx, November 16-20, 2009 Antwerp
+ + Devoxx 2009 + +
+ + + + + +
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/download.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/download.html new file mode 100644 index 0000000..8fd0d87 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/download.html @@ -0,0 +1,115 @@ + + + + + + SLF4J Binary files + + + + + + + + + + + +
+ + +
+ +
+

Would you like to subscribe to the QOS.CH announcements mailing + list?

+ + +

The list is reserved for announcements related to QOS.CH + projects such as cal10n, logback, mistletoe and SLF4J.

+
+ + + + + +
Yes, I'd like to subscribe.No, thanks.
+
+
+ + +
+ +

Latest official SLF4J distribution

+ + +

Download version ${project.version} including full source code, + class files and documentation in ZIP or TAR.GZ format:

+ + + + +

Previous versions

+ +

Previous versions of SLF4J can be downloaded from the main repository. +

+ +

javadoc downloads

+ +

For each slf4j module, the corresponding javadoc artifacts can be + downloaded from the Maven central + repository as javadoc.jar files. +

+ +

Closely related projects

+ +
    +
  • The sysout-over-slf4j + module redirects all calls to System.out and System.err to an + SLF4J defined logger with the name of the fully qualified class in + which the System.out.println (or similar) call was made, at + configurable levels.
  • +
+ +

Additional SLF4J-related software

+ + + + +

+ + + +
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/extensions.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/extensions.html new file mode 100644 index 0000000..7506d5b --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/extensions.html @@ -0,0 +1,886 @@ + + + + + + SLF4J extensions + + + + + + + + +
+ +
+
+ +

SLF4J extensions

+ +

SLF4J extensions are packaged within slf4j-ext.jar + which ships with SLF4J.

+ + + + +

Profilers

+ +

What is a profiler?

+ +

According to wikipedia, profiling + is the investigation of a program's behavior using information + gathered as the program runs, i.e. it is a form of dynamic program + analysis, as opposed to static code analysis. The usual goal of + performance analysis is to determine which parts of a program to + optimize for speed or memory usage. +

+ +

SLF4J profilers, a.k.a. poor man's profilers, will help the + developer gather performance data. Essentially, a profiler + consists of one or more stopwatches. Stopwatches are driven + (started/stopped) by statements in the source code. An + example should make the point clearer. +

+ +

Basic example

+ + + Example: Using the profiler: BasicProfilerDemo + +
[omitted]
+32  public class BasicProfilerDemo {
+33  
+34    public static void main(String[] args) {
+35      // create a profiler called "BASIC"
+36      Profiler profiler = new Profiler("BASIC");
+37      profiler.start("A");
+38      doA();
+39  
+40      profiler.start("B");
+41      doB();
+42      
+43      profiler.start("OTHER");
+44      doOther();
+45      profiler.stop().print();
+46    }
+[omitted]
+ + +

Running the above example will output the following output.

+ +

+ Profiler [BASIC] +|-- elapsed time [A] 220.487 milliseconds. +|-- elapsed time [B] 2499.866 milliseconds. +|-- elapsed time [OTHER] 3300.745 milliseconds. +|-- Total [BASIC] 6022.568 milliseconds.

+ +

Instantiating a profiler starts a global stopwatch. Each call to + the start() method starts a new and named stopwatch. In addition to + starting a named stopwatch, the start() method also causes the + previous stopwatch to stop. Thus, the call to + profiler.start("A") starts a stopwatch named "A". The + subsequent call to profiler.start("B") starts + stopwatch "B" and simultaneously stops the stopwatch named + "A". Invoking the stop() on a profiler stops the last + stopwatch as well as the global stopwatch which was started when + the profiler was instantiated. +

+ + +

Profiler nesting

+ +

Profilers can also be nested. By nesting profilers, it is + possible to measure a task which itself has subtasks that need to + be timed and measured. +

+ +

Starting a nested profiler will stop any previously started + stopwatch or nested profiler associated with the parent profiler. +

+ +

Often times, the subtask is implemented by a different class as + the class hosting the parent profiler. Using the + ProfilerRegistry is a convenient way of passing a + nested profiler to an object outside the current object. Each + thread has its own profiler registry which can be retrieved by + invoking the getThreadContextInstance() method. +

+ + Example: NestedProfilerDemo + + +
33  public class NestedProfilerDemo {
+34    
+35    public static void main(String[] args) {
+36      // create a profiler called "DEMO"
+37      Profiler profiler = new Profiler("DEMO");
+38      
+39      // register this profiler in the thread context's profiler registry
+40      ProfilerRegistry profilerRegistry = ProfilerRegistry.getThreadContextInstance();
+41      profiler.registerWith(profilerRegistry);
+42      
+43      // start a stopwatch called "RANDOM"
+44      profiler.start("RANDOM");
+45      RandomIntegerArrayGenerator riaGenerator = new RandomIntegerArrayGenerator();
+46      int n = 1000*1000;
+47      int[] randomArray = riaGenerator.generate(n);
+48      
+49      // create and start a nested profiler called "SORT_AND_PRUNE"
+50      // By virtue of its parent-child relationship with the "DEMO"
+51      // profiler, and the previous registration of the parent profiler, 
+52      // this nested profiler will be automatically registered
+53      // with the thread context's profiler registry
+54      profiler.startNested(SortAndPruneComposites.NESTED_PROFILER_NAME);
+55      
+56      SortAndPruneComposites pruner = new SortAndPruneComposites(randomArray);
+57      pruner.sortAndPruneComposites();
+58      
+59      // stop and print the "DEMO" printer
+60      profiler.stop().print();
+61    }
+62  }
+ +

Here is the relevant excerpt from the SortAndPruneComposites + class. +

+ +
[omitted]
+6   public class SortAndPruneComposites {
+7   
+8     static String NESTED_PROFILER_NAME = "SORT_AND_PRUNE";
+9     
+10    final int[] originalArray;
+11    final int originalArrrayLength;
+12    
+13    public SortAndPruneComposites(int[] randomArray) {
+14      this.originalArray = randomArray;
+15      this.originalArrrayLength = randomArray.length;
+16     
+17    }
+18    
+19    public int[] sortAndPruneComposites() {
+20      // retrieve previously registered profiler named "SORT_AND_PRUNE"
+21      ProfilerRegistry profilerRegistry = ProfilerRegistry.getThreadContextInstance();
+22      Profiler sortProfiler = profilerRegistry.get(NESTED_PROFILER_NAME);
+23  
+24      // start a new stopwatch called SORT
+25      sortProfiler.start("SORT");
+26      int[] sortedArray = sort();
+27      // start a new stopwatch called PRUNE_COMPOSITES
+28      sortProfiler.start("PRUNE_COMPOSITES");
+29      int result[] = pruneComposites(sortedArray);
+30      
+31      return result;
+32    }
+[omitted] 
+ + +

On a Dual-Core Intel CPU clocked at 3.2 GHz, running the + ProfilerDemo application yields the following output:

+ +

+ Profiler [DEMO] +|-- elapsed time [RANDOM] 70.524 milliseconds. +|---+ Profiler [SORT_AND_PRUNE] + |-- elapsed time [SORT] 665.281 milliseconds. + |-- elapsed time [PRUNE_COMPOSITES] 5695.515 milliseconds. + |-- Subtotal [SORT_AND_PRUNE] 6360.866 milliseconds. +|-- elapsed time [SORT_AND_PRUNE] 6360.866 milliseconds. +|-- Total [DEMO] 6433.922 milliseconds.

+ +

From the above, we learn that generating 1'000'000 random + integers takes 70 ms, sorting them 665 ms, and pruning the composite + (non-prime) integers 5695 ms, for a grand total of 6433 ms. Given + that pruning composites takes most of the CPU effort, any future + optimizations efforts would be directed at the pruning part. +

+ +

With just a few well-placed profiler calls we were able to + identify hot-spots in our application. Also note that passing a + profiler to a target class could be achieved by registering it in a + profiler registry and then retrieving it in the target class. +

+ +

Printing using a logger

+ +

Invoking profiler.print will always print the + output on the console. If you wish to leave the profiler code in + production, then you probably need more control over the output + destination. This can be accomplished by associating a logger of + your choice with a profiler. +

+ +

After you have associated a logger with a profiler, you would + invoke the log() method instead of print() + previously, as the next example illustrates. +

+ + Profiler with a logger: NestedProfilerDemo2 + + +
[omitted]
+17  public class NestedProfilerDemo2 {
+18  
+19    static Logger logger = LoggerFactory.getLogger(NestedProfilerDemo2.class);
+20    
+21    public static void main(String[] args) {
+22      Profiler profiler = new Profiler("DEMO");
+23      // associate a logger with the profiler
+24      profiler.setLogger(logger);
+25      
+26      ProfilerRegistry profilerRegistry = ProfilerRegistry.getThreadContextInstance();
+27      profiler.registerWith(profilerRegistry);
+28      
+29      profiler.start("RANDOM");
+30      RandomIntegerArrayGenerator riaGenerator = new RandomIntegerArrayGenerator();
+31      int n = 10*1000;
+32      int[] randomArray = riaGenerator.generate(n);
+33      
+34      profiler.startNested(SortAndPruneComposites.NESTED_PROFILER_NAME);
+35      
+36      SortAndPruneComposites pruner = new SortAndPruneComposites(randomArray);
+37      pruner.sortAndPruneComposites();
+38      
+39      // stop and log
+40      profiler.stop().log();
+41    }
+42  } 
+ +

The output generated by this example will depend on the logging + environment, but should be very similar to the output generated by + the previous NestedProfilerDemo example. +

+ +

The log() method logs at level DEBUG using a marker named + "PROFILER".

+ +

If your logging system supports markers, e.g. logback, you could + specifically enable or disable output generated by SLF4J + profilers. Here is logback configuration file disabling output for + any logging event bearing the "PROFILER" marker, even if the logger + used by the profiler is enabled for the debug level. +

+ + + logback configuration disabling logging from profilers, and only + profilers + +
<configuration>
+
+  <turboFilter class="ch.qos.logback.classic.turbo.MarkerFilter">
+    <Marker>PROFILER</Marker>
+    <OnMatch>DENY</OnMatch>
+  </turboFilter>
+    
+  <appender name="STDOUT"
+    class="ch.qos.logback.core.ConsoleAppender">
+    <layout class="ch.qos.logback.classic.PatternLayout">
+      <Pattern>%-5level %logger{36} - %msg%n</Pattern>
+    </layout>
+  </appender>
+
+  <root>
+    <level value="DEBUG" />
+    <appender-ref ref="STDOUT" />
+  </root>
+</configuration>  
+ + + + +

MDCStrLookup

+ +

StrLookup is a class defined in Apache Commons Lang. It is used + in conjunction with the StrSubstitutor class to allow Strings to + have tokens in the Strings dynamically replaced at run time. There + are many cases where it is desirable to merge the values for keys + in the SLF4J MDC into Strings. MDCStrLookup makes this possible. +

+

+ Apache Commons Configuration provides a ConfigurationInterpolator + class. This class allows new StrLookups to be registered and the + values can then be used to merge with both the configuration of + Commons Configuration as well as the configuration files it manages. +

+

+ StrLookup obviously has a dependency on Commons Lang. The Maven + pom.xml for slf4j-ext lists this dependency as optional so + that those wishing to use other extensions are not required to + unnecessarily package the commons lang jar. Therefore, when using + MDCStrLookup the dependency for commons-lang must be explicitly + declared along with slf4j-ext. +

+ + + +

Extended Logger

+ +

The XLogger + class provides a few extra logging methods that are quite useful + for following the execution path of applications. These methods + generate logging events that can be filtered separately from other + debug logging. Liberal use of these methods is encouraged as the + output has been found to +

+ +
    +
  • aid in problem diagnosis in development without requiring a + debug session
  • + +
  • aid in problem diagnosis in production where no debugging is + possible
  • + +
  • help educate new deveopers in learning the application.
  • +
+ + +

The two most used methods are the entry() and + exit() methods. entry() should be placed + at the beginning of methods, except perhaps for simple getters and + setters. entry() can be called passing from 0 to 4 + parameters. Typically these will be parameters passed to the + method. The entry() method logs with a level of TRACE + and uses a Marker with a name of "ENTER" which is also + a "FLOW" Marker. +

+ +

The exit() method should be placed before any + return statement or as the last statement of methods without a + return. exit() can be called with or without a + parameter. Typically, methods that return void will use + exit() while methods that return an Object will use + exit(Object obj). The entry() method logs with a + level of TRACE and uses a Marker with a name of "EXIT" which is + also a "FLOW" Marker. +

+ +

The throwing() method can be used by an application when it is + throwing an exception that is unlikely to be handled, such as a + RuntimeExcpetion. This will insure that proper diagnostics are + available if needed. The logging event generated will have a level + of ERROR and will have an associated Marker with a name of + "THROWING" which is also an "EXCEPTION" Marker. +

+ +

The catching() method can be used by an application when it + catches an Exception that it is not going to rethrow, either + explicitly or attached to another Exception. The logging event + generated will have a level of ERROR and will have an associated + Marker with a name of "CATCHING" which is also an "EXCEPTION" + Marker. +

+ +

By using these extended methods applications that standardize on + SLF4J can be assured that they will be able to perform diagnostic + logging in a standardized manner. +

+ +

Note that XLogger instances are obtained to through the + XLoggerFactory + utility class.

+ +

The following example shows a simple application using these + methods in a fairly typcial manner. The throwing() + method is not present since no Exceptions are explicitly thrown and + not handled. +

+ +
package com.test;
+
+import org.slf4j.ext.XLogger;
+import org.slf4j.ext.XLoggerFactory;
+
+import java.util.Random;
+
+public class TestService {
+  private XLogger logger = XLoggerFactory.getXLogger(TestService.class
+      .getName());
+
+  private String[] messages = new String[] { "Hello, World",
+      "Goodbye Cruel World", "You had me at hello" };
+
+  private Random rand = new Random(1);
+
+  public String retrieveMessage() {
+    logger.entry();
+
+    String testMsg = getMessage(getKey());
+
+    logger.exit(testMsg);
+    return testMsg;
+  }
+
+  public void exampleException() {
+    logger.entry();
+    try {
+      String msg = messages[messages.length];
+      logger.error("An exception should have been thrown");
+    } catch (Exception ex) {
+      logger.catching(ex);
+    }
+    logger.exit();
+  }
+
+  public String getMessage(int key) {
+    logger.entry(key);
+
+    String value = messages[key];
+
+    logger.exit(value);
+    return value;
+  }
+
+  private int getKey() {
+    logger.entry();
+    int key = rand.nextInt(messages.length);
+    logger.exit(key);
+    return key;
+  }
+}
+ +

This test application uses the preceding service to generate + logging events. +

+ +
package com.test;
+
+public class App {
+  public static void main( String[] args )    {
+    TestService service = new TestService();
+    service.retrieveMessage();
+    service.retrieveMessage();
+    service.exampleException();
+  }
+} 
+ +

The configuration below will cause all output to be routed to + target/test.log. The pattern for the FileAppender includes the + class name, line number and method name. Including these in the + pattern are critical for the log to be of value. +

+ +
<?xml version='1.0' encoding='UTF-8'?>
+<configuration>
+  <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
+    <filter class="ch.qos.logback.classic.filter.LevelFilter">
+      <level>ERROR</level>
+      <onMatch>ACCEPT</onMatch>
+      <onMismatch>DENY</onMismatch>
+    </filter>
+    <layout class="ch.qos.logback.classic.PatternLayout">
+      <Pattern>%d{HH:mm:ss.SSS} %-5level %class{36}:%L %M - %msg%n</Pattern>
+    </layout>
+  </appender>
+  <appender name="log" class="ch.qos.logback.core.FileAppender">
+    <File>target/test.log</File>
+    <Append>false</Append>
+    <layout class="ch.qos.logback.classic.PatternLayout">
+      <Pattern>%d{HH:mm:ss.SSS} %-5level %class{36}:%L %M - %msg%n</Pattern>
+    </layout>
+  </appender>
+
+  <root>
+    <level value="trace" />
+    <appender-ref ref="log" />
+  </root>
+</configuration>
+
+

+ Here is the output that results from the Java classes and configuration above. +

+

00:07:57.725 TRACE com.test.TestService:22 retrieveMessage - entry +00:07:57.738 TRACE com.test.TestService:57 getKey - entry +00:07:57.739 TRACE com.test.TestService:59 getKey - exit with (0) +00:07:57.741 TRACE com.test.TestService:47 getMessage - entry with (0) +00:07:57.741 TRACE com.test.TestService:51 getMessage - exit with (Hello, World) +00:07:57.742 TRACE com.test.TestService:26 retrieveMessage - exit with (Hello, World) +00:07:57.742 TRACE com.test.TestService:22 retrieveMessage - entry +00:07:57.742 TRACE com.test.TestService:57 getKey - entry +00:07:57.743 TRACE com.test.TestService:59 getKey - exit with (1) +00:07:57.745 TRACE com.test.TestService:47 getMessage - entry with (1) +00:07:57.745 TRACE com.test.TestService:51 getMessage - exit with (Goodbye Cruel World) +00:07:57.746 TRACE com.test.TestService:26 retrieveMessage - exit with (Goodbye Cruel World) +00:07:57.746 TRACE com.test.TestService:32 exampleException - entry +00:07:57.750 ERROR com.test.TestService:40 exampleException - catching +java.lang.ArrayIndexOutOfBoundsException: 3 + at com.test.TestService.exampleException(TestService.java:35) + at com.test.AppTest.testApp(AppTest.java:39) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) + at java.lang.reflect.Method.invoke(Method.java:585) + at junit.framework.TestCase.runTest(TestCase.java:154) + at junit.framework.TestCase.runBare(TestCase.java:127) + at junit.framework.TestResult$1.protect(TestResult.java:106) + at junit.framework.TestResult.runProtected(TestResult.java:124) + at junit.framework.TestResult.run(TestResult.java:109) + at junit.framework.TestCase.run(TestCase.java:118) + at junit.framework.TestSuite.runTest(TestSuite.java:208) + at junit.framework.TestSuite.run(TestSuite.java:203) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) + at java.lang.reflect.Method.invoke(Method.java:585) + at org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:213) + at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140) + at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127) + at org.apache.maven.surefire.Surefire.run(Surefire.java:177) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) + at java.lang.reflect.Method.invoke(Method.java:585) + at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:338) + at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:997) +00:07:57.750 TRACE com.test.TestService:42 exampleException - exit

+ +

Simply changing the root logger level to DEBUG in the example + above will reduce the output considerably. +

+

00:28:06.004 ERROR com.test.TestService:40 exampleException - catching +java.lang.ArrayIndexOutOfBoundsException: 3 + at com.test.TestService.exampleException(TestService.java:35) + at com.test.AppTest.testApp(AppTest.java:39) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) + at java.lang.reflect.Method.invoke(Method.java:585) + at junit.framework.TestCase.runTest(TestCase.java:154) + at junit.framework.TestCase.runBare(TestCase.java:127) + at junit.framework.TestResult$1.protect(TestResult.java:106) + at junit.framework.TestResult.runProtected(TestResult.java:124) + at junit.framework.TestResult.run(TestResult.java:109) + at junit.framework.TestCase.run(TestCase.java:118) + at junit.framework.TestSuite.runTest(TestSuite.java:208) + at junit.framework.TestSuite.run(TestSuite.java:203) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) + at java.lang.reflect.Method.invoke(Method.java:585) + at org.apache.maven.surefire.junit.JUnitTestSet.execute(JUnitTestSet.java:213) + at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140) + at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127) + at org.apache.maven.surefire.Surefire.run(Surefire.java:177) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) + at java.lang.reflect.Method.invoke(Method.java:585) + at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:338) + at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:997)

+ + + +

Event Logging

+ +

The EventLogger class provides a simple mechansim for logging events that occur in an application. + While the EventLogger is useful as a way of initiating events that should be processed by an audit + Logging system, it does not implement any of the features an audit logging system would require + such as guaranteed delivery.

+ +

The recommended way of using the EventLogger in a typical web application is to populate + the SLF4J MDC with data that is related to the entire lifespan of the request such as the user's id, + the user's ip address, the product name, etc. This can easily be done in a servlet fileter where + the MDC can also be cleared at the end of the request. When an event that needs to be recorded + occurs an EventData object should be created and populated. Then call EventLogger.logEvent(data) + where data is a reference to the EventData object.

+ +
import org.slf4j.MDC;
+import org.apache.commons.lang.time.DateUtils;
+
+import javax.servlet.Filter;
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.FilterChain;
+import javax.servlet.http.HttpSession;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.TimeZone;
+
+public class RequestFilter implements Filter
+{
+  private FilterConfig filterConfig;
+  private static String TZ_NAME = "timezoneOffset";
+
+  public void init(FilterConfig filterConfig) throws ServletException {
+    this.filterConfig = filterConfig;
+  }
+
+  /**
+   * Sample filter that populates the MDC on every request.
+   */
+  public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,
+                       FilterChain filterChain) throws IOException, ServletException {
+    HttpServletRequest request = (HttpServletRequest)servletRequest;
+    HttpServletResponse response = (HttpServletResponse)servletResponse;
+    MDC.put("ipAddress", request.getRemoteAddr());
+    HttpSession session = request.getSession(false);
+    TimeZone timeZone = null;
+    if (session != null) {
+      // Something should set this after authentication completes
+      String loginId = (String)session.getAttribute("LoginId");
+      if (loginId != null) {
+        MDC.put("loginId", loginId);
+      }
+      // This assumes there is some javascript on the user's page to create the cookie.
+      if (session.getAttribute(TZ_NAME) == null) {
+        if (request.getCookies() != null) {
+          for (Cookie cookie : request.getCookies()) {
+            if (TZ_NAME.equals(cookie.getName())) {
+              int tzOffsetMinutes = Integer.parseInt(cookie.getValue());
+              timeZone = TimeZone.getTimeZone("GMT");
+              timeZone.setRawOffset((int)(tzOffsetMinutes * DateUtils.MILLIS_PER_MINUTE));
+              request.getSession().setAttribute(TZ_NAME, tzOffsetMinutes);
+              cookie.setMaxAge(0);
+              response.addCookie(cookie);
+            }
+          }
+        }
+      }
+    }
+    MDC.put("hostname", servletRequest.getServerName());
+    MDC.put("productName", filterConfig.getInitParameter("ProductName"));
+    MDC.put("locale", servletRequest.getLocale().getDisplayName());
+    if (timeZone == null) {
+      timeZone = TimeZone.getDefault();
+    }
+    MDC.put("timezone", timeZone.getDisplayName());
+    filterChain.doFilter(servletRequest, servletResponse);
+    MDC.clear();
+  }
+
+  public void destroy() {
+  }
+} 
+ +

Sample class that uses EventLogger.

+
import org.slf4j.ext.EventData;
+import org.slf4j.ext.EventLogger;
+
+import java.util.Date;
+import java.util.UUID;
+
+public class MyApp {
+
+  public String doFundsTransfer(Account toAccount, Account fromAccount, long amount) {
+    toAccount.deposit(amount);
+    fromAccount.withdraw(amount);
+    EventData data = new EventData();
+    data.setEventDateTime(new Date());
+    data.setEventType("transfer");
+    String confirm = UUID.randomUUID().toString();
+    data.setEventId(confirm);
+    data.put("toAccount", toAccount);
+    data.put("fromAccount", fromAccount);
+    data.put("amount", amount);
+    EventLogger.logEvent(data);
+    return confirm;
+  }
+}  
+ +

The EventLogger class uses a Logger named "EventLogger". EventLogger uses a logging level + of INFO. The following shows a configuraton using Logback.

+
<configuration>
+  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+    <layout class="ch.qos.logback.classic.PatternLayout">
+      <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern>
+    </layout>
+  </appender>
+
+  <appender name="events" class="ch.qos.logback.core.ConsoleAppender">
+    <layout class="ch.qos.logback.classic.PatternLayout">
+      <Pattern>%d{HH:mm:ss.SSS} %X - %msg%n</Pattern>
+    </layout>
+  </appender>
+
+  <logger name="EventLogger" additivity="false">
+    <level value="INFO"/>
+    <appender appender-ref="events"/>
+  </logger>
+
+  <root level="DEBUG">
+    <appender-ref ref="STDOUT" />
+  </root>
+
+</configuration>  
+ + + +

Adding logging with Java agent

+ +

NOTE: BETA RELEASE, NOT PRODUCTION QUALITY

+ +

Quickstart for the impatient:

+ +
    +
  1. Use Java 5 or later.
  2. +
  3. Download slf4j-ext-${project.version}.jar and javassist.jar, and put them + both in the same directory.
  4. +
  5. Ensure your application is properly configured with + slf4j-api-${project.version}.jar and a suitable backend.
  6. + +
  7. Instead of "java ..." use "java --javaagent:PATH/slf4j-ext-${project.version}.jar=time,verbose,level=info ..." +
    + (replace PATH with the path to the jar) +
  8. +
  9. That's it!
  10. +
+ +

In some applications logging is used to trace the actual + execution of the application as opposed to log an occasional event. + One approach is using the extended + logger to add statements as appropriately, but another is to use + a tool which modifies compiled bytecode to add these statements! + Many exist, and the one included in slf4j-ext is not intended to + compete with these, but merely provide a quick way to get very basic + trace information from a given application. +

+ +

Java 5 added the Java Instrumentation mechanism, which allows you + to provide "Java agents" that can inspect and modify the byte code + of the classes as they are loaded. This allows the original class + files to remain unchanged, and the transformations done on the byte + codes depend on the needs at launch time. +

+ +

Given the well-known "Hello World" example:

+ +
public class HelloWorld {
+  public static void main(String args[]) {
+    System.out.println("Hello World");
+  }
+}
+ +

a typical transformation would be similar to: (imports omitted)

+ +
public class LoggingHelloWorld {
+  final static Logger _log = LoggerFactory.getLogger(LoggingHelloWorld.class.getName());
+
+  public static void main(String args[]) {
+    if (_log.isInfoEnabled()) {
+      _log.info("> main(args=" + Arrays.asList(args) + ")");
+    }
+    System.out.println("Hello World");
+    if (_log.isInfoEnabled()) {
+      _log.info("< main()");
+    }
+  }
+}
+ +

which in turn produces the following result when run similar to + "java LoggingHelloWorld 1 2 3 4": +

+ +

1 [main] INFO LoggingHelloWorld - > main(args=[1, 2, 3, 4]) +Hello World +1 [main] INFO LoggingHelloWorld - < main()

+ +

The same effect could have been had by using this command (with + the relative path to javassist.jar and + slf4j-ext-${project.version}.jar being ../jars):

+ +

java -javaagent:../jars/slf4j-ext-${project.version}.jar HelloWorld 1 2 3 4

+ +

+ + +

How to use

+

The javaagent may take one or more options separated by comma. The following options + are currently supported:

+ +
+
level=X
+
The log level to use for the generated log statements. X is + one of "info", "debug" or "trace". Default is "info".
+ +
time
+
Print out the current date at program start, and again when + the program ends plus the execution time in milliseconds.
+ +
verbose
+
Print out when a class is processed as part of being loaded
+ +
ignore=X:Y:...
+
(Advanced) Provide full list of colon separated prefixes of + class names NOT to add logging to. The default list is + "org/slf4j/:ch/qos/logback/:org/apache/log4j/". This does not override the fact that a class must be able to access the + slf4j-api classes in order to do logging, so if these classes are not visible to a given class it is not instrumented. +
+
+ + +

Some classes may misbehave when being rendered with "object.toString()" so they may be explicitly disabled + in the logback configuration file permanently. For instance the ToStringBuilder in the Apache Jakarta commons lang + package is a prime candidate for this. For logback add this snippet to logback.xml: +

<logger name="org.apache.commons.lang.builder" level="OFF" />
+

+ + + +

Note: These are not finalized yet, and may change.

+ +

Locations of jar files

+ +

The javassist library is used for the actual byte code + manipulation and must be available to be able to add any logging + statements. slf4j-ext-${project.version} has been configured to + look for the following: +

+ +
    +
  • "javassist-3.4.GA.jar" relatively to + slf4j-ext-${project.version}.jar as would be if Maven had downloaded + both from the repository and slf4j-ext-${project.version}.jar was + referenced directly in the Maven repository in the + "-javaagent"-argument.
  • +
  • "javassist-3.4.GA.jar" in the same directory as slf4j-ext
  • +
  • "javassist.jar" in the same directory as slf4j-ext
  • +
+ +

A warning message is printed if the javassist library was not + found by the agent, and options requiring byte code transformations will not work. +

+ + +

Misc notes

+ +
    +
  • A java agent is not invoked on any classes already loaded by the + class loader.
  • +
  • Exceptions in the java agent that would normally have been + printed, may be silently swallowed by the JVM.
  • +
  • The javaagent only logs to System.err.
  • +
  • The name of the logger variable is fixed (to a value unlikely to be used) so if that + name is already used, a failure occures. This should be changed to determine + an unused name and use that instead.
  • +
  • Empty methods are not instrumented (an incorrect check for an interface). They should be
  • + +
+ +

(The agent is an adaption of the java.util.logging version + described in http://today.java.net/pub/a/today/2008/04/24/add-logging-at-class-load-time-with-instrumentation.html) +

+ + +
+ + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/faq.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/faq.html new file mode 100644 index 0000000..bef02f6 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/faq.html @@ -0,0 +1,1615 @@ + + + + + + SLF4J FAQ + + + + + + + + + + + + +
+ +
+ +
+ +

Frequently Asked Questions about SLF4J

+ +

Generalities

+ +
    +
  1. What is SLF4J?
  2. + +
  3. When should SLF4J be used?
  4. + +
  5. Is SLF4J yet another loggingfacade?
  6. + +
  7. If SLF4J fixes JCL, then why + wasn't the fix made in JCL instead of creating a new project? + +
  8. + +
  9. When using SLF4J, do I have to + recompile my application to switch to a different logging + system? + +
  10. + +
  11. What are SLF4J's requirements?
  12. + +
  13. Are SLF4J versions backward + compatible?
  14. + +
  15. I am getting + IllegalAccessError exceptions when using SLF4J. Why + is that?
  16. + + +
  17. + Why is SLF4J licensed under X11 type + license instead of the Apache Software License? + +
  18. + +
  19. + Where can I get a particular + SLF4J binding? + +
  20. + +
  21. + Should my library attempt to + configure logging? + +
  22. + +
  23. + In order to reduce the number of + dependencies of our software we would like to make SLF4J an + optional dependency. Is that a good idea? + +
  24. + +
  25. + What about Maven transitive + dependencies? + +
  26. + +
  27. + How do I exclude commons-logging as a + Maven dependency? + +
  28. +
+ + + About the SLF4J API + +
    + +
  1. + Why don't the printing methods + in the Logger interface accept message of type Object, but only + messages of type String? + +
  2. + +
  3. + + Can I log an exception without an accompanying message? + +
  4. + + +
  5. + What is the fastest way of + (not) logging? + +
  6. + +
  7. + How can I log the string contents + of a single (possibly complex) object? + +
  8. + + +
  9. Why doesn't the + org.slf4j.Logger interface have methods for the + FATAL level?
  10. + +
  11. Why was the TRACE level introduced only in + SLF4J version 1.4.0?
  12. + +
  13. Does the SLF4J logging API support I18N + (internationalization)?
  14. + + +
  15. Is it possible to retrieve loggers + without going through the static methods in + LoggerFactory?
  16. + +
  17. In the presence of an + exception/throwable, is it possible to parametizere a logging + statement?
  18. + +
+ + + + Implementing the SLF4J API + +
    + +
  1. How do I make my logging + framework SLF4J compatible?
  2. + +
  3. How can my logging system add + support for the Marker interface?
  4. + +
  5. How does SLF4J's version check + mechanism work?
  6. + + +
+ + + General questions about logging + + +
    + +
  1. Should Logger members of a class + be declared as static?
  2. + + +
  3. Is there a recommended idiom + for declaring a loggers in a class?
  4. + +
+ +

Generalities

+ +
+
What is SLF4J?
+
+

SLF4J is a simple facade for logging systems allowing the + end-user to plug-in the desired logging system at deployment + time. +

+
+ +
When should SLF4J be used?
+ +
+

In short, libraries and other embedded components should + consider SLF4J for their logging needs because libraries cannot + afford to impose their choice of logging framework on the + end-user. On the other hand, it does not necessarily make sense + for stand-alone applications to use SLF4J. Stand-alone + applications can invoke the logging framework of their choice + directly. In the case of logback, the question is moot because + logback exposes its logger API via SLF4J. +

+ +

SLF4J is only a facade, meaning that it does not provide a + complete logging solution. Operations such as configuring + appenders or setting logging levels cannot be performed with + SLF4J. Thus, at some point in time, any non-trivial + application will need to directly invoke the underlying + logging system. In other words, complete independence from the + API underlying logging system is not possible for a + stand-alone application. Nevertheless, SLF4J reduces the + impact of this dependence to near-painless levels. +

+ +

Suppose that your CRM application uses log4j for its + logging. However, one of your important clients request that + logging be performed through JDK 1.4 logging. If your + application is riddled with thousands of direct log4j calls, + migration to JDK 1.4 would be a relatively lengthy and + error-prone process. Even worse, you would potentially need to + maintain two versions of your CRM software. Had you been + invoking SLF4J API instead of log4j, the migration could be + completed in a matter of minutes by replacing one jar file with + another. +

+ +

SLF4J lets component developers to defer the choice of the + logging system to the end-user but eventually a choice needs + to be made. +

+ + + +
+ +
Is SLF4J yet + another logging facade?
+ +
+

SLF4J is conceptually very similar to JCL. As such, it can + be thought of as yet another logging facade. However, SLF4J is + much simpler in design and arguably more robust. In a + nutshell, SLF4J avoid the class loader issues that plague JCL. +

+ + + +
+
If SLF4J fixes JCL, + then why wasn't the fix made in JCL instead of creating a new + project? +
+ +
+

This is a very good question. First, SLF4J static binding + approach is very simple, perhaps even laughably so. It was + not easy to convince developers of the validity of that + approach. It is only after SLF4J was released and started to + become accepted did it gain respectability in the relevant + community. +

+ +

Second, SLF4J offers two enhancements which tend to be + underestimated. Parameterized log messages solve an important + problem associated with logging performance, in a pragmatic + way. Marker objects, which are supported by the + org.slf4j.Logger interface, pave the way for + adoption of advanced logging systems and still leave the door + open to switching back to more traditional logging systems if + need be. +

+ + +
+ +
When using SLF4J, do + I have to recompile my application to switch to a different + logging system? +
+ +
+

No, you do not need to recompile your application. You can + switch to a different logging system by removing the previous + SLF4J binding and replacing it with the binding of your choice. +

+ +

For example, if you were using the NOP implementation and + would like to switch to log4j version 1.2, simply replace + slf4j-nop.jar with slf4j-log4j12.jar on + your class path but do not forget to add log4j-1.2.x.jar as + well. Want to switch to JDK 1.4 logging? Just replace + slf4j-log4j12.jar with slf4j-jdk14.jar. +

+ + +
+ +
What are SLF4J's + requirements? +
+ +
+ +

As of version 1.7.0, SLF4J requires JDK 1.5 or later. Earlier + SLF4J versions, namely SLF4J 1.4, 1.5. and 1.6, required JDK + 1.4. +

+ +

 

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BindingRequirements
slf4j-nopJDK 1.5
slf4j-simpleJDK 1.5
slf4j-log4j12JDK 1.5, plus any other library + dependencies required by the log4j appenders in use
slf4j-jdk14JDK 1.5 or later
logback-classicJDK 1.5 or later, plus any other library dependencies + required by the logback appenders in use
+ + +
+ + + + +
Are SLF4J versions + backward compatible? +
+ +
+

From the clients perspective, the SLF4J API is backward + compatible for all versions. This means than you can upgrade + from SLF4J version 1.0 to any later version without + problems. Code compiled with slf4j-api-versionN.jar + will work with slf4j-api-versionM.jar for any versionN + and any versionM. To date, binary compatibility in slf4j-api + has never been broken.

+ +

However, while the SLF4J API is very stable from the client's + perspective, SLF4J bindings, e.g. slf4j-simple.jar or + slf4j-log4j12.jar, may require a specific version of slf4j-api. + Mixing different versions of slf4j artifacts can be problematic + and is strongly discouraged. For instance, if you are using + slf4j-api-1.5.6.jar, then you should also use + slf4j-simple-1.5.6.jar, using slf4j-simple-1.4.2.jar will not + work. +

+ +

At initialization time, if SLF4J suspects that there may be a + version mismatch problem, it emits a warning about the said + mismatch. +

+ + +
+ + + +
I am getting + IllegalAccessError exceptions when using SLF4J. Why + is that? +
+ +
+ +

Here are the exception details.

+ +
Exception in thread "main" java.lang.IllegalAccessError: tried to access field
+org.slf4j.impl.StaticLoggerBinder.SINGLETON from class org.slf4j.LoggerFactory
+   at org.slf4j.LoggerFactory.<clinit>(LoggerFactory.java:60)
+ +

This error is caused by the static initilizer of the + LoggerFactory class attempting to directly access + the SINGLETON field of + org.slf4j.impl.StaticLoggerBinder. While this was + allowed in SLF4J 1.5.5 and earlier, in 1.5.6 and later the + SINGLETON field has been marked as private access. +

+ + +

If you get the exception shown above, then you are using an + older version of slf4j-api, e.g. 1.4.3, with a new version of a + slf4j binding, e.g. 1.5.6. Typically, this occurs when your + Maven pom.ml file incoprporates hibernate 3.3.0 which + declares a dependency on slf4j-api version 1.4.2. If your + pom.xml declares a dependency on an slf4j binding, say + slf4j-log4j12 version 1.5.6, then you will get illegal access + errors. +

+ +

To see which version of slf4j-api is pulled in by Maven, use + the maven dependency plugin as follows.

+ +

mvn dependency:tree

+ +

If you are usig Eclipse, please do not rely on the dependency + tree shown by m2eclipse.

+ +

In your pom.xml file, excplicitly declaring a + dependecy on slf4j-api matching the version of the declared + binding will make the problem go away. +

+ +

Please also read the FAQ entry on backward compatibility for a more + general explanation.

+ + +
+ + + + +
Why is SLF4J licensed under + X11 type license instead of the Apache Software License? +
+ +
+

SLF4J is licensed under a permissive X11 type license + instead of the ASL or the LGPL + because the X11 license is deemed by both the Apache Software + Foundation as well as the Free Software Foundation as + compatible with their respective licenses. +

+ + +
+ + +
Where can I get a + particular SLF4J binding? +
+ +
+ +

SLF4J bindings for SimpleLogger, + NOPLogger, Log4jLoggerAdapter + and JDK14LoggerAdapter + are contained within the files slf4j-nop.jar, + slf4j-simple.jar, slf4j-log4j12.jar, and + slf4j-jdk14.jar. These files ship with the official SLF4J distribution. Please + note that all bindings depend on slf4j-api.jar. +

+ +

The binding for logback-classic ships with the logback + distribution. However, as with all other bindings, the + logback-classic binding requires slf4j-api.jar. +

+ + +
+ +
Should my library + attempt to configure logging? +
+ +
+

Embedded components such as libraries not only do not need + to configure the underlying logging framework, they really + should not do so. They should invoke SLF4J to log but should + let the end-user configure the logging environment. When + embedded components try to configure logging on their own, they + often override the end-user's wishes. At the end of the day, it + is the end-user who has to read the logs and process them. She + should be the person to decide how she wants her logging + configured. +

+ + +
+ + + +
In order to reduce + the number of dependencies of our software we would like to make + SLF4J an optional dependency. Is that a good idea? +
+ +
+

This + question pops up whenever a software project reaches a point + where it needs to devise a logging strategy. +

+ +

Let Wombat be a software library with very few + dependencies. If SLF4J is chosen as Wombat's logging API, then a + new dependency on slf4j-api.jar will be added to + Wombat's list of dependencies. Given that writing a logging + wrapper does not seem that hard, some developers will be tempted + to wrap SLF4J and link with it only if it is already present on + the classpath, making SLF4J an optional dependency of Wombat. In + addition to solving the dependency problem, the wrapper will + isolate Wombat from SLF4J's API ensuring that logging in Wombat + is future-proof. +

+ +

On the other hand, any SLF4J-wrapper by definition depends on + SLF4J. It is bound to have the same general API. If in the + future a new and significantly different logging API comes + along, code that uses the wrapper will be equally difficult to + migrate to the new API as code that used SLF4J directly. Thus, + the wrapper is not likely to future-proof your code, but to make + it more complex by adding an additional indirection on top of + SLF4J, which is an indirection in itself. +

+ +

increased vulnerability It is + actually worse than that. Wrappers will need to depend on + certain internal SLF4J interfaces which change from time to + time, contrary to the client-facing API which never + changes. Thus, wrappers are usually dependent on the major + version they were compiled with. A wrapper compiled against + SLF4J version 1.5.x will not work with SLF4J 1.6 whereas client + code using org.slf4j.Logger, + LoggerFactory, MarkerFactory, + org.slf4j.Marker, and MDC will work + fine with any SLF4J version from version 1.0 and onwards. +

+ +

It is reasonable to assume that in most projects Wombat will + be one dependency among many. If each library had its own + logging wrapper, then each wrapper would presumably need to be + configured separately. Thus, instead of having to deal with one + logging framework, namely SLF4J, the user of Wombat would have + to detail with Wombat's logging wrapper as well. The problem + will be compounded by each framework that comes up with its own + wrapper in order to make SLF4J optional. (Configuring or + dealing with the intricacies of five different logging wrappers + is not exactly exciting nor endearing.) +

+ +

The logging + strategy adopted by the Velocity project is a good example + of the "custom logging abstraction" anti-pattern. By adopting an + independent logging abstraction strategy, Velocity developers + have made life harder for themselves, but more importantly, they + made life harder for their users. +

+ +

Some projects try to detect the presence of SLF4J on the + class path and switch to it if present. While this approach + seems transperent enough, it will result in erroneous location + information. Underlying logging frameworks will print the + location (class name and line number) of the wrapper instead of + the real caller. Then there is the question of API coverage as + SLF4J support MDC and markers in addition to parameterized + logging. While one can come up with a seemingly working + SLF4J-wrapper within hours, many technical issues will emerge + over time which Wombat developers will have to deal with. Note + that SLF4J has evolved over several years and has 260 bug + reports filed against it.

+ +

For the above reasons, developers of frameworks should resist + the temptation to write their own logging wrapper. Not only is + it a waste of time of the developer, it will actually make life + more difficult for the users of said frameworks and make logging + code paradoxically more vulnerable to change. +

+
+ + + + +
What about Maven transitive + dependencies? +
+ +
+

As an author of a library built with Maven, you might want to + test your application using a binding, say slf4j-log4j12 or + logback-classic, without forcing log4j or logback-classic as a + dependency upon your users. This is rather easy to accomplish. +

+ +

Given that your library's code depends on the SLF4J API, you + will need to declare slf4j-api as a compile-time (default scope) + dependency. +

+
<dependency>
+  <groupId>org.slf4j</groupId>
+  <artifactId>slf4j-api</artifactId>
+  <version>${project.version}</version>
+</dependency>
+ +

Limiting the transitivity of the SLF4J binding used in your + tests can be accomplished by declaring the scope of the + SLF4J-binding dependency as "test". Here is an example:

+ +
<dependency>
+  <groupId>org.slf4j</groupId>
+  <artifactId>slf4j-log4j12</artifactId>
+  <version>${project.version}</version>
+  <scope>test</scope>
+</dependency>
+ +

Thus, as far as your users are concerned you are exporting + slf4j-api as a transitive dependency of your library, but not + any SLF4J-binding or any underlying logging system. +

+ +

Note that as of SLF4J version 1.6, in the absence of an SLF4J + binding, slf4j-api will default to a no-operation + implementation. +

+ + + +
+ + +
How do I exclude + commons-logging as a Maven dependency? +
+ +
+

alternative 1) explicit exlusion

+ +

Many software projects using Maven declare commons-logging as + a dependency. Therefore, if you wish to migrate to SLF4J or use + jcl-over-slf4j, you would need to exclude commons-logging in all + of your project's dependencies which transitively depend on + commons-logging. Dependency + exclusion is described in the Maven documentation. Excluding + commons-logging explicitly for multiple dependencies distributed + on several pom.xml files can be a cumbersome and a + relatively error prone process. +

+ +

alternative 2) provided scope

+ +

Commons-logging can be rather simply and conveniently + excluded as a dependency by declaring it in the + provided scope within the pom.xml file of your + project. The actual commons-logging classes would be provided by + jcl-over-slf4j. This translates into the following pom file + snippet:

+ +
<dependency>
+  <groupId>commons-logging</groupId>
+  <artifactId>commons-logging</artifactId>
+  <version>1.1.1</version>
+  <scope>provided</scope>
+</dependency>
+
+<dependency>
+  <groupId>org.slf4j</groupId>
+  <artifactId>jcl-over-slf4j</artifactId>
+  <version>${project.version}</version>
+</dependency>
+ +

The first dependency declaration essentially states that + commons-logging will be "somehow" provided by your + environment. The second decleration includes jcl-over-slf4j into + your project. As jcl-over-slf4j is a perfect binary-compatible + replacement for commons-logging, the first assertion becomes + true. +

+ +

Unfortunately, while declaring commons-logging in the + provided scope gets the job done, your IDE, e.g. Eclipse, will + still place commons-logging.jar on your projet's class + path as seen by your IDE. You would need to make sure that + jcl-over-slf4j.jar is visible before + commons-logging.jar by your IDE. +

+ +

alternative 3) empty artifacts

+ +

An alternative approach is to depend on an empty + commons-logging.jar artifact. This clever approach + first was imagined and initially supported by Erik van + Oosten. +

+ +

The empty artifact is available from a http://version99.qos.ch a + high-availability Maven repository, replicated on several hosts + located in different geographical regions.

+ +

The following decleration adds the version99 repository to + the set of remote repositories searched by Maven. This + repository contains empty artifacts for commons-logging and + log4j. By the way, if you use the version99 repository, please + drop us a line at <version99 AT qos.ch>. +

+ +
<repositories>
+  <repository>
+    <id>version99</id>
+    <!-- highly available repository serving empty artifacts -->
+    <url>http://version99.qos.ch/</url>
+  </repository>
+</repositories>
+ +

Declaring version 99-empty of commons-logging in the + <dependencyManagement> section of your project + will direct all transtive dependencies for commons-logging to + import version 99-empty, thus nicely addressing the + commons-logging exclusion problem. The classes for commons-logging + will be provided by jcl-over-slf4j. The following lines declare + commons-logging version 99-empty (in the dependency management + section) and declare jcl-over-slf4j as a dependency. +

+ +
<dependencyManagement>
+  <dependencies>
+    <dependency>
+      <groupId>commons-logging</groupId>
+      <artifactId>commons-logging</artifactId>
+      <version>99-empty</version>
+    </dependency>
+    ... other declarations...
+  </dependencies>
+</dependencyManagement>
+
+<!-- Do not forget to declare a dependency on jcl-over-slf4j in the        -->
+<!-- dependencies section. Note that the dependency on commons-logging     -->
+<!-- will be imported transitively. You don't have to declare it yourself. -->
+<dependencies>
+  <dependency>
+    <groupId>org.slf4j</groupId>
+    <artifactId>jcl-over-slf4j</artifactId>
+    <version>${project.version}</version>
+  </dependency>
+  ... other dependency declarations
+</dependencies>
+
+ + +
+ + + +
+ + +

About the SLF4J API

+ +
+ +
Why don't the + printing methods in the Logger interface accept message of type + Object, but only messages of type String? +
+ +
+ +

In SLF4J 1.0beta4, the printing methods such as debug(), + info(), warn(), error() in the Logger interface were + modified so as to accept only messages of type String + instead of Object. +

+ +

Thus, the set of printing methods for the DEBUG level + became:

+ +
debug(String msg); 
+debug(String format, Object arg); 
+debug(String format, Object arg1, Object arg2);           
+debug(String msg, Throwable t);
+ +

Previously, the first argument in the above methods was of + type Object.

+ +

This change enforces the notion that logging systems are + about decorating and handling messages of type String, and not + any arbitrary type (Object). +

+ +

Just as importantly, the new set of method signatures offer + a clearer differentiation between the overloaded methods + whereas previously the choice of the invoked method due to + Java overloading rules were not always easy to follow.

+ +

It was also easy to make mistakes. For example, previously + it was legal to write:

+ +
logger.debug(new Exception("some error"));
+ +

Unfortunately, the above call did not print the stack trace + of the exception. Thus, a potentially crucial piece of + information could be lost. When the first parameter is + restricted to be of type String, then only the method +

+ +
debug(String msg, Throwable t);
+ +

can be used to log exceptions. Note that this method + ensures that every logged exception is accompanied with a + descriptive message.

+ + +
+ + + +
Can I log an + exception without an accompanying message? +
+ +
+

In short, no.

+ +

If e is an Exception, and you + would like to log an exception at the ERROR level, you must + add an accompanying message. For example,

+ +
logger.error("some accompanying message", e);
+ +

You might legitimately argue that not all exceptions have a + meaningful message to accompany them. Moreover, a good exception + should already contain a self explanatory description. The + accompanying message may therefore be considered redundant. +

+ + +

While these are valid arguments, there are three opposing + arguments also worth considering. First, on many, albeit not + all occasions, the accompanying message can convey useful + information nicely complementing the description contained + in the exception. Frequently, at the point where the + exception is logged, the developer has access to more + contextual information than at the point where the exception + is thrown. Second, it is not difficult to imagine more or + less generic messages, e.g. "Exception caught", "Exception + follows", that can be used as the first argument for + error(String msg, Throwable t) invocations. + Third, most log output formats display the message on a + line, followed by the exception on a separate line. Thus, + the message line would look inconsistent without a message. +

+ +

In short, if the user were allowed to log an exception + without an accompanying message, it would be the job of the + logging system to invent a message. This is actually what + the throwing(String + sourceClass, String sourceMethod, Throwable thrown) + method in java.util.logging package does. (It decides on its + own that accompanying message is the string "THROW".) +

+ +

It may initially appear strange to require an accompanying + message to log an exception. Nevertheless, this is common + practice in all log4j derived systems such as + java.util.logging, logkit, etc. and of course log4j itself. It + seems that the current consensus considers requiring an + accompanying message as a good a thing (TM). +

+ +
+ + + + +
What is the + fastest way of (not) logging? +
+ +
+

SLF4J supports an advanced feature called parameterized + logging which can significantly boost logging performance for + disabled logging statement.

+ +

For some Logger logger, writing,

+
logger.debug("Entry number: " + i + " is " + String.valueOf(entry[i]));
+ +

incurs the cost of constructing the message parameter, that + is converting both integer i and + entry[i] to a String, and concatenating + intermediate strings. This, regardless of whether the message + will be logged or not. +

+ +

One possible way to avoid the cost of parameter + construction is by surrounding the log statement with a + test. Here is an example.

+ +
if(logger.isDebugEnabled()) {
+  logger.debug("Entry number: " + i + " is " + String.valueOf(entry[i]));
+}
+ + +

This way you will not incur the cost of parameter + construction if debugging is disabled for + logger. On the other hand, if the logger is + enabled for the DEBUG level, you will incur the cost of + evaluating whether the logger is enabled or not, twice: once in + debugEnabled and once in debug. This + is an insignificant overhead because evaluating a logger takes + less than 1% of the time it takes to actually log a statement. +

+ +

Better yet, use parameterized messages

+ +

There exists a very convenient alternative based on message + formats. Assuming entry is an object, you can write: +

+ + +
Object entry = new SomeObject();
+logger.debug("The entry is {}.", entry);
+ +

After evaluating whether to log or not, and only if the + decision is affirmative, will the logger implementation format + the message and replace the '{}' pair with the string value of + entry. In other words, this form does not incur + the cost of parameter construction in case the log statement is + disabled. +

+ +

The following two lines will yield the exact same + output. However, the second form will outperform the first + form by a factor of at least 30, in case of a + disabled logging statement. +

+ +
logger.debug("The new entry is "+entry+".");
+logger.debug("The new entry is {}.", entry);
+ + +

A two + argument variant is also available. For example, you can + write:

+ + +
logger.debug("The new entry is {}. It replaces {}.", entry, oldEntry);
+ +

If three or more arguments need to be passed, you can make + use of the Object... + variant of the printing methods. For example, you can + write:

+ +
logger.debug("Value {} was inserted between {} and {}.", newVal, below, above);
+ +

This form incurs the hidden cost of construction of an + Object[] (object array) which is usually very small. The one and + two argument variants do not incur this hidden cost and exist + solely for this reason (efficiency). The slf4j-api would be + smaller/cleaner with only the Object... variant.

+ + +

Array type arguments, including multi-dimensional arrays, + are also supported.

+ +

SLF4J uses its own message formatting implementation which + differs from that of the Java platform. This is justified by + the fact that SLF4J's implementation performs about 10 times + faster but at the cost of being non-standard and less + flexible. +

+ +

Escaping the "{}" pair

+ +

The "{}" pair is called the formatting anchor. It + serves to designate the location where arguments need to be + substituted within the message pattern. +

+ +

SLF4J only cares about the formatting anchor, that + is the '{' character immediately followed by '}'. Thus, in + case your message contains the '{' or the '}' character, you + do not have to do anything special unless the '}' character + immediately follows '}'. For example, +

+ +
logger.debug("Set {1,2} differs from {}", "3");
+ +

which will print as "Set {1,2} differs from 3".

+ +

You could have even written,

+
logger.debug("Set {1,2} differs from {{}}", "3");
+

which would have printed as "Set {1,2} differs from {3}".

+ +

In the extremely rare case where the the "{}" pair occurs + naturally within your text and you wish to disable the special + meaning of the formatting anchor, then you need to escape the + '{' character with '\', that is the backslash character. Only + the '{' character should be escaped. There is no need to + escape the '}' character. For example, +

+ +
logger.debug("Set \\{} differs from {}", "3");
+ +

will print as "Set {} differs from 3". Note that within + Java code, the backslash cracacter needs to be written as + '\\'.

+ +

In the rare case where the "\{}" occurs naturally in the + message, you can double escape the formatting anchor so that + it retains its original meaning. For example,

+ + +
logger.debug("File name is C:\\\\{}.", "file.zip");
+

will print as "File name is C:\file.zip".

+ +
+ + + +
How can I log the + string contents of a single (possibly complex) object?
+ +
+

In relatively rare cases where the message to be logged + is the string form of an object, then the parameterized + printing method of the appropriate level can be + used. Assuming complexObject is an object of + certain complexity, for a log statement of level DEBUG, you + can write: +

+ +
logger.debug("{}", complexObject);
+ + +

The logging system will invoke + complexObject.toString() method only after it + has ascertained that the log statement was + enabled. Otherwise, the cost of + complexObject.toString() conversion will be + advantageously avoided. +

+ + + +
+ + + + +
Why doesn't the + org.slf4j.Logger interface have methods for the FATAL + level? +
+ +
+

The Marker + interface, part of the org.slf4j package, renders + the FATAL level largely redundant. If a given error requires + attention beyond that allocated for ordinary errors, simply mark + the logging statement with a specially designated marker which + can be named "FATAL" or any other name to your liking. +

+ +

Here is an example,

+ +
import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.slf4j.Marker;
+import org.slf4j.MarkerFactory;
+
+class Bar {
+  void foo() {
+    Marker fatal = MarkerFactory.getMarker("FATAL");
+    Logger logger = LoggerFactory.getLogger("aLogger");
+
+    try {
+      ... obtain a JDBC connection
+    } catch (JDBException e) {
+      logger.error(fatal, "Failed to obtain JDBC connection", e);
+    }
+  }
+}
+ + +

While markers are part of the SLF4J API, only logback + supports markers off the shelf. For example, if you add the + %marker conversion word to its pattern, logback's + PatternLayout will add marker data to its + output. Marker data can be used to filter + messages or even trigger + an outgoing email at + the end of an individual transaction. +

+ +

In combination with logging frameworks such as log4j and + java.util.logging which do not support markers, marker data will + be silently ignored.

+ +

Markers add a new dimension with infinite possible values for + processing log statements compared to five values, namely ERROR, + WARN, INFO, DEBUG and TRACE, allowed by levels. At present time, + only logback supports marker data. However, nothing prevents + other logging frameworks from making use of marker data. +

+ +
+ + +
Why was the TRACE level + introduced only in SLF4J version 1.4.0?
+ +
+ +

The addition of the TRACE level has been frequently and + hotly debated request. By studying various projects, we + observed that the TRACE level was used to disable logging + output from certain classes without needing to + configure logging for those classes. Indeed, the TRACE level + is by default disabled in log4j and logback as well most other + logging systems. The same result can be achieved by adding the + appropriate directives in configuration files. +

+ +

Thus, in many of cases the TRACE level carried the same + semantic meaning as DEBUG. In such cases, the TRACE level + merely saves a few configuration directives. In other, more + interesting occasions, where TRACE carries a different meaning + than DEBUG, Marker + objects can be put to use to convey the desired + meaning. However, if you can't be bothered with markers and + wish to use a logging level lower than DEBUG, the TRACE level + can get the job done. +

+ +

Note that while the cost of evaluating a disabled log + request is in the order of a few nanoseconds, the + use of the TRACE level (or any other level for that matter) is + discouraged in tight loops where the log request might be + evaluated millions of times. If the log request is enabled, + then it will overwhelm the target destination with massive + output. If the request is disabled, it will waste resources. +

+ +

In short, although we still discourage the use of the TRACE + level because alternatives exist or because in many cases log + requests of level TRACE are wasteful, given that people kept + asking for it, we decided to bow to popular demand. +

+ + +
+ + +
Does the SLF4J logging API + support I18N (internationalization)? +
+ +
+

Yes, as of version 1.5.9, SLF4J ships with a package called + org.slf4j.cal10n which adds localized/internationalized logging + support as a thin layer built upon the CAL10N API.

+ + +
+ + + +
Is it possible to + retrieve loggers without going through the static methods in + LoggerFactory? +
+ +
+ +

Yes. LoggerFactory is essentially a wrapper + around an ILoggerFactory + instance. The ILoggerFactory instance in use is + determined according to the static binding conventions of the + SLF4J framework. See the getSingleton() + method in LoggerFactory for details. +

+ +

However, nothing prevents you from using your own + ILoggerFactory instance. Note that you can also + obtain a reference to the ILoggerFactory that the + LoggerFactory class is using by invoking the + LoggerFactory.getILoggerFactory() method. +

+ +

Thus, if SLF4J binding conventions do not fit your needs, or + if you need additional flexibility, then do consider using the + ILoggerFactory interface as an alternative to + inventing your own logging API.

+
+ + + +
In the presence of an + exception/throwable, is it possible to parametizere a logging + statement?
+ + +
+

Yes, as of SLF4J 1.6.0, but not in previous versions. The + SLF4J API supports parametrization in the presence of an + exception, assuming the exception is the last parameter. Thus, +

+
String s = "Hello world";
+try {
+  Integer i = Integer.valueOf(s);
+} catch (NumberFormatException e) {
+  logger.error("Failed to format {}", s, e);
+}
+ +

will print the NumberFormatException with its + stack trace as expected. The java compiler will invoke the error + method taking a String and two Object arguments. SLF4J, in + accordance with the programmer's most probable intention, will + interpret NumberFormatException instance as a + throwable instead of an unused Object parameter. In + SLF4J versions prior to 1.6.0, the + NumberFormatException instance was simply ignored. +

+ +

If the exception is not the last argument, it will be treated + as a plain object and its stack trace will NOT be printed. + However, such situations should not occur in practice. +

+ +
+
+ + + +

Implementing the SLF4J API

+ +
+ + + +
How do I make my + logging framework SLF4J compatible? +
+ + +
+ +

Adding supporting for the SLF4J is surprisingly + easy. Essentially, you coping an existing binding and tailoring + it a little (as explained below) does the trick. +

+ +

Assuming your logging system has notion of a + logger, called say MyLogger, you need to provide + an adapter for MyLogger to + org.slf4j.Logger interface. Refer to slf4j-jcl, + slf4j-jdk14, and slf4j-log4j12 modules for examples of + adapters. +

+ +

Once you have written an appropriate adapter, say + MyLoggerAdapter, you need to provide a factory + class implementing the org.slf4j.ILoggerFactory + interface. This factory should return instances + MyLoggerAdapter. Let MyLoggerFactory + be the name of your factory class. +

+ +

Once you have the adapter, namely + MyLoggerAdapter, and a factory, namely + MyLoggerFactory, the last remaining step is to + modify the StaticLoggerBinder class so that it + returns an new instance of MyLoggerFactory. You + will also need to modify the + loggerFactoryClassStr variable. +

+ +

For Marker or MDC support, you could use the one of the + existing NOP implementations. +

+ +

In summary, to create an SLF4J binding for your logging + system, follow these steps:

+ +
    +
  1. start with a copy of an existing module,
  2. +
  3. create an adapter between your logging system and + org.slf4j.Logger interface +
  4. +
  5. create a factory for the adapter created in the previous step,
  6. +
  7. modify StaticLoggerBinder class to use the + factory you created in the previous step
  8. +
+ + +
+ + + +
How can my logging + system add support for the Marker interface? +
+
+ +

Markers constitute a revolutionary concept which is + supported by logback but not other existing logging + systems. Consequently, SLF4J conforming logging systems are + allowed to ignore marker data passed by the user. +

+ +

However, even though marker data may be ignored, the user + must still be allowed to specify marker data. Otherwise, users + would not be able to switch between logging systems that + support markers and those that do not. +

+ +

The MarkerIgnoringBase class can serve as a + base for adapters or native implementations of logging + systems lacking marker support. In + MarkerIgnoringBase, methods taking marker data + simply invoke the corresponding method without the Marker + argument, discarding any Marker data passed as + argument. Your SLF4J adapters can extend + MarkerIgnoringBase to quickly implement the + methods in org.slf4j.Logger which take a + Marker as the first argument. +

+ + +
+ + + +
How does SLF4J's + version check mechanism work? +
+ +
+

The version check performed by SLF4J API during its + initialization is an elective process. Conforming SLF4J + implementations may choose not to participate, in which + case, no version check will be performed. +

+ +

However, if an SLF4J implementation decides to participate, + than it needs to declare a variable called + REQUESTED_API_VERSION within its copy of the + StaticLoggerBinder class. The value of this + variable should be equal to the version of the slf4j-api.jar + it is compiled with. If the implementation is upgraded to a + newer version of slf4j-api, than you also need to update the + value of REQUESTED_API_VERSION. +

+ +

For each version, SLF4J API maintains a list of compatible + versions. SLF4J will emit a version mismatch warning only if + the requested version is not found in the compatibility + list. So even if your SLF4J binding has a different release + schedule than SLF4J, assuming you update the SLF4J version you + use every 6 to 12 months, you can still participate in the + version check without incurring a mismatch warning. For + example, logback has a different release schedule but still + participates in version checks.

+ +

As of SLF4J 1.5.5, all bindings shipped within the + SLF4J distribution, e.g. slf4j-logj12, slf4j-simple and + slf4j-jdk14, declare the REQUESTED_API_VERSION field with a + value equal to their SLF4J version. It follows that, for example + if slf4j-simple-1.5.8.jar is mixed with slf4j-api-1.6.0.jar, + given that 1.5.8 is not on the compatibility list of SLF4J + version 1.6.x, a version mismatch warning will be issued. +

+ +

Note that SLF4J versions prior to 1.5.5 did not have a + version check mechanism. Only slf4j-api-1.5.5.jar and later can + emit version mismatch warnings. +

+ + +
+ +
+ +

General questions about logging

+ + + +
+ + +
Should Logger members + of a class be declared as static? +
+
+ +

We used to recommend that loggers members be + declared as instance variables instead of static. After further + analysis, we no longer recommend one approach over the + other. +

+ +

Here is a summary of the pros and cons of each approach. +

+ + + + + + + + + + + + + + + + + + + + + + +
Advantages for declaring loggers as staticDisadvantages for declaring loggers as static
+
    +
  1. common and well-established idiom
  2. +
  3. less CPU overhead: loggers are retrieved and + assigned only once, at hosting class + initialization
  4. +
  5. less memory overhead: logger declaration will + consume one reference per class
  6. +
+
+
    +
  1. For libraries shared between applications, not + possible to take advantage of repository selectors. It + should be noted that if the SLF4J binding and the + underlying API ships with each application (not shared + between applications), then each application will still + have its own logging environment. +
  2. +
  3. not IOC-friendly
  4. +
+
Advantages for declaring loggers as instance variablesDisadvantages for declaring loggers as + instance variables
+
    +
  1. Possible to take advantage of repository selectors + even for libraries shared between applications. However, + repository selectors only work if the underlying logging + system is logback-classic. Repository selectors do not + work for the SLF4J+log4j combination. +
  2. +
  3. IOC-friendly
  4. +
+
+
    +
  1. Less common idiom than declaring loggers as static + variables
  2. + +
  3. higher CPU overhead: loggers are retrieved and + assigned for each instance of the hosting class
  4. + +
  5. higher memory overhead: logger declaration will + consume one reference per instance of the hosting class
  6. +
+
+ + +

Explanation

+ +

Static logger members cost a single variable reference for + all instances of the class whereas an instance logger member + will cost a variable reference for every instance of the + class. For simple classes instantiated thousands of times + there might be a noticeable difference. +

+ +

However, more recent logging systems, e.g log4j or logback, + support a distinct logger context for each application running + in the application server. Thus, even if a single copy of + log4j.jar or logback-classic.jar is deployed + in the server, the logging system will be able to differentiate + between applications and offer a distinct logging environment + for each application. +

+ +

More specifically, each time a logger is retrieved by + invoking LoggerFactory.getLogger() method, the + underlying logging system will return an instance appropriate + for the current application. Please note that within the + same application retrieving a logger by a given name + will always return the same logger. For a given name, a + different logger will be returned only for different + applications. +

+ +

If the logger is static, then it will only be retrieved once + when the hosting class is loaded into memory. If the hosting + class is used in only in one application, there is not much to + be concerned about. However, if the hosting class is shared + between several applications, then all instances of the shared + class will log into the context of the application which + happened to first load the shared class into memory - hardly the + behavior expected by the user. +

+ +

Unfortunately, for non-native implementations of the SLF4J + API, namely with slf4j-log4j12, log4j's repository selector will + not be able to do its job properly because slf4j-log4j12, a + non-native SLF4J binding, will store logger instances in a map, + short-circuiting context-dependent logger retrieval. For native + SLF4J implementations, such as logback-classic, repository + selectors will work as expected. +

+ +

The Apache Commons wiki contains an informative + article covering the same question.

+ +

Logger serialization

+ +

Contrary to static variables, instance variables are + serialized by default. As of SLF4J version 1.5.3, logger + instances survive serialization. Thus, serialization of the host + class no longer requires any special action, even when loggers + are declared as instance variables. In previous versions, logger + instances needed to be declared as transient in the + host class.

+ +

Summary

+ +

In summary, declaring logger members as static variables + requires less CPU time and have a slightly smaller memory + footprint. On the other hand, declaring logger members as + instance variables requires more CPU time and have a slighlty + higher memory overhead. However, instance variables make it + possible to create a distinct logger environment for each + application, even for loggers declared in shared + libraries. Perhaps more important than previously mentioned + considerations, instance variables are IOC-friendly whereas + static variables are not. +

+ +

See also related + discussion in the commons-logging wiki. +

+ +
+
+ + +
+
Is there a + recommended idiom for declaring a logger in a class? +
+ +
+

The following is the recommended logger declaration + idiom. For reasons explained + above, it is left to the user to determine whether loggers + are declared as static variables or not.

+ +
package some.package;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+      
+public class MyClass {
+  final (static) Logger logger = LoggerFactory.getLogger(MyClass.class);
+  ... etc
+}
+ +

Unfortunately, give that the name of the hosting class is + part of the logger declaration, the above logger declaration + idiom is not is not resistant to cut-and-pasting + between classes. +

+
+
+ + +
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/inde_base.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/inde_base.html new file mode 100644 index 0000000..2addd7b --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/inde_base.html @@ -0,0 +1,28 @@ + + + + +SLF4J + + + + + + +
+ +
+ +
+ + + + + +
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/index.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/index.html new file mode 100644 index 0000000..75a6933 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/index.html @@ -0,0 +1,170 @@ + + + + + + SLF4J + + + + + + + +
+ + +
+ +
+ + +

Simple Logging Facade for Java (SLF4J)

+ +

The Simple Logging Facade for Java or (SLF4J) serves as a simple + facade or abstraction for various logging frameworks, e.g. + java.util.logging, log4j and logback, allowing the end user to plug + in the desired logging framework at deployment + time.

+ +

Before you start using SLF4J, we highly recommend that you read + the two-page SLF4J user manual. +

+ +

Note that SLF4J-enabling your library implies the addition of + only a single mandatory dependency, namely slf4j-api.jar. + If no binding is found on the class path, then SLF4J will default to + a no-operation implementation. +

+ +

In case you wish to migrate your Java source files to SLF4J, + consider our migrator tool which can + migrate your project into SLF4J in minutes.

+ +

In case an externally-maintained component you depend on uses a + logging API other than SLF4J, such as commons logging, log4j or + java.util.logging, have a look at SLF4J's binary-support for legacy APIs. +

+ +

Projects depending on SLF4J

+ +

Here is a non-exhaustive list of projects known to depend on + SLF4J, in alphabetical order: +

+ + + + + + + + + + + + + + + + + + + +
+ + + + + + +
+ + + + + +
+ + +
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/js/decorator.js b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/js/decorator.js new file mode 100644 index 0000000..362712e --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/js/decorator.js @@ -0,0 +1,101 @@ + + +//

Logger context

+ +function decorate() { + var anchor = findAnchorInURL(document.URL); + decoratePropertiesInTables(anchor); + decorateDoAnchor(anchor); + decorateConversionWordInTables(anchor); +} + +// ---------------------------------------------- +function findAnchorInURL(url) { + + if(url == null) return null + var index = url.lastIndexOf("#"); + if(index != -1 && (index+1) < url.length) + return url.substr(index+1); + else + return null; +} + +// ---------------------------------------------- +function decoratePropertiesInTables(anchor) { + + //if(1==1) return; + var elems = $('tr td:first-child span.prop'); + + for(var i = 0; i < elems.length; i++) { + var e = elems[i]; + var p = e.parentNode; + if(p == null) continue; + + var tmpHTML = p.innerHTML; + var propName = e.innerHTML; + var nameAttr = $(e).attr('name') + + if(nameAttr == null) { + var containerAttr = $(e).attr('container') + if(containerAttr != null) + nameAttr = containerAttr+capitaliseFirstLetter(propName); + else + nameAttr = propName; + } + + p.innerHTML = "" +tmpHTML +""; + scrollIfMatch(p, nameAttr, anchor); + } // for +} + +function decorateConversionWordInTables(anchor) { + var elems = $('tr td.word'); + for(var i = 0; i < elems.length; i++) { + var e = elems[i]; + var tmpHTML = e.innerHTML; + var nameAttr = $(e).attr('name') + if(nameAttr == null) + continue; + e.innerHTML = "" +tmpHTML; + scrollIfMatch(e, nameAttr, anchor); + } +} + + +function decorateDoAnchor(anchor) { + var elems = $('.doAnchor'); + for(var i = 0; i < elems.length; i++) { + var e = elems[i]; + var tmpHTML = e.innerHTML; + var nameAttr = $(e).attr('name') + if(nameAttr == null) { + nameAttr = camelCase($.trim(tmpHTML)) + } + e.innerHTML = "" +tmpHTML; + scrollIfMatch(e, nameAttr, anchor); + } +} + +function scrollIfMatch(element, nameAttr, anchor) { + if(anchor != null && nameAttr.toString() == anchor) + element.scrollIntoView(true); + + +} + +function capitaliseFirstLetter(str) { + return str.charAt(0).toUpperCase() + str.slice(1); +} + + +function camelCase(str) { + var res = str.trim().replace(/\s\w/g, function(match) { + return match.trim().toUpperCase(); + }); + return res; +} + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/js/jquery-min.js b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/js/jquery-min.js new file mode 100644 index 0000000..16ad06c --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/js/jquery-min.js @@ -0,0 +1,4 @@ +/*! jQuery v1.7.2 jquery.com | jquery.org/license */ +(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cu(a){if(!cj[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),b.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write((f.support.boxModel?"":"")+""),cl.close();d=cl.createElement(a),cl.body.appendChild(d),e=f.css(d,"display"),b.removeChild(ck)}cj[a]=e}return cj[a]}function ct(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function cs(){cq=b}function cr(){setTimeout(cs,0);return cq=f.now()}function ci(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ch(){try{return new a.XMLHttpRequest}catch(b){}}function cb(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){if(c!=="border")for(;e=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?+d:j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.2",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){if(typeof c!="string"||!c)return null;var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c
a",d=p.getElementsByTagName("*"),e=p.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=p.getElementsByTagName("input")[0],b={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:p.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,pixelMargin:!0},f.boxModel=b.boxModel=c.compatMode==="CSS1Compat",i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete p.test}catch(r){b.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",function(){b.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),i.setAttribute("name","t"),p.appendChild(i),j=c.createDocumentFragment(),j.appendChild(p.lastChild),b.checkClone=j.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,j.removeChild(i),j.appendChild(p);if(p.attachEvent)for(n in{submit:1,change:1,focusin:1})m="on"+n,o=m in p,o||(p.setAttribute(m,"return;"),o=typeof p[m]=="function"),b[n+"Bubbles"]=o;j.removeChild(p),j=g=h=p=i=null,f(function(){var d,e,g,h,i,j,l,m,n,q,r,s,t,u=c.getElementsByTagName("body")[0];!u||(m=1,t="padding:0;margin:0;border:",r="position:absolute;top:0;left:0;width:1px;height:1px;",s=t+"0;visibility:hidden;",n="style='"+r+t+"5px solid #000;",q="
"+""+"
",d=c.createElement("div"),d.style.cssText=s+"width:0;height:0;position:static;top:0;margin-top:"+m+"px",u.insertBefore(d,u.firstChild),p=c.createElement("div"),d.appendChild(p),p.innerHTML="
t
",k=p.getElementsByTagName("td"),o=k[0].offsetHeight===0,k[0].style.display="",k[1].style.display="none",b.reliableHiddenOffsets=o&&k[0].offsetHeight===0,a.getComputedStyle&&(p.innerHTML="",l=c.createElement("div"),l.style.width="0",l.style.marginRight="0",p.style.width="2px",p.appendChild(l),b.reliableMarginRight=(parseInt((a.getComputedStyle(l,null)||{marginRight:0}).marginRight,10)||0)===0),typeof p.style.zoom!="undefined"&&(p.innerHTML="",p.style.width=p.style.padding="1px",p.style.border=0,p.style.overflow="hidden",p.style.display="inline",p.style.zoom=1,b.inlineBlockNeedsLayout=p.offsetWidth===3,p.style.display="block",p.style.overflow="visible",p.innerHTML="
",b.shrinkWrapBlocks=p.offsetWidth!==3),p.style.cssText=r+s,p.innerHTML=q,e=p.firstChild,g=e.firstChild,i=e.nextSibling.firstChild.firstChild,j={doesNotAddBorder:g.offsetTop!==5,doesAddBorderForTableAndCells:i.offsetTop===5},g.style.position="fixed",g.style.top="20px",j.fixedPosition=g.offsetTop===20||g.offsetTop===15,g.style.position=g.style.top="",e.style.overflow="hidden",e.style.position="relative",j.subtractsBorderForOverflowNotVisible=g.offsetTop===-5,j.doesNotIncludeMarginInBodyOffset=u.offsetTop!==m,a.getComputedStyle&&(p.style.marginTop="1%",b.pixelMargin=(a.getComputedStyle(p,null)||{marginTop:0}).marginTop!=="1%"),typeof d.style.zoom!="undefined"&&(d.style.zoom=1),u.removeChild(d),l=p=d=null,f.extend(b,j))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e1,null,!1)},removeData:function(a){return this.each(function(){f.removeData(this,a)})}}),f.extend({_mark:function(a,b){a&&(b=(b||"fx")+"mark",f._data(a,b,(f._data(a,b)||0)+1))},_unmark:function(a,b,c){a!==!0&&(c=b,b=a,a=!1);if(b){c=c||"fx";var d=c+"mark",e=a?0:(f._data(b,d)||1)-1;e?f._data(b,d,e):(f.removeData(b,d,!0),n(b,c,"mark"))}},queue:function(a,b,c){var d;if(a){b=(b||"fx")+"queue",d=f._data(a,b),c&&(!d||f.isArray(c)?d=f._data(a,b,f.makeArray(c)):d.push(c));return d||[]}},dequeue:function(a,b){b=b||"fx";var c=f.queue(a,b),d=c.shift(),e={};d==="inprogress"&&(d=c.shift()),d&&(b==="fx"&&c.unshift("inprogress"),f._data(a,b+".run",e),d.call(a,function(){f.dequeue(a,b)},e)),c.length||(f.removeData(a,b+"queue "+b+".run",!0),n(a,b,"queue"))}}),f.fn.extend({queue:function(a,c){var d=2;typeof a!="string"&&(c=a,a="fx",d--);if(arguments.length1)},removeAttr:function(a){return this.each(function(){f.removeAttr(this,a)})},prop:function(a,b){return f.access(this,f.prop,a,b,arguments.length>1)},removeProp:function(a){a=f.propFix[a]||a;return this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,g,h,i;if(f.isFunction(a))return this.each(function(b){f(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(p);for(c=0,d=this.length;c-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.type]||f.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.type]||f.valHooks[g.nodeName.toLowerCase()];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h,i=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;i=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/(?:^|\s)hover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function( +a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")};f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler,g=p.selector),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;le&&j.push({elem:this,matches:d.slice(e)});for(k=0;k0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));o.match.globalPOS=p;var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/]","i"),bd=/checked\s*(?:[^=]|=\s*.checked.)/i,be=/\/(java|ecma)script/i,bf=/^\s*",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div
","
"]),f.fn.extend({text:function(a){return f.access(this,function(a){return a===b?f.text(this):this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f +.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){return f.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>");try{for(;d1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||f.isXMLDoc(a)||!bc.test("<"+a.nodeName+">")?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g,h,i,j=[];b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);for(var k=0,l;(l=a[k])!=null;k++){typeof l=="number"&&(l+="");if(!l)continue;if(typeof l=="string")if(!_.test(l))l=b.createTextNode(l);else{l=l.replace(Y,"<$1>");var m=(Z.exec(l)||["",""])[1].toLowerCase(),n=bg[m]||bg._default,o=n[0],p=b.createElement("div"),q=bh.childNodes,r;b===c?bh.appendChild(p):U(b).appendChild(p),p.innerHTML=n[1]+l+n[2];while(o--)p=p.lastChild;if(!f.support.tbody){var s=$.test(l),t=m==="table"&&!s?p.firstChild&&p.firstChild.childNodes:n[1]===""&&!s?p.childNodes:[];for(i=t.length-1;i>=0;--i)f.nodeName(t[i],"tbody")&&!t[i].childNodes.length&&t[i].parentNode.removeChild(t[i])}!f.support.leadingWhitespace&&X.test(l)&&p.insertBefore(b.createTextNode(X.exec(l)[0]),p.firstChild),l=p.childNodes,p&&(p.parentNode.removeChild(p),q.length>0&&(r=q[q.length-1],r&&r.parentNode&&r.parentNode.removeChild(r)))}var u;if(!f.support.appendChecked)if(l[0]&&typeof (u=l.length)=="number")for(i=0;i1)},f.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=by(a,"opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":f.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!!a&&a.nodeType!==3&&a.nodeType!==8&&!!a.style){var g,h,i=f.camelCase(c),j=a.style,k=f.cssHooks[i];c=f.cssProps[i]||i;if(d===b){if(k&&"get"in k&&(g=k.get(a,!1,e))!==b)return g;return j[c]}h=typeof d,h==="string"&&(g=bu.exec(d))&&(d=+(g[1]+1)*+g[2]+parseFloat(f.css(a,c)),h="number");if(d==null||h==="number"&&isNaN(d))return;h==="number"&&!f.cssNumber[i]&&(d+="px");if(!k||!("set"in k)||(d=k.set(a,d))!==b)try{j[c]=d}catch(l){}}},css:function(a,c,d){var e,g;c=f.camelCase(c),g=f.cssHooks[c],c=f.cssProps[c]||c,c==="cssFloat"&&(c="float");if(g&&"get"in g&&(e=g.get(a,!0,d))!==b)return e;if(by)return by(a,c)},swap:function(a,b,c){var d={},e,f;for(f in b)d[f]=a.style[f],a.style[f]=b[f];e=c.call(a);for(f in b)a.style[f]=d[f];return e}}),f.curCSS=f.css,c.defaultView&&c.defaultView.getComputedStyle&&(bz=function(a,b){var c,d,e,g,h=a.style;b=b.replace(br,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b))),!f.support.pixelMargin&&e&&bv.test(b)&&bt.test(c)&&(g=h.width,h.width=c,c=e.width,h.width=g);return c}),c.documentElement.currentStyle&&(bA=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f==null&&g&&(e=g[b])&&(f=e),bt.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),by=bz||bA,f.each(["height","width"],function(a,b){f.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth!==0?bB(a,b,d):f.swap(a,bw,function(){return bB(a,b,d)})},set:function(a,b){return bs.test(b)?b+"px":b}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return bq.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bp,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bp.test(g)?g.replace(bp,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){return f.swap(a,{display:"inline-block"},function(){return b?by(a,"margin-right"):a.style.marginRight})}})}),f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)}),f.each({margin:"",padding:"",border:"Width"},function(a,b){f.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bx[d]+b]=e[d]||e[d-2]||e[0];return f}}});var bC=/%20/g,bD=/\[\]$/,bE=/\r?\n/g,bF=/#.*$/,bG=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bH=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bI=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bJ=/^(?:GET|HEAD)$/,bK=/^\/\//,bL=/\?/,bM=/)<[^<]*)*<\/script>/gi,bN=/^(?:select|textarea)/i,bO=/\s+/,bP=/([?&])_=[^&]*/,bQ=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bR=f.fn.load,bS={},bT={},bU,bV,bW=["*/"]+["*"];try{bU=e.href}catch(bX){bU=c.createElement("a"),bU.href="",bU=bU.href}bV=bQ.exec(bU.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bR)return bR.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
").append(c.replace(bM,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bN.test(this.nodeName)||bH.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bE,"\r\n")}}):{name:b.name,value:c.replace(bE,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b$(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b$(a,b);return a},ajaxSettings:{url:bU,isLocal:bI.test(bV[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bW},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bY(bS),ajaxTransport:bY(bT),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?ca(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cb(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bG.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bF,"").replace(bK,bV[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bO),d.crossDomain==null&&(r=bQ.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bV[1]&&r[2]==bV[2]&&(r[3]||(r[1]==="http:"?80:443))==(bV[3]||(bV[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),bZ(bS,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bJ.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bL.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bP,"$1_="+x);d.url=y+(y===d.url?(bL.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bW+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=bZ(bT,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)b_(g,a[g],c,e);return d.join("&").replace(bC,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cc=f.now(),cd=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cc++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=typeof b.data=="string"&&/^application\/x\-www\-form\-urlencoded/.test(b.contentType);if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(cd.test(b.url)||e&&cd.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(cd,l),b.url===j&&(e&&(k=k.replace(cd,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var ce=a.ActiveXObject?function(){for(var a in cg)cg[a](0,1)}:!1,cf=0,cg;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ch()||ci()}:ch,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,ce&&delete cg[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n);try{m.text=h.responseText}catch(a){}try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cf,ce&&(cg||(cg={},f(a).unload(ce)),cg[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var cj={},ck,cl,cm=/^(?:toggle|show|hide)$/,cn=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,co,cp=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cq;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(ct("show",3),a,b,c);for(var g=0,h=this.length;g=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);f.fn[a]=function(e){return f.access(this,function(a,e,g){var h=cy(a);if(g===b)return h?c in h?h[c]:f.support.boxModel&&h.document.documentElement[e]||h.document.body[e]:a[e];h?h.scrollTo(d?f(h).scrollLeft():g,d?g:f(h).scrollTop()):a[e]=g},a,e,arguments.length,null)}}),f.each({Height:"height",Width:"width"},function(a,c){var d="client"+a,e="scroll"+a,g="offset"+a;f.fn["inner"+a]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,c,"padding")):this[c]():null},f.fn["outer"+a]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,c,a?"margin":"border")):this[c]():null},f.fn[c]=function(a){return f.access(this,function(a,c,h){var i,j,k,l;if(f.isWindow(a)){i=a.document,j=i.documentElement[d];return f.support.boxModel&&j||i.body&&i.body[d]||j}if(a.nodeType===9){i=a.documentElement;if(i[d]>=i[e])return i[d];return Math.max(a.body[e],i[e],a.body[g],i[g])}if(h===b){k=f.css(a,c),l=parseFloat(k);return f.isNumeric(l)?l:k}f(a).css(c,h)},c,a,arguments.length,null)}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window); \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/js/jquery.cookies.2.2.0.js b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/js/jquery.cookies.2.2.0.js new file mode 100644 index 0000000..c6dec07 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/js/jquery.cookies.2.2.0.js @@ -0,0 +1,450 @@ +/** + * Copyright (c) 2005 - 2010, James Auldridge + * All rights reserved. + * + * Licensed under the BSD, MIT, and GPL (your choice!) Licenses: + * http://code.google.com/p/cookies/wiki/License + * + */ +var jaaulde = window.jaaulde || {}; +jaaulde.utils = jaaulde.utils || {}; +jaaulde.utils.cookies = ( function() +{ + var resolveOptions, assembleOptionsString, parseCookies, constructor, defaultOptions = { + expiresAt: null, + path: '/', + domain: null, + secure: false + }; + /** + * resolveOptions - receive an options object and ensure all options are present and valid, replacing with defaults where necessary + * + * @access private + * @static + * @parameter Object options - optional options to start with + * @return Object complete and valid options object + */ + resolveOptions = function( options ) + { + var returnValue, expireDate; + + if( typeof options !== 'object' || options === null ) + { + returnValue = defaultOptions; + } + else + { + returnValue = { + expiresAt: defaultOptions.expiresAt, + path: defaultOptions.path, + domain: defaultOptions.domain, + secure: defaultOptions.secure + }; + + if( typeof options.expiresAt === 'object' && options.expiresAt instanceof Date ) + { + returnValue.expiresAt = options.expiresAt; + } + else if( typeof options.hoursToLive === 'number' && options.hoursToLive !== 0 ) + { + expireDate = new Date(); + expireDate.setTime( expireDate.getTime() + ( options.hoursToLive * 60 * 60 * 1000 ) ); + returnValue.expiresAt = expireDate; + } + + if( typeof options.path === 'string' && options.path !== '' ) + { + returnValue.path = options.path; + } + + if( typeof options.domain === 'string' && options.domain !== '' ) + { + returnValue.domain = options.domain; + } + + if( options.secure === true ) + { + returnValue.secure = options.secure; + } + } + + return returnValue; + }; + /** + * assembleOptionsString - analyze options and assemble appropriate string for setting a cookie with those options + * + * @access private + * @static + * @parameter options OBJECT - optional options to start with + * @return STRING - complete and valid cookie setting options + */ + assembleOptionsString = function( options ) + { + options = resolveOptions( options ); + + return ( + ( typeof options.expiresAt === 'object' && options.expiresAt instanceof Date ? '; expires=' + options.expiresAt.toGMTString() : '' ) + + '; path=' + options.path + + ( typeof options.domain === 'string' ? '; domain=' + options.domain : '' ) + + ( options.secure === true ? '; secure' : '' ) + ); + }; + /** + * parseCookies - retrieve document.cookie string and break it into a hash with values decoded and unserialized + * + * @access private + * @static + * @return OBJECT - hash of cookies from document.cookie + */ + parseCookies = function() + { + var cookies = {}, i, pair, name, value, separated = document.cookie.split( ';' ), unparsedValue; + for( i = 0; i < separated.length; i = i + 1 ) + { + pair = separated[i].split( '=' ); + name = pair[0].replace( /^\s*/, '' ).replace( /\s*$/, '' ); + + try + { + value = decodeURIComponent( pair[1] ); + } + catch( e1 ) + { + value = pair[1]; + } + + if( typeof JSON === 'object' && JSON !== null && typeof JSON.parse === 'function' ) + { + try + { + unparsedValue = value; + value = JSON.parse( value ); + } + catch( e2 ) + { + value = unparsedValue; + } + } + + cookies[name] = value; + } + return cookies; + }; + + constructor = function(){}; + + /** + * get - get one, several, or all cookies + * + * @access public + * @paramater Mixed cookieName - String:name of single cookie; Array:list of multiple cookie names; Void (no param):if you want all cookies + * @return Mixed - Value of cookie as set; Null:if only one cookie is requested and is not found; Object:hash of multiple or all cookies (if multiple or all requested); + */ + constructor.prototype.get = function( cookieName ) + { + var returnValue, item, cookies = parseCookies(); + + if( typeof cookieName === 'string' ) + { + returnValue = ( typeof cookies[cookieName] !== 'undefined' ) ? cookies[cookieName] : null; + } + else if( typeof cookieName === 'object' && cookieName !== null ) + { + returnValue = {}; + for( item in cookieName ) + { + if( typeof cookies[cookieName[item]] !== 'undefined' ) + { + returnValue[cookieName[item]] = cookies[cookieName[item]]; + } + else + { + returnValue[cookieName[item]] = null; + } + } + } + else + { + returnValue = cookies; + } + + return returnValue; + }; + /** + * filter - get array of cookies whose names match the provided RegExp + * + * @access public + * @paramater Object RegExp - The regular expression to match against cookie names + * @return Mixed - Object:hash of cookies whose names match the RegExp + */ + constructor.prototype.filter = function( cookieNameRegExp ) + { + var cookieName, returnValue = {}, cookies = parseCookies(); + + if( typeof cookieNameRegExp === 'string' ) + { + cookieNameRegExp = new RegExp( cookieNameRegExp ); + } + + for( cookieName in cookies ) + { + if( cookieName.match( cookieNameRegExp ) ) + { + returnValue[cookieName] = cookies[cookieName]; + } + } + + return returnValue; + }; + /** + * set - set or delete a cookie with desired options + * + * @access public + * @paramater String cookieName - name of cookie to set + * @paramater Mixed value - Any JS value. If not a string, will be JSON encoded; NULL to delete + * @paramater Object options - optional list of cookie options to specify + * @return void + */ + constructor.prototype.set = function( cookieName, value, options ) + { + if( typeof options !== 'object' || options === null ) + { + options = {}; + } + + if( typeof value === 'undefined' || value === null ) + { + value = ''; + options.hoursToLive = -8760; + } + + else if( typeof value !== 'string' ) + { + if( typeof JSON === 'object' && JSON !== null && typeof JSON.stringify === 'function' ) + { + value = JSON.stringify( value ); + } + else + { + throw new Error( 'cookies.set() received non-string value and could not serialize.' ); + } + } + + + var optionsString = assembleOptionsString( options ); + + document.cookie = cookieName + '=' + encodeURIComponent( value ) + optionsString; + }; + /** + * del - delete a cookie (domain and path options must match those with which the cookie was set; this is really an alias for set() with parameters simplified for this use) + * + * @access public + * @paramater MIxed cookieName - String name of cookie to delete, or Bool true to delete all + * @paramater Object options - optional list of cookie options to specify ( path, domain ) + * @return void + */ + constructor.prototype.del = function( cookieName, options ) + { + var allCookies = {}, name; + + if( typeof options !== 'object' || options === null ) + { + options = {}; + } + + if( typeof cookieName === 'boolean' && cookieName === true ) + { + allCookies = this.get(); + } + else if( typeof cookieName === 'string' ) + { + allCookies[cookieName] = true; + } + + for( name in allCookies ) + { + if( typeof name === 'string' && name !== '' ) + { + this.set( name, null, options ); + } + } + }; + /** + * test - test whether the browser is accepting cookies + * + * @access public + * @return Boolean + */ + constructor.prototype.test = function() + { + var returnValue = false, testName = 'cT', testValue = 'data'; + + this.set( testName, testValue ); + + if( this.get( testName ) === testValue ) + { + this.del( testName ); + returnValue = true; + } + + return returnValue; + }; + /** + * setOptions - set default options for calls to cookie methods + * + * @access public + * @param Object options - list of cookie options to specify + * @return void + */ + constructor.prototype.setOptions = function( options ) + { + if( typeof options !== 'object' ) + { + options = null; + } + + defaultOptions = resolveOptions( options ); + }; + + return new constructor(); +} )(); + +( function() +{ + if( window.jQuery ) + { + ( function( $ ) + { + $.cookies = jaaulde.utils.cookies; + + var extensions = { + /** + * $( 'selector' ).cookify - set the value of an input field, or the innerHTML of an element, to a cookie by the name or id of the field or element + * (field or element MUST have name or id attribute) + * + * @access public + * @param options OBJECT - list of cookie options to specify + * @return jQuery + */ + cookify: function( options ) + { + return this.each( function() + { + var i, nameAttrs = ['name', 'id'], name, $this = $( this ), value; + + for( i in nameAttrs ) + { + if( ! isNaN( i ) ) + { + name = $this.attr( nameAttrs[ i ] ); + if( typeof name === 'string' && name !== '' ) + { + if( $this.is( ':checkbox, :radio' ) ) + { + if( $this.attr( 'checked' ) ) + { + value = $this.val(); + } + } + else if( $this.is( ':input' ) ) + { + value = $this.val(); + } + else + { + value = $this.html(); + } + + if( typeof value !== 'string' || value === '' ) + { + value = null; + } + + $.cookies.set( name, value, options ); + + break; + } + } + } + } ); + }, + /** + * $( 'selector' ).cookieFill - set the value of an input field or the innerHTML of an element from a cookie by the name or id of the field or element + * + * @access public + * @return jQuery + */ + cookieFill: function() + { + return this.each( function() + { + var n, getN, nameAttrs = ['name', 'id'], name, $this = $( this ), value; + + getN = function() + { + n = nameAttrs.pop(); + return !! n; + }; + + while( getN() ) + { + name = $this.attr( n ); + if( typeof name === 'string' && name !== '' ) + { + value = $.cookies.get( name ); + if( value !== null ) + { + if( $this.is( ':checkbox, :radio' ) ) + { + if( $this.val() === value ) + { + $this.attr( 'checked', 'checked' ); + } + else + { + $this.removeAttr( 'checked' ); + } + } + else if( $this.is( ':input' ) ) + { + $this.val( value ); + } + else + { + $this.html( value ); + } + } + + break; + } + } + } ); + }, + /** + * $( 'selector' ).cookieBind - call cookie fill on matching elements, and bind their change events to cookify() + * + * @access public + * @param options OBJECT - list of cookie options to specify + * @return jQuery + */ + cookieBind: function( options ) + { + return this.each( function() + { + var $this = $( this ); + $this.cookieFill().change( function() + { + $this.cookify( options ); + } ); + } ); + } + }; + + $.each( extensions, function( i ) + { + $.fn[i] = this; + } ); + + } )( window.jQuery ); + } +} )(); \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/js/popup.js b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/js/popup.js new file mode 100644 index 0000000..788a6de --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/js/popup.js @@ -0,0 +1,102 @@ +/***************************/ +//@Author: Adrian "yEnS" Mato Gondelle +//@website: www.yensdesign.com +//@email: yensamg@gmail.com +//@license: Feel free to use it, but keep this credits please! +/***************************/ + +//SETTING UP OUR POPUP +//0 means disabled; 1 means enabled; +var popupStatus = 0; + +//loading popup with jQuery magic! +function loadPopup() { + var surveyCookie = $.cookies.get("SURVEY"); + if(surveyCookie) { + popupStatus = 0; + return; + } + //loads popup only if it is disabled + if(popupStatus==0){ + $("#backgroundPopup").css({ + "opacity": "0.7" + }); + $("#backgroundPopup").fadeIn("slow"); + $("#popupContents").fadeIn("slow"); + popupStatus = 1; + } +} + +function getDateInSixMonths() { + var date = new Date(); + date.setDate(date.getDate()+180); + return date; +} + +//disabling popup with jQuery magic! +function disablePopup(){ + //disables popup only if it is enabled + if(popupStatus==1){ + $("#backgroundPopup").fadeOut("slow"); + $("#popupContents").fadeOut("slow"); + popupStatus = 0; + $.cookies.set("SURVEY", "NO", {expiresAt: getDateInSixMonths()}); + } +} + +//centering popup +function centerPopup(){ + //request data for centering + var windowWidth = document.documentElement.clientWidth; + var windowHeight = document.documentElement.clientHeight; + var popupHeight = $("#popupContents").height(); + var popupWidth = $("#popupContents").width(); + //centering + $("#popupContents").css({ + "position": "absolute", + "top": windowHeight/2-popupHeight/2, + "left": windowWidth/2-popupWidth/2 + }); + //only need force for IE6 + + $("#backgroundPopup").css({ + "height": windowHeight + }); + +} + + +//CONTROLLING EVENTS IN jQuery +$(document).ready(function(){ + + //LOADING POPUP + //Click the button event! + $("#button").click(function(){ + //centering with css + centerPopup(); + //load popup + loadPopup(); + }); + + //CLOSING POPUP + //Click the x event! + $("#popupContentsClose").click(function(){ + disablePopup(); + }); + //Click out event! + $("#backgroundPopup").click(function(){ + //disablePopup(); + }); + //Press Escape event! + $(document).keypress(function(e){ + if(e.keyCode==27 && popupStatus==1){ + disablePopup(); + } + }); + + $("#announce").click(function(){ + $.cookies.set("SURVEY", "YES", {expiresAt: getDateInSixMonths()}); + window.location='http://www.qos.ch/mailman/listinfo/announce'; + }); +}); + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/js/prettify.js b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/js/prettify.js new file mode 100644 index 0000000..8fc4c93 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/js/prettify.js @@ -0,0 +1,23 @@ +function H(){var x=navigator&&navigator.userAgent&&/\bMSIE 6\./.test(navigator.userAgent);H=function(){return x};return x}(function(){function x(b){b=b.split(/ /g);var a={};for(var c=b.length;--c>=0;){var d=b[c];if(d)a[d]=null}return a}var y="break continue do else for if return while ",U=y+"auto case char const default double enum extern float goto int long register short signed sizeof static struct switch typedef union unsigned void volatile ",D=U+"catch class delete false import new operator private protected public this throw true try ", +I=D+"alignof align_union asm axiom bool concept concept_map const_cast constexpr decltype dynamic_cast explicit export friend inline late_check mutable namespace nullptr reinterpret_cast static_assert static_cast template typeid typename typeof using virtual wchar_t where ",J=D+"boolean byte extends final finally implements import instanceof null native package strictfp super synchronized throws transient ",V=J+"as base by checked decimal delegate descending event fixed foreach from group implicit in interface internal into is lock object out override orderby params readonly ref sbyte sealed stackalloc string select uint ulong unchecked unsafe ushort var ", +K=D+"debugger eval export function get null set undefined var with Infinity NaN ",L="caller delete die do dump elsif eval exit foreach for goto if import last local my next no our print package redo require sub undef unless until use wantarray while BEGIN END ",M=y+"and as assert class def del elif except exec finally from global import in is lambda nonlocal not or pass print raise try with yield False True None ",N=y+"alias and begin case class def defined elsif end ensure false in module next nil not or redo rescue retry self super then true undef unless until when yield BEGIN END ", +O=y+"case done elif esac eval fi function in local set then until ",W=I+V+K+L+M+N+O;function X(b){return b>="a"&&b<="z"||b>="A"&&b<="Z"}function u(b,a,c,d){b.unshift(c,d||0);try{a.splice.apply(a,b)}finally{b.splice(0,2)}}var Y=(function(){var b=["!","!=","!==","#","%","%=","&","&&","&&=","&=","(","*","*=","+=",",","-=","->","/","/=",":","::",";","<","<<","<<=","<=","=","==","===",">",">=",">>",">>=",">>>",">>>=","?","@","[","^","^=","^^","^^=","{","|","|=","||","||=","~","break","case","continue", +"delete","do","else","finally","instanceof","return","throw","try","typeof"],a="(?:(?:(?:^|[^0-9.])\\.{1,3})|(?:(?:^|[^\\+])\\+)|(?:(?:^|[^\\-])-)";for(var c=0;c:&])/g,"\\$1")}a+="|^)\\s*$";return new RegExp(a)})(),P=/&/g,Q=//g,Z=/\"/g;function $(b){return b.replace(P,"&").replace(Q,"<").replace(R,">").replace(Z,""")}function E(b){return b.replace(P,"&").replace(Q,"<").replace(R,">")}var aa= +/</g,ba=/>/g,ca=/'/g,da=/"/g,ea=/&/g,fa=/ /g;function ga(b){var a=b.indexOf("&");if(a<0)return b;for(--a;(a=b.indexOf("&#",a+1))>=0;){var c=b.indexOf(";",a);if(c>=0){var d=b.substring(a+3,c),g=10;if(d&&d.charAt(0)==="x"){d=d.substring(1);g=16}var e=parseInt(d,g);if(!isNaN(e))b=b.substring(0,a)+String.fromCharCode(e)+b.substring(c+1)}}return b.replace(aa,"<").replace(ba,">").replace(ca,"'").replace(da,'"').replace(ea,"&").replace(fa," ")}function S(b){return"XMP"===b.tagName} +function z(b,a){switch(b.nodeType){case 1:var c=b.tagName.toLowerCase();a.push("<",c);for(var d=0;d");for(var e=b.firstChild;e;e=e.nextSibling)z(e,a);if(b.firstChild||!/^(?:br|link|img)$/.test(c))a.push("");break;case 2:a.push(b.name.toLowerCase(),'="',$(b.value),'"');break;case 3:case 4:a.push(E(b.nodeValue));break}}var F=null;function ha(b){if(null===F){var a=document.createElement("PRE"); +a.appendChild(document.createTextNode('\n'));F=!/=0;i-=" ".length)d.push(" ".substring(0,i));g=e+1;break; +case "\n":a=0;break;default:++a}}if(!d)return c;d.push(c.substring(g));return d.join("")}}var ja=/(?:[^<]+| + + + +

slf4j-announcements list

+ +

+ Low Traffic: + Subscribe | + Unsubscribe +
+ Archives: + Pipermail | + MARC | + Nabble +

+

The announcements list is reserved for important SLF4J API + related announcements. As such, the traffic on this list is + guaranteed to be very low. +

+ +

Given that implementations are expected to statically bind with + the SLF4J API, we recommend that any implementor of the SLF4J API + be subscribed at least to the announcements list. +

+ +

slf4j-user list

+ +

+ Medium Traffic: + Subscribe | + Unsubscribe +
+ Archives: + Pipermail | + Gmane | + MARC | + Nabble | + MailArchive + + +

+ +

This is the list for users of slf4j. It is also a good forum for + asking questions about how slf4j works, and how it can be + used. SLF4J developers are usually subscribed to to this list in + order to offer support.

+ + +

slf4j-dev list

+ +

+ Medium Traffic: + Subscribe | + Unsubscribe +
+ Archives: + Pipermail | + Gmane | + MARC | + Nabble | + MailArchive +

+

 

+ + +
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/manual.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/manual.html new file mode 100644 index 0000000..75108c9 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/manual.html @@ -0,0 +1,519 @@ + + + + + + SLF4J Manual + + + + + + + + + +
+ +
+
+ + +

SLF4J user manual

+ +

The Simple Logging Facade for Java or (SLF4J) serves as a + simple facade or abstraction for various logging frameworks, such + as java.util.logging, log4j and logback. SLF4J allows the end-user + to plug in the desired logging framework at deployment + time. Note that SLF4J-enabling your library/application implies + the addition of only a single mandatory dependency, namely + slf4j-api-${project.version}.jar.

+ +

since 1.6.0 If no binding is found on the + class path, then SLF4J will default to a no-operation + implementation. +

+ +

since 1.7.0 Printing methods in the + Logger + interface now offer variants accepting varargs + instead of Object[]. This change implies that SLF4J + requires JDK 1.5 or later. Under the hood the Java compiler + transforms the varargs part in methods into + Object[]. Thus, the Logger interface generated by the + compiler is indistinguishable in 1.7.0 from its 1.6.0 + counterpart. It follows that SLF4J version 1.7.0 is totally 100% + no-ifs-or-buts compatible with SLF4J version 1.6.x. +

+ +

since 1.7.5 Significant improvement + in logger retrieval times. Given the extent of the improvement, + users are highly encouraged to migrate to SLF4J 1.7.5 or later. +

+ +

Hello World

+ +

As customary in programming tradition, here is an example + illustrating the simplest way to output "Hello world" using SLF4J. + It begins by getting a logger with the name "HelloWorld". This + logger is in turn used to log the message "Hello World". +

+ +
import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class HelloWorld {
+  public static void main(String[] args) {
+    Logger logger = LoggerFactory.getLogger(HelloWorld.class);
+    logger.info("Hello World");
+  }
+}
+ +

To run this example, you first need to download the slf4j distribution, and + then to unpack it. Once that is done, add the file + slf4j-api-${project.version}.jar to your class path.

+ +

Compiling and running HelloWorld will result in the + following output being printed on the console.

+ +
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
+SLF4J: Defaulting to no-operation (NOP) logger implementation
+SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
+ +

This warning is printed because no slf4j binding could be + found on your class path.

+ +

The warning will disappear as soon as you add a binding to + your class path. Assuming you add + slf4j-simple-${project.version}.jar so that your class + path contains:

+ +
    +
  • slf4j-api-${project.version}.jar
  • +
  • slf4j-simple-${project.version}.jar
  • +
+ +

Compiling and running HelloWorld will now result in + the following output on the console.

+ +
0 [main] INFO HelloWorld - Hello World
+ +

Typical usage + pattern

+ +

The sample code below illustrates the typical usage pattern + for SLF4J. Note the use of {}-placeholders on line 15. See the + question "What is the + fastest way of logging?" in the FAQ for more details. +

+ +

+ +
 1: import org.slf4j.Logger;
+ 2: import org.slf4j.LoggerFactory;
+ 3: 
+ 4: public class Wombat {
+ 5:  
+ 6:   final Logger logger = LoggerFactory.getLogger(Wombat.class);
+ 7:   Integer t;
+ 8:   Integer oldT;
+ 9:
+10:   public void setTemperature(Integer temperature) {
+11:    
+12:     oldT = t;        
+13:     t = temperature;
+14:
+15:     logger.debug("Temperature set to {}. Old temperature was {}.", t, oldT);
+16:
+17:     if(temperature.intValue() > 50) {
+18:       logger.info("Temperature has risen above 50 degrees.");
+19:     }
+20:   }
+21: } 
+ + + +

Binding with a logging + framework at deployment time

+ +

As mentioned previously, SLF4J supports various logging + frameworks. The SLF4J distribution ships with several jar files + referred to as "SLF4J bindings", with each binding corresponding + to a supported framework.

+ +
+ +
slf4j-log4j12-${project.version}.jar +
+
Binding for log4j + version 1.2, a widely used logging framework. You also + need to place log4j.jar on your class path.

+ +
slf4j-jdk14-${project.version}.jar
+
Binding for java.util.logging, also referred to as JDK 1.4 + logging

+ +
slf4j-nop-${project.version}.jar
+
Binding for NOP, + silently discarding all logging.

+ +
slf4j-simple-${project.version}.jar
+
Binding for Simple + implementation, which outputs all events to + System.err. Only messages of level INFO and higher are + printed. This binding may be useful in the context of small + applications.

+ +
slf4j-jcl-${project.version}.jar
+ +
Binding for Jakarta Commons + Logging. This binding will delegate all SLF4J logging to + JCL.

+

+
+ +

There are also SLF4J bindings external to the SLF4J project, + e.g. logback which + implements SLF4J natively. Logback's + + ch.qos.logback.classic.Logger class is a direct + implementation of SLF4J's + + org.slf4j.Logger interface. Thus, using SLF4J + in conjunction with logback involves strictly zero memory and + computational overhead. +

+ + +

To switch logging frameworks, just replace slf4j bindings on + your class path. For example, to switch from java.util.logging + to log4j, just replace slf4j-jdk14-${project.version}.jar with + slf4j-log4j12-${project.version}.jar. +

+ +

SLF4J does not rely on any special class loader machinery. In + fact, each SLF4J binding is hardwired at compile time + to use one and only one specific logging framework. For + example, the slf4j-log4j12-${project.version}.jar binding is + bound at compile time to use log4j. In your code, in addition + to slf4j-api-${project.version}.jar, you simply drop + one and only one binding of your choice onto the + appropriate class path location. Do not place more than one + binding on your class path. Here is a graphical illustration of + the general idea. +

+ +

+ click to enlarge +

+ +

The SLF4J interfaces and their various adapters are extremely + simple. Most developers familiar with the Java language should + be able to read and fully understand the code in less than one + hour. No knowledge of class loaders is necessary as SLF4J does + not make use nor does it directly access any class loaders. As a + consequence, SLF4J suffers from none of the class loader + problems or memory leaks observed with Jakarta Commons Logging + (JCL). +

+ +

Given the simplicity of the SLF4J interfaces and its + deployment model, developers of new logging frameworks should + find it very easy to write SLF4J bindings. +

+ +

Libraries

+ +

Authors of widely-distributed components and libraries may + code against the SLF4J interface in order to avoid imposing an + logging framework on the end-user of the component or library. + Thus, the end-user may choose the desired logging framework at + deployment time by inserting the corresponding slf4j binding on + the classpath, which may be changed later by replacing an + existing binding with another on the class path and restarting + the application. This approach has proven to be simple and very + robust. +

+ +

As of SLF4J version 1.6.0, if no binding is found on + the class path, then slf4j-api will default to a no-operation + implementation discarding all log requests. Thus, instead of + throwing a NoClassDefFoundError because the + org.slf4j.impl.StaticLoggerBinder class is missing, + SLF4J version 1.6.0 and later will emit a single warning message + about the absence of a binding and proceed to discard all log + requests without further protest. For example, let Wombat be + some biology-related framework depending on SLF4J for + logging. In order to avoid imposing a logging framework on the + end-user, Wombat's distribution includes slf4j-api.jar + but no binding. Even in the absence of any SLF4J binding on the + class path, Wombat's distribution will still work + out-of-the-box, and without requiring the end-user to download a + binding from SLF4J's web-site. Only when the end-user decides to + enable logging will she need to install the SLF4J binding + corresponding to the logging framework chosen by her. +

+ + +

Declaring project + dependencies for logging

+ +

Please note that embedded components such as libraries or + frameworks should not declare a dependency on any SLF4J binding + but only depend on slf4j-api. SLF4J usage in embedded + components is also discussed in the FAQ in relation with logging configuration, dependency reduction and + testing.

+ +

Given Maven's transitive dependency rules, for "regular" + projects (not libraries or frameworks) declaring logging + dependencies can be accomplished with a single dependency + declaration. +

+ +

logback-classic If you wish + to use logback-classic as the underlying logging framework, all + you need to do is to declare "ch.qos.logback:logback-classic" as + a dependency in your pom.xml file as shown below. In + addition to logback-classic-${logback.version}.jar, + this will pull slf4j-api-${project.version}.jar as well + as logback-core-${logback.version}.jar into your + project. Note that explicitly declaring a dependency on + logback-core-${logback.version} or + slf4j-api-${project.version}.jar is not wrong and may + be necessary to impose the correct version of said artifacts by + virtue of Maven's "nearest definition" dependency mediation + rule. +

+ +
<dependency> 
+  <groupId>ch.qos.logback</groupId>
+  <artifactId>logback-classic</artifactId>
+  <version>${logback.version}</version>
+</dependency>
+ +

+ +

log4j If you wish to use + log4j as the underlying logging framework, all you need to do is + to declare "org.slf4j:slf4j-log4j12" as a dependency in your + pom.xml file as shown below. In addition to + slf4j-log4j12-${project.version}.jar, this will pull + slf4j-api-${project.version}.jar as well as + log4j-${log4j.version}.jar into your project. Note + that explicitly declaring a dependency on + log4j-${log4j.version}.jar or + slf4j-api-${project.version}.jar is not wrong and may + be necessary to impose the correct version of said artifacts by + virtue of Maven's "nearest definition" dependency mediation + rule.

+ +
<dependency> 
+  <groupId>org.slf4j</groupId>
+  <artifactId>slf4j-log4j12</artifactId>
+  <version>${project.version}</version>
+</dependency>
+ +

+ +

java.util.logging If you + wish to use java.util.logging as the underlying logging + framework, all you need to do is to declare + "org.slf4j:slf4j-jdk14" as a dependency in your pom.xml + file as shown below. In addition to + slf4j-jdk14-${project.version}.jar, this will pull + slf4j-api-${project.version}.jar into your project. + Note that explicitly declaring a dependency on + slf4j-api-${project.version}.jar is not wrong and may + be necessary to impose the correct version of said artifact by + virtue of Maven's "nearest definition" dependency mediation + rule.

+ +
<dependency> 
+  <groupId>org.slf4j</groupId>
+  <artifactId>slf4j-jdk14</artifactId>
+  <version>${project.version}</version>
+</dependency>
+ + + +

Binary + compatibility

+ +

An SLF4J binding designates an artifact such as + slf4j-jdk14.jar or slf4j-log4j12.jar used to + bind slf4j to an underlying logging framework, say, + java.util.logging and respectively log4j. +

+ +

From the client's perspective all versions + of slf4j-api are compatible. Client code compiled with + slf4j-api-N.jar will run perfectly fine with slf4j-api-M.jar for + any N and M. You only need to ensure that the version of your + binding matches that of the slf4j-api.jar. You do not have to + worry about the version of slf4j-api.jar used by a given + dependency in your project.

+ + +

Mixing different versions of slf4j-api.jar and SLF4J + binding can cause problems. For example, if you are using + slf4j-api-${project.version}.jar, then you should also use + slf4j-simple-${project.version}.jar, using + slf4j-simple-1.5.5.jar will not work.

+ + +

However, from the client's perspective all versions of + slf4j-api are compatible. Client code compiled with + slf4j-api-N.jar will run perfectly fine with + slf4j-api-M.jar for any N and M. You only need to + ensure that the version of your binding matches that of the + slf4j-api.jar. You do not have to worry about the version of + slf4j-api.jar used by a given dependency in your project. You + can always use any version of slf4j-api.jar, and as + long as the version of slf4j-api.jar and its binding + match, you should be fine. +

+ +

At initialization time, if SLF4J suspects that there may be + an slf4j-api vs. binding version mismatch problem, it will emit + a warning about the suspected mismatch. +

+ + +

Consolidate logging via + SLF4J

+ +

Often times, a given project will depend on various + components which rely on logging APIs other than SLF4J. It is + common to find projects depending on a combination of JCL, + java.util.logging, log4j and SLF4J. It then becomes desirable to + consolidate logging through a single channel. SLF4J caters for + this common use-case by providing bridging modules for JCL, + java.util.logging and log4j. For more details, please refer to + the page on Bridging legacy + APIs. +

+ +

Mapped Diagnostic Context (MDC) support

+ +

"Mapped Diagnostic Context" is essentially a map maintained + by the logging framework where the application code provides + key-value pairs which can then be inserted by the logging + framework in log messages. MDC data can also be highly helpful + in filtering messages or triggering certain actions.

+ +

SLF4J supports MDC, or mapped diagnostic context. If the + underlying logging framework offers MDC functionality, then + SLF4J will delegate to the underlying framework's MDC. Note that + at this time, only log4j and logback offer MDC functionality. If + the underlying framework does not offer MDC, for example + java.util.logging, then SLF4J will still store MDC data but the + information therein will need to be retrieved by custom user + code.

+ +

Thus, as a SLF4J user, you can take advantage of MDC + information in the presence of log4j or logback, but without + forcing these logging frameworks upon your users as + dependencies. +

+ +

For more information on MDC please see the chapter on MDC + in the logback manual. +

+ + + +

Executive summary

+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AdvantageDescription
Select your logging framework at deployment timeThe desired logging framework can be plugged in at + deployment time by inserting the appropriate jar file + (binding) on your class path. +
Fail-fast operationDue to the way that classes are loaded by the JVM, the + framework binding will be verified automatically very early + on. If SLF4J cannot find a binding on the class path it + will emit a signle warning message and default to + no-operation implementation. +
Bindings for popular logging frameworks + SLF4J supports popular logging frameworks, namely log4j, + java.util.logging, Simple logging and NOP. The logback project supports + SLF4J natively.
Bridging legacy logging APIs +

The implementation of JCL over SLF4J, i.e + jcl-over-slf4j.jar, will allow your project to + migrate to SLF4J piecemeal, without breaking compatibility + with existing software using JCL. Similarly, + log4j-over-slf4j.jar and jul-to-slf4j modules will allow + you to redirect log4j and respectively java.util.logging + calls to SLF4J. See the page on Bridging legacy APIs for more + details. +

+
Migrate your source codeThe slf4j-migrator utility + can help you migrate your source to use SLF4J. +
Support for parameterized log messagesAll SLF4J bindings support parameterized log messages + with significantly improved performance + results.
+ + + + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/migrator.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/migrator.html new file mode 100644 index 0000000..3d31b11 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/migrator.html @@ -0,0 +1,226 @@ + + + + + + SLF4J Migrator + + + + + + +
+ +
+
+ + +

SLF4J Migrator

+ +

The SLF4J migrator is a small Java tool for migrating Java source + files from the Jakarta Commons Logging (JCL) API to SLF4J. It can + also migrate from the log4j API to SLF4J, or from + java.util.logging API to SLF4J. +

+ +

The SLF4J migrator consists of a single jar file that can be + launched as a stand-alone java application. Here is the command: +

+ +

java -jar slf4j-migrator-${version}.jar

+ +
+ +

Once the application is launched, a window similar to the + following should appear. +

+ +

slf4j-migrator.gif

+ +

Use of the application should be self-explanatory. Please note that + this migration tool does in-place replacement of Java files, meaning + that there will be no back-up copies of modified files. It is + your responsibility to backup your files before using SLF4J + Migrator. +

+ + +

Limitations

+ +

SLF4J migrator is intended as a simple tool to help you to + migrate your project source using JCL, log4j or JUL to SLF4J. It can + only perform elementary conversion steps. Essentially, it will + replace appropriate import lines and logger declarations. +

+ +

MyClass is a sample class using JCL. Here it is before:

+ +

package some.package; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +public MyClass { + + Log logger = LogFactory.getLog(MyClass.class); + + public void someMethod() { + logger.info("Hello world"); + } +}

+ +

and after migration:

+ +

package some.package; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public MyClass { + + Logger logger = LoggerFactory.getLogger(MyClass.class); + + public void someMethod() { + logger.info("Hello world"); + } +}

+ +
+ +

Altough its conversion rules are elementary, the SLF4J migrator + can still alleviate much of the grunt-work involved in migrating a + Java project from JCL to SLF4J. +

+ +

Migration rules from log4j to SLF4J, or from JUL to SLF4J are + similar.

+ +

General limitations

+ +
    + +
  • Build scipts are not modified + +

    Your Ant/Maven/Ivy build scripts need to be modified manualy to + use SLF4J instead of JCL or log4j.

    + +

    +
  • + +
  • only messages of type String are supported + +

    If one of your log statements contains a non-string object as + its sole parameter, you will have to manually add a toString() + method call on the object. +

    + +

    For example,

    +

    logger.debug(new Object());

    +

    has to be manually re-written as

    +

    logger.debug(new Object().toString());

    + +

    +
  • + +
  • the FATAL level is not supported. + +

    You have to convert them manually. This is limitation is not + deemed very serious because there are usually very few log + statements bearing the FATAL level. +

    + +

    +

    +
  • + +
  • if a method declares multipe loggers on the same line, the + conversion will not be complete. Example: + +

    public void someMethod(Log l1, Log l2) { + ... + } + +will be converted as + + public void someMethod(Log l1, Logger l2) { + ... + }

    +
  • +
+ +

Limitations when migrating from log4j

+ +
    +
  • NDC statements are left as-is + +

    Since NDC is not supported by SLF4J, the migrator cannot + properly handle NDC statements. You have to migrate them to MDC + manually. Again, this limitation is not deemed serious bebause + there are usually very few NDC statements even in large projects. +

    + +

    Please note that contrary to NDC, MDC statements are migrated + correctly because SLF4J suports such statements.

    + +

    +
  • + +
  • Calls to PropertyConfigurator or + DomConfigurator cannot be migrated since they have no + SLF4J equivalents. + +

    +

    + +
  • +
+ +

Limitations when migrating from JUL

+ + +
    +
  • Calls to finest(), finer() or + finest() methods of + java.util.loggging.Logger are left as is. + +

    Given that finest(), finer() or + finest() calls could map to both trace() or debug() + calls in SLF4J, it is impossible to guess how the user wants to + map these calls. +

    + +

    +

    + +
  • + + +
  • All strings matching ".severe(" are replaced by the string + ".error(" without any contexual analysys. Similarly, all strings + matching ".warning(" are replaced by ".warn(". + +

    Since the match/replace operation is not contextual, if your + code contains methods named "severe" or "warning", then the + migration results will have compilation errors. Fortunately, such + errors should be rare and easy to identify. +

    + +

    +

    + +
  • + +
  • Invocations of the following methods defined in the + java.util.logging.Logger class need to be migrated + manually: log, logp, logrb, + entering, exiting. + +
  • +
+ + +
+ + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/news.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/news.html new file mode 100644 index 0000000..5a360b1 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/news.html @@ -0,0 +1,1488 @@ + + + + + + SLF4J News + + + + + + + + +
+ +
+
+ + +

SLF4J News

+ +

Please note that you can receive SLF4J related announcements by + subscribing to the QOS.ch + announce mailing list. +

+ +
+ +

25th of March, 2013 - Release of SLF4J 1.7.5

+ +

Given the significance of these performance + improvements, users are highly encouraged to migrate to SLF4J + version 1.7.5 or later.

+ +

performance improvements The + logger factories in most SLF4J modules namely in jcl-over-slf4j, + log4j-over-slf4j, slf4j-jcl, slf4j-jdk14, slf4j-log4j12, and + slf4j-simple now use a ConcurrentHashMap instead of a + regular HashMap to cache logger instances. This change + significantly improves logger retrieval times at the cost of some + memory overhead. This improvement was requested in bug #298 + by Taras Tielkes who also provided the relevant patch. +

+ + + + +
+ + +

18th of March, 2013 - Release of SLF4J 1.7.4

+ +

Added a package private reset() method to + SimpleLoggerFactory for testing purposes.

+ +
+ +

15th of March, 2013 - Release of SLF4J 1.7.3

+ +

The jul-to-slf4j bridge now correctly handles cases where the + message string contains {}-placeholders but has no or zero + parameters. This fixes bug + #212. The relevant patch was provided by Matthew Preston in a + git pull request.

+ +

Added missing methods and classes in log4j-over-slf4j module for + Velocity compatibility. This isssue was reported in bug 280 by + Thomas Mortagne.

+ +
+ +

11th of October, 2012 - Release of SLF4J 1.7.2

+ +

Added osgi-over-slf4j module which serves as an OSGi LogService + implementation delegating to slf4j. This module is maintained by + Matt Bishop and Libor Jelinek.

+ +

Christian Trutz added missing PatternLayout class as well as + several methods in the Logger and + Category classes. See commit 442e90ba5785cba9 dated + September 27th 2012 for details. +

+ +

Added org.slf4j.simpleLoggerwarnLevelString in slf4j-simple + module.

+ +

Fixed bug + 272. All Logger implementations shipping with + SLF4J use Object... instead of Object[] + to avoid compiler warnings.

+ + + +
+ +

14th of September, 2012 - Release of SLF4J 1.7.1

+ +

SimpleLogger + now supports writing to a file. The property names for configuring + SimpleLogger have been modified to be consistently in + camel case. More configuration options have been added. In the + absence of configuration directives, SimpleLogger will + behave exactly the same as in the past. If you are one of the + few users configuring SimpleLogger with configuration + properties, you will need to adapt to the new and more consistent + property names.

+ +
+ +

6th of September, 2012 - Release of SLF4J 1.7.0

+ +

SLF4J now requires JDK 1.5.

+ +

Printing methods in the Logger interface now offers + variants accepting varargs + instead of Object[]. Given that under the hood, the Java compiler + transforms varargs into an array, this change is totally 100% + no-ifs-or-buts backward compatible with all existing client + code.

+ +

The logger field (of type java.util.logging.Logger) + in JDK14LoggerAdapter is now marked as transient. This + fixes bug + #261, a serialization problem reported by Thorbjørn Ravn + Andersen.

+ +
+ +

11th of June, 2012 - Release of SLF4J 1.6.6

+ +

Source repository has been moved to https://github.com/qos-ch/slf4j + on github.

+ +

In case multiple bindings are found on the class path, SLF4J + will now output the name of the framework/implementation class it + binds with.

+ +

SimpleLogger + now supports configuration properties.

+ +

LoggerWrapper in the slf4j-ext module now correctly deals with + markers. This fixes bug #265 + reported by Dario Campagna.

+ +

The log4j-over-slf4j module now supports legacy projects + providing their own log4j LoggerFactory. This fixes bug #234 + reported by Laurent Pellegrino with Piotr Jagielski providing the + appropriate patch.

+ +

4th of June, 2012 - Release of SLF4J 1.6.5

+ +

In the slf4j-log4j12 module, upgraded the log4j dependency to + version 1.2.17.

+ +

Added removeHandlersForRootLogger() method to SLF4JBridgeHandler + class.

+ +

The log4j-over-slf4j module now exports all its packages in its + manifest. This issue was reported in 262 by + Mikhail Mazursky who also provided the relevant patch. +

+ +

October 31st, 2011 - Release of SLF4J 1.6.4

+ +

Fixed in thread-safety issues in BasicMDCAdapter + fixing bug + #203 and bug + #224. Note that BasicMDCAdapter is only used with + the slf4j-jdk14.jar binding. +

+ +

BasicMDCAdapter invoked a method introduced in JDK + 1.5 preventing it from running under JDK 1.4. Interestingly enough, + this issue has never been reported by the user community.

+ +

October 17th, 2011 - Release of SLF4J 1.6.3

+ +

LogEvent class in slf4j-ext module now correctly + passes the event data as a parameter object. This fixes bug #246 + reported by Ralph Goers. +

+ +

Added missing OSGi manifest to the jul-to-slf4j module. This + fixes bug + #166 reported by Ekkehard Gentz.

+ +

In the log4j-over-slf4j module, added missing + getAllAppenders() method in Category + class. This fixes bug #235 + reported by Anthony Whitford. +

+ +

August 19th, 2011 - Release of SLF4J 1.6.2

+ +

Fixed bug + #138. SLF4J will no longer complain about multiple SLF4J + bindings when running under a Weblogic server. +

+ +

Fixed bug + #228. When running under IBM's JDK, and if no binding can be + found, SLF4J will no longer throw a + NoClassDefFoundError. Instead, it will default to an + NOP implementation. Under the same circumstances but with Sun's + JDK, SLF4J already defaulted to an NOP implementation since release + 1.6.0.

+ +

Added certain missing classes to the log4j-over-slf4j module as + requested in bug 225 by + Josh Stewart. +

+ +
+ +

July 5th, 2010 - Release of SLF4J 1.6.1

+ +

Updated log4j dependency to version 1.2.16 and CAL10N dependency to version + 0.7.4. +

+ +

Fixed missing versioning OSGi metadata in the log4j-over-slf4j + module. This problem was reported in bug 187 by + David Savage. +

+ + + +
+ +

May 8th, 2010 - Release of SLF4J 1.6.0

+ +

It is expected that all SLF4J releases in the 1.6.x + series will be mutually compatible. +

+ +

As of SLF4J version 1.6.0, in the absence of an SLF4J binding, + slf4j-api will default to a no-operation implementation discarding + all log requests. Thus, instead of throwing an exception, SLF4J + will emit a single warning message about the absence of a binding + and proceed to discard all log requests without further + protest. See also the relevant + section in the user manual. +

+ +

In the presence of multiple parameters and if the last argument + in a logging statement is an exception, then SLF4J will now presume + that the user wants the last argument to be treated as an exception + and not a simple parameter. See the relevant FAQ entry for further + details. This fixes bug 70 + submitted by Joern Huxhorn who also provided the relevant patch. +

+ +

The log method in LocationAwareLogger + interface now admits an additional parameter of type + Object[] representing additional arguments of the log + request. Due to this modification, slf4j-api version 1.6.x will not + work with bindings shipping with SLF4J 1.5.x -- bindings shipping + with 1.6.x must be used. +

+ + +

Fixed bug 150 by + implementing missing resetConfiguration() and + shutdown() methods in LogManager (in + log4j-over-slf4j) as nop. In addition, the + getCurrentLoggers() method has been implemented by + returning an empty enumeration. +

+ + +

Fixed bug 170 by + a bare-bones implementation of the NDC class in + log4j-over-slf4j.

+ +

Fixed bug 175 by + synchronizing access to the loggerNameList field.

+ +

Fixed bug 164 + observed when SLF4J artifacts were placed under + java.endorsed.dirs.

+ +

Fixed sub-optimal list type usage in + SLF4JLogFactory as reported in bug 179 by + Sebastian Davids. +

+ + +

Fixed documentation inconsistency in SLF4JLog as + reported in bug 180 by + Sebastian Davids. +

+ + +
+ +

February 25th, 2010 - Release of SLF4J 1.5.11

+ + +

Users yet unfamiliar with SLF4J sometimes unknowingly place both + log4j-over-slf4j.jar and slf4j-log4j12.jar + simultaneously on the class path causing stack overflow + errors. Simultaneously placing both jcl-over-slf4j.jar and + slf4j-jcl.jar on the class path, is another occurrence of + the same general problem. As of this version, SLF4J preempts the + inevitable stack overflow error by throwing an exception with + details about the actual cause of the problem. This is deemed to be + better than leaving the user wondering about the reasons of the + StackOverflowError. +

+ +

Fixed bug + 168. In case log4j-over-slf4j is used and a logback appender + requires a third party library which depends on log4j, the + log(String FQCN, Priority p, Object msg, Throwable t) + method in log4j-over-slf4j's Category class would throw an + UnsupportedOperationException. Problem reported by Seth + Call.

+ + +
+ +

December 3rd, 2009 - Release of SLF4J 1.5.10

+ +

SLF4J version 1.5.10 consist of bug fixes and minor + enhancements. It is totally backward compatible with SLF4J version + 1.5.8. However, the slf4j-ext module ships with a new package called + org.slf4j.cal10n which adds localized/internationalized logging + support as a thin layer built upon the CAL10N API.

+ +

SLF4J-adroid, + maintained by Thorsten + Möller, was added as a daugther project of SLF4J. +

+ +

Added missing "Export-Package" declaration for cal10n in the OSGi + manifest file for sfl4j-ext. This was requested in bug 156 by + Pete Muir.

+ +

In log4j-over-slf4j, added missing log(...) methods as requested + by Zoltan Szel in bug report + 139.

+ +

In log4j-over-slf4j, added missing LogManager class + as requested by Rick Beton in bug report + 150.

+ +

In the slf4j-ext module, added + getCopyOfChildTimeInstruments and + getCopyOfGlobalStopWatch methods to the + Profiler class. This enables developers to build their + own output formatters for a given Profiler. This feature was + requested by David Lindelöf in bug 141. +

+ +

Fixed a NullPointerEception occuring in unspecified + conditions as described in bug report + 146 by Dapeng Ni.

+ +

Added missing OSGi manifest to the log4j-over-slf4j + module as requested by Wade Poziombka in bug 117. +

+ +

OSGi manifests produced by SLF4J now replace the '-' character by + '.' in compliance with the OSGi specification. This fixes bug 152 + according to the patch supplied by Hugues Malphettes. +

+ +

Fixed packaging issue in jcl104-over-slf4j which inadvertently + produced a jar file as described in bug 151 by + Jesse McConnell.

+ + + + +
+ +

June 11th, 2009 - Release of SLF4J 1.5.8

+ +

SLF4J version 1.5.8 consist of bug fixes. It is totally backward + compatible with SLF4J version 1.5.7.

+ +

The Maven pom file for the log4j-over-slf4j module + contained a compile time dependency on the slf4j-jdk14 + module. The dependency should have been declared in the test + scope. This problem was reported by Jean-Luc Geering on the slf4j + user list. +

+ +

June 10th, 2009 - Release of SLF4J 1.5.7

+ +

SLF4J version 1.5.7 consist of bug fixes and minor + enhancements. It is totally backward compatible with SLF4J version + 1.5.6.

+ +

In SLF4J versions 1.5.5 and 1.5.6, the LoggerFactory + class which is at the core of SLF4J, if a version compatibility + issue was detected, accidentally invoked a method which was + introduced in JDK 1.5. Thus, instead of issuing a clear warning + message, SLF4J would throw a + NoClassDefFoundError. Consequently, SLF4J would not run + with JDK 1.4 and earlier but only if a version incompatibility issue + was present. For example, if you were mixing + slf4j-api-1.5.6.jar with slf4j-simple-1.4.2.jar, + which are mutually incompatible. Please note that this bug affects + only SLF4J versions 1.5.5 and 1.5.6 and only in the + presence of incompatible versions of slf4j-api and its binding. +

+ +

SLF4J will now emit a warning if more than one binding is present + on the class path. This enhancement was proposed in bug 132 + contributed by by Robert Elliot. +

+ +

The Log interface implementations in the jcl-over-slf4j module + will now correctly cope with serialization. This fixes bug 79 + reported by Mathias Bogaert. Many thanks to Eric Vargo for precisely + identifying the problem and supplying the corresponding patch.

+ +

The log4j-over-slf4j module will now correctly + interact with logging frameworks supporting location information + such as java.util.logging and logback. This fixes bug 131 + reported by Marc Zampetti. +

+ +

SLF4JBridgeHandler will no longer ignore log records + with an empty message. This fixes bug 108 + reported by Pepijn Van Eeckhoudt and independently by Dan Lewis. +

+ +

In case the toString() method of a parameter throws + an exception, MessageFormatter will now print an error + message, instead of letting the exception bubble higher up as + previously. This fixes bug 112 + submitted by Joern Huxhorn. +

+ +
+ +

November 21st, 2008 - Release of SLF4J 1.5.6

+ +

SLF4J version 1.5.6 consists of bug fixes. Users are encouraged + to upgrade to SLF4J version 1.5.6. The upgrade should pose no + problems. Nevertheless, you might still want to refer to the SLF4J + compatibility report. +

+ +

Fixed long standing LBCLASSIC-87 and + its younger sibling bug + 113. With each call to getLogger() method, + LoggerContext will now retrieve the ILoggerFactory + afresh from StaticLoggerBinder. This change enables + context selectors of native implementations, e.g logback, to work + correctly. +

+ +

Fixed bug + 114 reported by Jason Arndt. Corrected the way + XLogger (in slf4j-ext) passes its fully qualified class + name so that the underlying logging system can correctly compute + location information. +

+ + +

The install() method of + SLF4JBridgeHandler will no longer reset the entire + j.u.l. environment but solely add a SLF4JBridgeHandler + instance to jul's root logger. By the same token, the + uninstall() method will remove previously added + SLF4JBridgeHandler instances without making any other + modifications to the j.u.l. configuration. +

+ +

Added MDCStrLookup to slf4j-ext. This class can be + used with Apache Commons Lang's StrSubstitutor class to + inject values in the SLF4J MDC into strings. Information on + StrSubstitutor can be found at StrSubstitutor + javadoc. +

+ +
+ +

October 17th, 2008 - Release of SLF4J 1.5.5

+ +

The version check mechanism introduced in SLF4J 1.5.4 was + inconsistent with the large size of SLF4J's installed user base. We + cannot expect external SLF4J implementations to align their release + schedule with that of SLF4J. Consequently, this SLF4J version, + namely 1.5.5, retains versions checks but as an elective + process. For further details see the relevant entry in the FAQ. +

+ +

You are highly encouraged to upgrade to SLF4J version 1.5.5. The + upgrade should pose no problems. Nevertheless, you might still want + to refer to the SLF4J compatibility + report. +

+ +

October 16th, 2008 - Release of SLF4J 1.5.4

+ +

This version corrects critical bugs. +

+ +

Fixed critical bug + 106. In previous versions of SLF4J, if during the initial + binding phase, the underlying logging system's default configuration + created or invoked loggers, a NullPointerException + would be thrown. Refer to the in error codes document for a + fuller explanation.

+ +

At initialization time, LoggerFactory will now check that the + version of the slf4j-binding matches that of slf4j-api. If there is + a mismatch a warning will be issued on the console. This should help + users identify SLF4J related problems more quickly.

+ +

Improvements in documentation as well as fix for packaging + problems related to slf4j-ext module. +

+ +

SLF4JBridgeHandler (part of jul-to-slf4j) now accounts for + loggers with resourceBundle as well parameters. This feature + requested by Darryl Smith in bug 98 and + by Jarek Gawor in bug + 103.

+ +

We now say that markers contain references to other + markers. We no longer talk about child markers. The javadocs of the + Marker interface have been updated to reflect this + change. Moreover, the hasChildren() method in the + Marker interface has been deprecated and a new method called + hasReferences() was added. +

+ +
+ +

September 12th, 2008 - Release of SLF4J 1.5.3

+ +

See also the compatibility + report for this version. +

+ +

Added a new module called slf4j-ext for slf4j-extensions. See its documentation for further + details.

+ +

Fixed bug + 71 which was re-opened by Manfred Geiler. SLF4J loggers now + survive serialization. By survive serialization, we mean + that the deserialized logger instance are fully functional.

+ +

The fix for bug 68 as + implemented in version 1.5.1 was incomplete. Michael Furman supplied + a more complete fix which was incorporated in this release.

+ +

When slf4j bridges, e.g. jcl-over-slf4j or log4j-over-slf4j, were + used in conjunction with JUL as the underlying logging system, + JDK14LoggerAdapter created a LogRecord even for disabled log + statements. This performance issue was reported in bug 90 by + Matthew Mastracci. +

+ +

Added support for array values, including multi-dimensional + arrays, as parameters. For example,

+

log.debug("{} {}", "A", new int[] {1, 2}});

+

will print as "A [1, 2]" instead of "A [I@6ca1c" as + previously. This enhancement was proposed by "lizongbo". +

+ +

Parameter substitution code has been simplified. SLF4J now only + cares about the "{}" formatting anchor, that is the '{' character + immediately followed by '}'. Previously, the '{' had meaning on its + own. As a result of this change, users no longer need to escape the + '{' unless it is immediately followed by '}'. Existing messages + which escaped standalone '{' character will be printed with a + preceding backslash. However, no data loss in the printed messages + will occur. +

+ +

Added missing getInstance methods to the + Category class in the log4j-over-slf4j module, fixing + bug 95 + reported by Michael Rumpf.

+ +
+ +

June 8th, 2008 - Release of SLF4J 1.5.2

+ +

Improvements to SLF4J documentation as well as fix of packaging + problems related to jul-to-slf4j.jar and + jcl104-over-slf4j.jar. +

+ +

June 5th, 2008 - Release of SLF4J 1.5.1

+ +

See also the compatibility + report for this version.

+ +

In order to support JCL version 1.1.1, the + jcl104-over-slf4j module was renamed as + jcl-over-slf4j. SLF4J will no longer ship with + jcl104-over-slf4j.jar but with jcl-over-slf4j.jar. + The related work responds to enhancement request discussed in bug 85 as + reported by Niklas Gustavsson. +

+ +

The slf4j-jcl binding now depends on commons-logging + version 1.1.1 instead of the older 1.0.4

+ + +

Added a java.util.logging to SLF4J bridge as requested in bug 38 by + Christian Stein, David Smiley, Johan Ferner, Joern Huxhorn and + others. +

+ +

Fixed bug + 68 reported by Su Chuan and David Rauschenbach. SLF4J requires + log4j 1.2.12 or later. However, if an older version of log4j is + present (lacking the TRACE level), in order to avoid + NoSuchMethodError exceptions, the SLF4J's + Log4jLoggerAdapter will map the TRACE level as DEBUG. +

+ + +

Fixed bug + 78 reported by Venu Thachappilly. If the argument array passed + to a Logger printing method (debug, info, etc.) was null, a + NullPointerException was thrown. With the correction, + the messagePattern is returned as is, without parameter + substitution. +

+ + +

Added the getCopyOfContextMap and + setContextMap methods to the MDCAdapter + and org.sf4j.MDC classes. This was requested in bug 84 by + Anton Tagunov. +

+ +

Fixed bug + 74, an endless recursion problem in Marker.contains method, + reported by Michael Newcomb. Also added he + getDetachedMarker method to IMarkerFactor + and MarkerFactory classes which was indirectly + requested in bug 74. +

+ +

Added the methods getLevel() and + getEffectiveLevel() to the Category class + in log4j-over-slf4j. This addition was requested in bug 74 by + Michael Newcomb. +

+ +

The SLF4J Migrator + tool has been improved to support migration from JUL to SLF4J. +

+ +

In MarkerIgnoringBase class, corrected mapping of + trace methods with markers to their equivalents without marker + data. Previously, the mapping was trace to debug. The incorrect + mapping affected only calls to the trace method with + markers. Interestingly enough, this bug was picked up by new unit + tests and has not been reported as a bug by our users. +

+ + +

February 26th, 2008 - Release of SLF4J 1.5.0

+ + +

A tool called SLF4J Migrator now + ships with SLF4J. It can help you migrate your project using JCL or + log4j to use SLF4J instead. +

+ +

Fixed bug + 61 reported by Christopher Sahnwaldt. It is now possible to + place a backslash in front of a formatting anchor, by escaping the + backslash. For example, the call to + MessageFormatter.format("C:\\\\{}", "foo") will now + correctly return "C:\\foo". The backslash character needs to be + escaped in Java, which leads to four backslashes. +

+ + +

Fixed bug + 63 reported by Maarten Bosteels. SLF4J now supports MDC for + java.util.logging package. +

+ +

Fixed bug + 64 reported by Michal Bernhard. The log4j binding will now alert + the user if she uses SLF4J with a version of log4j earlier than 1.2.12. +

+ +

Fixed bug + 65 reported by Ben Gidley. Superfluous + <version>${parent.version}</version> lines have been + removed from pom.xml files. These lines reportedly confuse certain + Maven repositories. +

+ +

In the org.apache.log4j.Category class, as + implemented in the log4j-over-slf4j module, calls to the printing + trace() are now correctly mapped to SLF4J's trace() printing method + (instead of debug()). Superfluous printing methods with the + signature xxxx(Object, Object) and xxxx(String, + Object, Object) have been removed. +

+ +

Fixed bug + 67 reported by Chris Custine. The manifest file for + jcl104-over-slf4j now correctly declares version 1.0.4 for the + exported JCL packages. +

+ + +

Fixed bug + 69 reported by Joern Huxhorn, who graciously supplied the fix as + well as a test case. The add method in + BasicMarker class now correctly prevents multiple + addition of the same child. Moreover, the remove method + now correctly removes the specified child marker. +

+ +

Fixed bug + 41 reported by Sebastian Davids. The manifest files of various + projects now mention J2SE-1.3 as the required execution + environment. +

+ +

Fixed bug + 71 reported by Manfred Geiler. The SLF4JLog and + SLF4JLocationAwareLog classes are now serializable solving + serialization problems encountered with certain libraries which + attempt to serialize JCL log instances. +

+ +

Fixed bug + 73 reported by Oleg Smirsky. A "Fragment-Host: slf4j.api" line + has been added to every MANIFEST.MF file exporting + org.slf4j.impl. +

+ + +

Fixed bug + 72 reported by Ian Carr. Performance issues with slf4j-jdk14 for + disabled log statements have now been corrected. +

+ +
+ +

August 20th, 2007 - Release of SLF4J 1.4.3

+ +

Fixed bug + 60 as reported by Costin Leau. OSGI manifest entries now declare + the correct SLF4J version. +

+ +

Clarified the behavior of the various methods methods in the MDC + class with respect to "null" parameters. This was requested in bug 58 by + Sebastian Davids. +

+ +

Removed the slf4j-archetype module because nobody seems to have a + use for it.

+ +

July 12th, 2007 - Release of SLF4J 1.4.2

+ +

The log4j-over-slf4j module + has been moved back into SLF4J. Originally, this module was part of + SLF4J and was moved into logback due to the lack of MDC support in + SLF4J. With version 1.4.2 and the addition of MDC support in SLF4J + 1.4.1, log4j-over-slf4j returns to its original home. Note that the + previous name of the module was log4j-bridge. +

+ +

Addition of the getMDCAdapter method to + org.slf4j.MDC class. This allows access to the actual MDC + implementation which can on occasion come in very handy. +

+ +
+ + + +

July 4th, 2007 - Release of SLF4J 1.4.1

+ + +

SLF4J now supports Mapped Diagnostic + Contexts (MDC) as requested by Andy Gerweck and Steve Ebersole + in bug + 49. +

+ +

Fixed bug + 53 as reported by Heinrich Nirschl. The public method + trace(String) in the Log4jLoggerAdapter + class incorrectly called the underlying log4j logger with level DEBUG + instead of TRACE. +

+ +

Fixed various documentation related errors kindly reported by + Mark Vedder. +

+ + +
+ + +

May 16th, 2007 - Release of SLF4J 1.4.0

+ + +

In response to many user requests over time, the TRACE level has + been added to org.slf4j.Logger + interface. Please also see the FAQ entry + discussing the TRACE level. +

+ + +

Fixed bug + 47 as reported by Terry Todd. In previous a SLF4J release the + org.apache.commons.logging.impl.SLF4FLogFactory class + was renamed as SLF4JLogFactory. The + META-INF/services/org.apache.commons.logging.LogFactory + resource file had not reflected this change. It does now. +

+ + +

Eric Yung reported + that Apache commons-configuration access certain commons-logging + classes, namely org.apache.commons.logging.impl.NoOpLog + and SimpleLog, directly. Following Eric's suggestion, + jcl104-over-slf4j now includes the aforementioned classes. +

+ + +
+ +

April 15th, 2007 - Release of SLF4J 1.3.1

+ + +

In response to a enhancement + request made by Michael Newcomb, a marker can now be detached + from the internal list of the MarkerFactory that + generated it. +

+ +

Fixed a silly but nonetheless annoying bug where log request of + level ERROR made through jcl104-over-slf4j would log twice. This bug + was reported + and precisely described by Andrew Cooke. +

+ + +
+ +

February 25th, 2007 - Release of SLF4J 1.3.0

+ +

This release consists of rearrangement of classes among + projects. More specifically, the + org.slf4j.LoggerFactory class is now packaged within + the slf4j-api.jar file instead of the various slf4j + bindings. It follows that client code needs to depend on only + slf4j-api in order to compile, while the various slf4j bindings are + only needed as runtime dependencies. See also the Maven2-related FAQ entry. Given the + practical significance of this change, we highly recommend that + library-authors upgrade to version 1.3 at their earliest + convenience. +

+ +

Bug number + 23 has been fixed, at the cost of minor and backward compatible + changes. In other words, jcl104-over-slf4j now preserves caller + location information. +

+ +

It is now possible to obtain the root logger of the underlying + logging implementation by requesting a logger named + "ROOT". This feature was requested by Sebastien Davids + in bug + report 35.

+ +

For an exact list of changes please refer to the 1.3.0 compatibility report file + as generated by clirr.

+ + +
+ +

January 24th, 2007 - Release of SLF4J 1.2

+

This release includes several modifications to make SLF4J + an OSGi-friendly framework. + The modules' MANIFEST.MF files now include + OSGi metadata. Regarding these improvements, and OSGi in general, the + SLF4J project is happy to welcome John E. Conlon as a new committer. +

+ +

Marker objects are now Serializable. +

+ +
+ +

December 21st, 2006 - Release of SLF4J 1.1.0 (final)

+ +

This release consists of minor bug fixes and documentation + changes. More importantly, the log4j-over-slf4j module has been + moved to the logback project, under the name log4j-bridge. +

+ +

Added the file "org.apache.commons.logging.LogFactory" under + META-INF/services directory which went missing in the 1.1.0 series + of SLF4J. This fixes a compatibility problem with Apache Axis which + uses its own discovery mechanism, namely, commons-discovery version + 0.2. The problem was reported in bug report 33 + by David Varnes. +

+ +

The file jcl104-over-slf4j.jar had various entries missing in its + MANIFEST.MF file, as reported by Boris Unkel in bug number + 30. +

+ +
+ +

November 16th, 2006 - Release of SLF4J 1.1.0-RC1

+ +

This release consists of packaging related bug fix in addition to + minor documentation changes. +

+ +

Contrary to RC0, RC1 no longer uses SNAPSHOT versions for the + slf4j-parent pom. The solution to Maven + version problem does not work for public projects such as SLF4J + because SNAPHOTs are not allowed on ibiblio. +

+ + +
+ +

November 4th, 2006 - Release of SLF4J 1.1.0-RC0

+ +

This release consists of bug fixes. Moreover, since the major + packaging related changes in 1.1.0-beta0 seem to work well, this + release is marked as RC0.

+ +

Fixed the JDK 1.5 dependency for the SLF4J build, as reported by + Boris Unkel in bug number + 28. SLF4J now explicitly declares a dependency on JDK 1.4 in its + pom.xml file. +

+ +

Fixed an incorrect reference to the logback project in slf4j-api + pom file. This bug was reported by Boris Unkel in bug number + 29. +

+ +

Fixed a synchronization problem in factories of almost all SLF4J + bindings. This bug was reported independently by Howard M. Lewis Ship + and Boris Unkel in bug reports 26 and + respectively 27. +

+ +
+ +

September 7th, 2006 - Release of SLF4J 1.1.0-beta0

+ +

Release 1.1.0-beta0 is a relatively important release with a + refactoring of the way class files are organized in jar files. In + previous releases, each binding was self-contained in a single jar + file. In this release, each and every binding depends on + slf4j-api.jar which contains the bulk of the classes + required to use SLF4J, except for one or two adapter classes. Only + the adapter classes are now shipped with each specific binding jar + as appropriate for the underlying logging system.. +

+ +

This release is built using Maven instead of Ant. As for the java + code, it has not been changed.

+ +
+ +

June 8th, 2006 - Release of SLF4J 1.0.2

+ +

Release 1.0.2 is a maintenance release containing bug fixes + only.

+ +
    + +
  • Fixed bug number + 22 reported by Bjorn Danielsson. This version of the SLF4J API + will no longer systematically throw an exception when the + o.a.c.l.impl.SLF4FLogFactory#release() method is + invoked. Instead, the release() method will issue a + warning. + +
  • + +
+ +
+ +

May 1st, 2006 - Release of SLF4J 1.0.1

+ +

Release 1.0.1 is a maintenance release containing bug fixes + only.

+ +
    + +
  • Fixed bug number + 20 reported by Steve Bate. JDK14LoggerAdapter + will now correctly relay the logger name to the underlying JDK 14 + logging system. +
  • + +
  • Added the file "org.apache.commons.logging.LogFactory" under + META-INF/services directory in the jcl104-over-slf4j jar + file. This fixes a compatibility problem with Apache Axis which + uses its own discovery mechanism, namely, commons-discovery + version 0.2. The bug was reported by Dave Wallace. +
  • + +
+ + +
+ +

March 8th, 2006 - Release of SLF4J 1.0

+ +

This is release labeled as 1.0 (final) contains few relatively + minor changes: +

+ +
    +
  • As discussed + on the slf4j user list, SimpleLogger now directs its + output to stderr instead of stdout. +
  • + +
  • Modified JDK14LoggerAdapter so that caller + information is now correctly printed, as reported in bug 13 by + Peter Royal. +
  • + +
  • Minor additions to the Marker interface.
  • + +
+ +
+ +

February 4th, 2006 - Release of SLF4J 1.0-RC6 and NLOG4J + 1.2.22

+ +

The MarkingLogger interface has been removed and its + contents merged into org.slf4j.Logger. This change + should not adversely affect end-users. However, SLF4J bindings need + to be updated. This has been done for all the bindings shipped with + SLF4J distribution as well as NLOG4J. As for x4juli, the update is + planned for its next release. +

+ +

The merge between the MarkingLogger and + Logger interfaces has been motivated by the need to + allow end-users to easily switch between logging systems that + support markers and those that do not. +

+ +

Added a default instance to SimpleLoggerFactory to serve as a + last resort fallback mechanism. This instance is designed to be used + by a very specific group of users, namely for those developing + logging systems (e.g. log4j or LOGBack). It is not intended for + end-users of the SLF4J API. +

+ +
+ +

January 9th, 2006 - Release of SLF4J 1.0-RC5 and NLOG4J + 1.2.21

+ +

A maintenance release correcting bugs #11 and #12 and in + general improved resilience to null input parameters across + implementations. Many thanks to Boris Unckel and Kenneth for + reporting the null input issue. +

+ +
+ +

December 27th, 2005 - Release of SLF4J 1.0-RC4 and NLOG4J + 1.2.20

+ + +

The printing methods in org.slf4j.Logger interface + now support passing 3 or more parameters in an Object + array. This was a frequently requested feature missing in previous + versions of SLF4J. +

+ +

NLOG4J 1.2.20 reflects the addition of new methods in the + org.slf4j.Logger interface.

+ +
+ +

December 8th, 2005 - Release of SLF4J 1.0-RC3

+ +

Maintenance release fixing reported bugs #6 and #7. +

+ + +

November 28th, 2005 - Release of SLF4J 1.0-RC2

+ +

In response to a request by Greg Wilkins, this release adds the + jar file slf4j-jcl.jar, an SLF4J binding for JCL. Please + read the gradual migration section + in the manual for more details. +

+ +
+ +

November 21st, 2005 - Release of SLF4J 1.0-RC1

+ +

A maintenance release correcting bugs #4 and #5. Many + thanks to Christian Beil for accurately reporting bug #4. +

+ +

There has been also an effort to minimize the file sizes of the + various jar files produced by SLF4J, resulting in jar files + approximately 40% smaller than in version 1.0beta9. +

+ +

Given that the SLF4J API is now deemed stable, this release is + marked as RC1, that is release candidate number 1. +

+ + +
+ +

October 19th, 2005 - Release of SLF4J 1.0-beta9

+ +

The SLF4J distribution now includes two distinct bindings + slf4j-log4j12.jar and slf4j-log4j13.jar in order + to differentiate between log4j version 1.2 and version 1.3. This + distinction is absolutely necessary because log4j 1.2 and 1.3 are + not run-time compatible, although they are mostly compile-time + compatible. +

+ +
+ +

October 19th, 2005 - Release of SLF4J 1.0-beta8 and NLOG4J 1.2.18

+ + +

Added a new SLF4J binding, slf4j-log4j.jar, intended to + be used in conjunction with vanilla log4j.jar, as + distributed by the Apache + Logging Services project. The slf4j-log4j binding is quite + similar in structure to the JDK 1.4 binding that existed + previously. +

+ +

The slf4j-log4j binding addresses compatibility problems which + arose when copies of both log4j.jar and nlog4j.jar + lay on the class path, in particular when it was undesirable or + impossible to remove the preexisting log4j.jar file. +

+ +

Methods in the org.slf4j.Logger interface related to + markers were moved to a separate super interface called + org.slf4j.MarkingLogger. This refactoring reduces + the weight of the + Logger interface. +

+ +
+ +

August 28th, 2005 - Release of SLF4J 1.0-beta7 and NLOG4J 1.2.17

+ +

Spurred by bug report + #3, SLF4J binding code has been refactored and + simplified. Logging systems implementing SLF4J interfaces have to + have less work in order to bind with SLF4J. Moreover, these changes + have no incidence on the published interface of SLF4J. +

+ + +
+ +

August 26th, 2005 - Release of SLF4J 1.0-beta6

+ +

To ease migration to SLF4J from JCL, this release includes a jar + file called jcl-over-slf4j-1.0.4.jar. This jar file can be + used as drop-in replacement for JCL version 1.0.4. It implements the + public API of JCL using SLF4J underneath. +

+ +

Thus, you can immediately benefit from the advantages of SLF4J + without waiting for all the libraries you depend on to migrate to + SLF4J first.

+ +
+ +

August 16th, 2005 - Release of NLOG4J 1.2.16

+ +

This release adds solves a compatibility problem between log4j + and nlog4j. Previous to this release, code compiled with log4j + would not run correctly with nlog4j. +

+ +

With the fixes introduced in NLOG4J 1.2.16, code compiled with + log4j 1.2.x will run without problems when deployed using NLOG4j. +

+ +

However, the inverse is not true. Code compiled with nlog4j can + only be deployed using nlog4j. +

+ +
+ +

August 12th, 2005 - Release of SLF4J 1.0-beta5 and NLOG4J + 1.2.15

+ +

This release adds support for the Marker interface. Thus, log + statements can be decorated with Marker data allowing more + expressive power in the processing of log statements. +

+ +

For the sake of IoC frameworks, Logger instances can + new be queried for their name. +

+ +

With the addition of markers, sub-domains are no longer + needed.

+ +

The LoggerFactoryAdapter has been simplified and + renamed as ILoggerFactory. +

+ +
+ +

July 5th, 2005 - Release of NLOG4J 1.2.14

+ +

This release fixes compatibility problems between NLOG4J and + Jakarta Commons Logging. +

+ +
+ +

June 28th, 2005 - Release of SLF4J 1.0-beta4 and NLOG4J + 1.2.13

+ +

Following discussions on the SLF4J developers list, the + signatures of the printing methods in org.slf4j.Logger + interface have been modified to admit messages of type + String instead of type Object as + previously. The current set of printing methods is listed below. +

+ +
+ void debug(String msg); 
+ void debug(String format, Object arg); 
+ void debug(String format, Object arg1, Object arg2); 
+ void debug(String msg, Throwable t); 
+
+ void error(String msg); 
+ void error(String format, Object arg;) 
+ void error(String format, Object arg1, Object arg2); 
+ void error(String msg, Throwable t); 
+      
+ void info(String msg); 
+ void info(String format, Object arg); 
+ void info(String format, Object arg1, Object arg2); 
+ void info(String msg, Throwable t); 
+      
+ void warn(String msg); 
+ void warn(String format, Object arg); 
+ void warn(String format, Object arg1, Object arg2); 
+ void warn(String msg, Throwable t);  
+ + +

NLOG4J release 1.2.13 reflects changes in the SLF4J API. +

+ +

You can download SLF4J and NLOG4J, including full source code, + class files and documentation on our download page. +

+ +
+ +

May 17th, 2005 - SLF4J version 1.0-beta-3 released

+ +

In response to user comments, the org.slf4j.ULogger + interface has been renamed as org.slf4j.Logger. +

+ + +
+ +

May 17th, 2005 - NLOG4J version 1.2.12 released

+ +

SLF4J.ORG is proud to release NLOG4J 1.2.12, a log4j-replacement + with native SLF4J API support. Except for users of LF5, chainsaw or + NTEvenAppender, NLOG4J should be considered as a 100% + compatible, drop-in replacement for log4j version 1.2.9. +

+ +

This release reflects changes in the SLF4J API, i.e renaming of + org.slf4j.ULogger interface as + org.slf4j.Logger. +

+ +
+ +

May 17th, 2005 - SLF4J version 1.0-beta-3 released

+ +

SLF4J.ORG is proud to release SLF4J 1.0-beta-3. In response to + user comments, the org.slf4j.ULogger interface has been + renamed as org.slf4j.Logger. +

+ +

You can download SLF4J, including full source code, class files + and documentation on our download page. +

+ +
+ +

May 14th, 2005 - NLOG4J version 1.2.11 released

+ +

SLF4J.ORG is proud to release NLOG4J 1.2.11, a log4j-replacement + with native SLF4J API support. Except for users of LF5, chainsaw or + NTEvenAppender, NLOG4J should be considered as a 100% + compatible, drop-in replacement for log4j version 1.2.9. +

+ +

You can download NLOG4J version 1.2.11, including full source + code, class files and documentation on our download page. +

+ +
+ +

May 4th, 2005 - SLF4J version 1.0-beta-2 released

+ +

SLF4J.ORG is proud to release SLF4J 1.0-beta-2. This release + contains cosmetic or javadoc changes. For example, the project has a + new logo. +

+ +

You can download SLF4J version 1.0-beta2, including full source + code, class files and documentation on our download page. +

+ + +
+ +

1 May 2005 - not-log4j-1.2.10 released

+ +

Subsequent to the recall of log4j 1.2.10, SLF4J.ORG releases + non-log4j-1.2.10 for those interested in SLF4J support in log4j. +

+ +

You can download not-log4j version 1.2.10, including full source + code, class files and documentation on our download page. +

+ +
+ + +

22 April 2005 - SLF4J project goes live

+ +

The SLF4J project site, including SVN repositories go + live. Users can download SLF4J version 1.0-beta1. +

+ +
+ +

15 April 2005 - start of work on SLF4J source code

+ +

Start of work on the SLF4j source code. +

+ +
+ +

13 April 2005 - start of work on SLF4J project

+ +

Launch of the SLF4J project. Work has begun on the web-site, svn + repositories as well as the source code. +

+ + + + +
+ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/support.html b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/support.html new file mode 100644 index 0000000..010a56b --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/support.html @@ -0,0 +1,43 @@ + + + + +Log4j Bridge + + + + + + + + +
+ +
+ +
+ +

Contractual Support

+ + +

The following companies, listed in alphabetical order, offer + contractual support for SLF4J. +

+ +
    +
  • QOS.ch, in Lausanne, Swizerland. For more information visit + QOS.ch's support page.
  • +
+ + + + +
+ + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/templates/footer.js b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/templates/footer.js new file mode 100644 index 0000000..92e88e2 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/templates/footer.js @@ -0,0 +1,28 @@ + +document.write('') + +document.write('') + +document.write(' ') + +document.write(' '); + + +document.write('') + +AAT = '@' +DOOTT = '.' +document.write('') +document.write('') +document.write('') + + +document.write('') + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/templates/header.js b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/templates/header.js new file mode 100644 index 0000000..35f75bc --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/templates/header.js @@ -0,0 +1,12 @@ + +document.write(''); +document.write('') + +//document.write('') + +document.write('
'); +document.write(''); +document.write(''); +//document.write(''); +//document.write('
'); +document.write(''); \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/templates/left.js b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/templates/left.js new file mode 100644 index 0000000..d04d400 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/templates/left.js @@ -0,0 +1,47 @@ + +document.write(''); + +document.write('

 

'); +document.write(''); + + +document.write('

 

'); +document.write('

'); +document.write(' '); +document.write(' buy direct from the developer'); +document.write(' '); +document.write('

'); + + + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/templates/right.js b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/templates/right.js new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/pages/templates/right.js @@ -0,0 +1 @@ + diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/css/anchor12.png b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/css/anchor12.png new file mode 100644 index 0000000..2cd97ac Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/css/anchor12.png differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/css/anchor16.png b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/css/anchor16.png new file mode 100644 index 0000000..c0676f4 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/css/anchor16.png differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/css/anchor20.png b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/css/anchor20.png new file mode 100644 index 0000000..76ca74b Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/css/anchor20.png differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/css/anchor24.png b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/css/anchor24.png new file mode 100644 index 0000000..13c433f Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/css/anchor24.png differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/PythonPowered.png b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/PythonPowered.png new file mode 100644 index 0000000..2e9d99c Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/PythonPowered.png differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/bindings.png b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/bindings.png new file mode 100644 index 0000000..4021c09 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/bindings.png differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/bridging.png b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/bridging.png new file mode 100644 index 0000000..b61c0a7 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/bridging.png differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/buyDirect.jpg b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/buyDirect.jpg new file mode 100644 index 0000000..dd2ff4c Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/buyDirect.jpg differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/concrete-bindings.png b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/concrete-bindings.png new file mode 100644 index 0000000..8af5e5b Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/concrete-bindings.png differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/devoxx09.jpeg b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/devoxx09.jpeg new file mode 100644 index 0000000..f6f38eb Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/devoxx09.jpeg differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/gnu-head-tiny.jpg b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/gnu-head-tiny.jpg new file mode 100644 index 0000000..441be50 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/gnu-head-tiny.jpg differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/jazoon09.gif b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/jazoon09.gif new file mode 100644 index 0000000..f386387 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/jazoon09.gif differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/legacy.png b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/legacy.png new file mode 100644 index 0000000..7a9d386 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/legacy.png differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/logos/qosLogo.png b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/logos/qosLogo.png new file mode 100644 index 0000000..52b216e Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/logos/qosLogo.png differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/logos/qoslogo.gif b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/logos/qoslogo.gif new file mode 100644 index 0000000..d06ec29 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/logos/qoslogo.gif differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/logos/slf4j-logo.jpg b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/logos/slf4j-logo.jpg new file mode 100644 index 0000000..62295c9 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/logos/slf4j-logo.jpg differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/logos/slf4j-small.jpg b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/logos/slf4j-small.jpg new file mode 100644 index 0000000..a26ab0c Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/logos/slf4j-small.jpg differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/logos/valid-html401.png b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/logos/valid-html401.png new file mode 100644 index 0000000..7cd17ee Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/logos/valid-html401.png differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/mailman.jpg b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/mailman.jpg new file mode 100644 index 0000000..94a4c01 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/mailman.jpg differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/myjob.png b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/myjob.png new file mode 100644 index 0000000..40b50d4 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/myjob.png differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/slf4j-migrator.gif b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/slf4j-migrator.gif new file mode 100644 index 0000000..27c126e Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/slf4j-migrator.gif differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/twitter-bird-light-bgs.png b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/twitter-bird-light-bgs.png new file mode 100644 index 0000000..188597e Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/images/twitter-bird-light-bgs.png differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/slf4j-in-10-slides.ppt b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/slf4j-in-10-slides.ppt new file mode 100644 index 0000000..8976db2 Binary files /dev/null and b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/slf4j-site/src/site/resources/slf4j-in-10-slides.ppt differ diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/src/main/assembly/source.xml b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/src/main/assembly/source.xml new file mode 100644 index 0000000..f2e04af --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/src/main/assembly/source.xml @@ -0,0 +1,307 @@ + + dist + + zip + tar.gz + + + + + slf4j-api/ + slf4j-api/ + + pom.xml + + + + + slf4j-jcl/ + slf4j-jcl/ + + pom.xml + + + + + slf4j-jdk14/ + slf4j-jdk14/ + + pom.xml + + + + + slf4j-log4j12/ + slf4j-log4j12/ + + pom.xml + + + + + slf4j-nop/ + slf4j-nop/ + + pom.xml + + + + + slf4j-simple/ + slf4j-simple/ + + pom.xml + + + + + slf4j-ext/ + slf4j-ext/ + + pom.xml + + + + + + jcl104-over-slf4j/ + jcl104-over-slf4j/ + + pom.xml + + + + + jcl-over-slf4j/ + jcl-over-slf4j/ + + pom.xml + + + + + jul-to-slf4j/ + jul-to-slf4j/ + + pom.xml + + + + + log4j-over-slf4j/ + log4j-over-slf4j/ + + pom.xml + + + + + slf4j-site/ + slf4j-site/ + + pom.xml + + + + + slf4j-migrator/ + slf4j-migrator/ + + pom.xml + + + + + integration/ + integration/ + + pom.xml + build.xml + osgi-build.xml + lib/* + + + + + + slf4j-api/src/ + slf4j-api/src/ + + + test/output/ + + + + + + slf4j-jcl/src/ + slf4j-jcl/src/ + + + + slf4j-jdk14/src/ + slf4j-jdk14/src/ + + + + slf4j-log4j12/src/ + slf4j-log4j12/src/ + + + slf4j-nop/src/ + slf4j-nop/src/ + + + slf4j-simple/src/ + slf4j-simple/src/ + + + slf4j-ext/src/ + slf4j-ext/src/ + + + jcl-over-slf4j/src/ + jcl-over-slf4j/src/ + + + jul-to-slf4j/src/ + jul-to-slf4j/src/ + + + log4j-over-slf4j/src/ + log4j-over-slf4j/src/ + + + slf4j-site/src/ + slf4j-site/src/ + + + slf4j-migrator/src/ + slf4j-migrator/src/ + + + integration/src/ + integration/src/ + + + + + + slf4j-api/target/ + / + + slf4j-api-${project.version}-sources.jar + slf4j-api-${project.version}.jar + + + + + slf4j-jcl/target/ + / + + slf4j-jcl-${project.version}.jar + slf4j-jcl-${project.version}-sources.jar + + + + + slf4j-jdk14/target/ + / + + slf4j-jdk14-${project.version}-sources.jar + slf4j-jdk14-${project.version}.jar + + + + + slf4j-log4j12/target/ + / + + slf4j-log4j12-${project.version}.jar + slf4j-log4j12-${project.version}-sources.jar + + + + + slf4j-nop/target/ + / + + slf4j-nop-${project.version}.jar + slf4j-nop-${project.version}-sources.jar + + + + + slf4j-simple/target/ + / + + slf4j-simple-${project.version}-sources*.jar + slf4j-simple-${project.version}.jar + + + + + + slf4j-ext/target/ + / + + slf4j-ext-${project.version}-sources*.jar + slf4j-ext-${project.version}.jar + + + + + + jcl-over-slf4j/target/ + / + + jcl-over-slf4j-${project.version}-sources.jar + jcl-over-slf4j-${project.version}.jar + + + + jul-to-slf4j/target/ + / + + jul-to-slf4j-${project.version}-sources.jar + jul-to-slf4j-${project.version}.jar + + + + log4j-over-slf4j/target/ + / + + log4j-over-slf4j-${project.version}.jar + log4j-over-slf4j-${project.version}-sources.jar + + + + + slf4j-migrator/target/ + / + + slf4j-migrator-${project.version}.jar + + + + + + target/site + /site + + dist/* + + + + + + + src/ + README* + LICENSE* + pom.xml + + + + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/src/main/javadocHeaders.xml b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/src/main/javadocHeaders.xml new file mode 100644 index 0000000..a0fccd4 --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/src/main/javadocHeaders.xml @@ -0,0 +1,10 @@ + + + /** + * + */ + + (\s|\t)*/\*.*$ + .*\*/(\s|\t)*$ + + \ No newline at end of file diff --git a/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/src/main/licenseHeader.txt b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/src/main/licenseHeader.txt new file mode 100644 index 0000000..cfef8df --- /dev/null +++ b/.idea/libraries/slf4j-1.7.5/slf4j-1.7.5/src/main/licenseHeader.txt @@ -0,0 +1,22 @@ +Copyright (c) 2004-2011 QOS.ch +All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..725f482 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,13 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..3e66c7e --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000..3877a14 --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,573 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + // + indexOf("// + 1000 + log + repos + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +